Sınıf Bilgileri
Sınıflar: 8-12 (öğrenciler bu sınıfa katılmak için en az 13 yaşında olmalıdır)
Ders süresi: Bir saat
Kullanılan araç: Fortnite Kreatif
Sınıf / öğrenme ortamı: Bire bir cihaz öğrenci oranına ve internet bağlantısına sahip Fortnite çalıştırabilecek bir cihaz. Bir bilgisayar laboratuvarı veya mobil dizüstü bilgisayar masası ideal ortamı sağlar.
Yazarla İletişim
Yazarlar: Steven Isaacs ve Brian Dickman
E-posta: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
SINIF/ÖĞRENİM ORTAMI AÇIKLAMASI
Bu ders, Bilgisayar Bilimleri Eğitimi Haftası sırasında Hour of Code için tasarlanmıştır.
Bu, tek başına bir ders olarak verilebilir veya daha büyük bir projeyi tamamlamak için diğer aktivitelerle birlikte kullanılabilir.
Yazar Steve Isaacs, Oyun Tasarımı ve Geliştirmeyi, öğrencilere içerik ve proje seçenekleri açısından kendi ilgi alanlarına göre öğrenme çıktılarını karşılamaya yönelik farklı yaklaşımlar alma fırsatları sağlayan, arayış veya seçime dayalı bir öğrenme ortamı olarak öğretir.
Yazar Brian Dickman bilgisayar bilimi okudu ve popüler video oyunlarında eğlenceli ve eğitici içerik üreten tam zamanlı bir oyun geliştirme stüdyosu işletiyor.
Derse Genel Bakış
Bilgi kulesinden kaçmak için gereken cesarete sahip misin? Daha da önemlisi, kuleden kaçış bilgi yarışması oluşturabilir misin?
Bu etkinlik, oyuncunun kaçabilmesi için bazı soruları yanıtlamasını gerektiren bir oyun yaratmanı isteyerek Fortnite Kreatif'te fonksiyonların kullanımını gösterir. Her doğru cevap, ödüllendirme sesi ve bir görsel efekt ile birlikte oyuncunun ilerlemesini sağlayan fonksiyonu tetikler. Yanlış cevaplar kulağa pek hoş gelmeyen bir ses ve görsel efekti tetikler ve oyuncunun yeniden denemesini gerektirir.
Öğrenciler bir sıralayıcı ve çeşitli cihazlar kullanarak bu etkinliği tamamladıklarında, fonksiyonlar ve kodlama arasındaki ilişki hakkında temel bilgiler edinirler.
İstenen Sonuçlar
Öğrencilerin öğrenecekleri şeyler nelerdir?
ÖNEMLİ SORULAR/BÜYÜK FİKİRLER
Öğrenciler, bilgisayar bilimi kavramlarını yalnızca sözdizimini ayrı bir beceri olarak öğrenmek yerine anlamlı bir etkinliğin parçası olarak öğrenebilirler mi?
Fortnite Kreatif'te bir etkinlik ile fonksiyonlar gibi bilgisayar bilimi kavramlarını öğrenmek, kodlama ortamlarında da aynı kavramı anlamamızı sağlayabilir mi?
Öğrenciler, oyun mekanikleri aracılığıyla bilgisayar bilimi konseptlerini öğrenebilir mi?
Kavramlar bir oyun ortamında tanıtıldığında öğrenciler bilgisayar bilimlerini öğrenmek için daha fazla motivasyon gösterecekler mi?
Öğrenme Etkinlikleri
Fonksiyonlara Giriş
Fonksiyon genellikle, kapsamlı bir kod yapısında rolü doğrultusunda tanımlanan bir kod birimidir. Daha doğrusu, fonksiyonlar çeşitli girdilere etki eden bir birim kod içerir ve girdilere bağlı olarak değişken değerlerine veya asıl işletime değişiklikler yapan somut sonuçlar üretir.
Kaynak: Techopedia.com
Daha basit bit şekilde söylemek gerekirse:
Fonksiyon, kolayca tekrar tekrar çağırabileceğin bir kod parçasıdır.
Kaynak: https://code.org/tr
Örneğin, bu dersin etkinliği öğrencilerden Fortnite Kreatif'te bir bilgi yarışması yapmak için çeşitli fonksiyonları kurmalarını ister. Temelde sıralayıcı tarafından temsil edilen her fonksiyon oyunda cihazları kullanarak bir dizi komut gerçekleştirir.
Sözde kod, bir kodun temsil edeceği fikri göstermek için o kodun yazımını simüle etme eylemidir. Sözde kod genel yapıyı göstermekle birlikte, doğru sözdizimini takip etmeyebilir. Bu derslerde kavramlar kimi zaman sözde kod kullanılarak sunulur.
Sözde kod, şu örneğe benzeyebilir:
1. Fonksiyon (askQuestion): raundu başlatma/oyuncuya bir soru sorma 2. Fonksiyon (startTimer): geri sayım süreölçeri
benimFonksiyonum(soruSor) Şunları yap: Cevap Butonlarını Sıfırla Sesi çal Bilgi sorusu için rastgele bir sayı seç Soruyu Sor benimFonksiyonım(gerisayımıBaşlat) Gerisayımı başlat Gerisayım sıfıra ulaşırsa Süre biter Sesi çal Mesajı Göster ("Ne yazık ki zamanında cevap veremedin") Sıradaki soruyu etkinleştir Fonksiyonu bitir. Fonksiyonu bitir.
3. Fonksiyon: (correctAnswer) benimFonksiyonum(doğruCevap) Şunları yap: Mutlu sesi çal Mesajı göster ("Doğru! Tebrikler!") Puan ver Sıradaki soruyu etkinleştir FonksiyonuBitir FonksiyonuBitir
4. Fonksiyon: (wrongAnswer) benimFonksiyonum(yanlışCevap) Şunları yap: Kötü sesi çal Mesaj Göster ("Tekrar dene!") Sıradaki soruyu etkinleştir FonksiyonuBitir
Yukarıda verilen örnekte (SoruSor) fonksiyonu başlatıldığında bazı şeyler gerçekleşir:
Yanıt butonlarını sıfırla.
Soru sorulacağını göstermek için bir ses çal.
Hangi bilgi sorusunu soracağını belirlemek için rastgele bir sayı seç.
Soruyu oyuncuya sun.
Sonra aşağıdakileri yapan (gerisayımıBaşlar) fonksiyonunu tanıtıyoruz:
Geri sayımı başlat.
Zaman biterse soruyu cevaplama fırsatını sonlandırmak için bir ses çal.
(doğruCevap) ve (yanlışCevap) adlı iki fonksiyon daha ekliyoruz. Bu fonksiyonlar aşağıdaki işlemleri başlatır:
Ses çal.
Uygun olduğunda skoru düzelt.
Bir mesaj görüntüle.
Bir sonraki soruyu etkinleştir.
Aşağıda fonksiyonları açıklayan bir video bulabilirsin:
CS Principles: Defining and Calling Functions
Fonksiyonlar tüm kodlama dillerinde kullanılabildiği gibi, Fortnite Kreatif gibi ortamlarda da kullanılabilir.
Fortnite’ta Sequencer cihazları kullanacak ve olaylarımızı/eylemlerimizi Sequencer’a yerleştireceğiz. Böylece Sequencer etkinleştirildiğinde içindeki eylemler yürütülecektir.
Etkinlikler
Aktivite için adım adım talimatlar için Öğrenci Kılavuzuna ve Öğretmen Notlarına bakın.
Öğrenciler, Öğrenci Kılavuzu'na erişmeli ve buradan çalışmalıdır.
Öğrenci çalışmalarını değerlendirmek için indirilebilir yönerge listesini kullanın.
DIŞ KAYNAKLAR
CS Principles: Intro to Variables Part 1 CS Principles: Intro to Variables Part 2 Definition of variables
Standart Eşleştirmesi
Öğrenciler için ISTE Standartları
Öğrenciler için CSTA Standartları
1A-AP-09 Bilgileri temsil etmek için sayıları veya diğer sembolleri kullanarak programların verileri depolama ve işleme şeklini modelle.
1B-AP-10 Diziler, olaylar, döngüler ve koşullar içeren programlar oluştur.
1B-AP-12 Yeni bir şey geliştirmek veya daha gelişmiş özellikler eklemek için mevcut bir programın bölümlerini değiştir, yeni bir şeye dönüştür veya kendi çalışmana dahil et.
1B-AP-15 Bir programı veya algoritmayı amaçlandığı gibi çalıştığından emin olmak için test et ve hatalarını ayıkla (hataları tanımla ve düzelt).
2-AP-10 Karmaşık sorunları algoritma olarak ele almak için akış şemalarını ve/veya sözde kodu kullan.
2-AP-13 Programların tasarımını, uygulanmasını ve gözden geçirilmesini kolaylaştırmak için sorunları ve alt problemleri parçalara ayır.
2-AP-14 Kodu organize etmek ve yeniden kullanılmasını kolaylaştırmak için parametrelere sahip prosedürler oluştur.
2-AP-17 Bir dizi test senaryosunu kullanarak programları sistematik olarak test et ve iyileştir.
3A-AP-13 Öğrencilerin önceki bilgilerini ve kişisel ilgi alanlarını kullanarak hesaplama problemlerini çözmek için algoritmalar kullanan prototipler oluştur.
3A-AP-16 Talimatları başlatmak için olayları kullanarak pratik amaç, kişisel ifade veya toplumsal bir sorunu ele almak için hesaplama yapılarını tasarla ve yinelemeli olarak geliştir.
3A-AP-17 Prosedürler, modüller ve/veya nesneler gibi yapıları kullanarak sistematik analiz yoluyla problemleri daha küçük bileşenlere ayır.
3A-AP-18 Program içinde prosedürler, veri ve prosedürlerin kombinasyonlarını veya bağımsız ancak birbirleriyle ilişkili programlar kullanarak olgular oluştur.
3A-AP-22 İşbirliği araçlarını kullanarak ekip rollerinde çalışan hesaplama yapıları tasarla ve geliştir.
DİSİPLİNLERARASI BAĞLANTILAR VE 21. YÜZYIL BAĞLANTILARI
Bu ders, kodlama/Bilgisayar Bilimi ile ilgili alanları kapsar.
21. Yüzyıl Bağlantıları:
Eleştirel düşünce
Yaratıcılık
İşbirliği
İletişim
Teknoloji okuryazarlığı
Esneklik
Liderlik
Girişim
Sosyal beceriler
DEĞİŞİKLİKLER VE DÜZENLEMELER
Öğrenci ihtiyaçlarına, IEP, 504, vb. göre uygun değişiklikleri ve düzenlemeleri sağlayın.
Öğrenciler, eşleştirilmiş bir programlama yaklaşımını entegre etmek için ekipler halinde çalışabilirler.
Öğrencilerin yapılarını bozmaları/değiştirmeleri için örnek harita sağlanabilir.
Gerekirse uyarlanabilir kumandalar/oyun kumandaları sağlayın.