Bu Blogda Ara

Java Öğreten Oyun (CodeSpells)

California Üniversitesi'ndeki Bilgisayar Yazılım Uzmanları Java İçin Kod Yazmadaki Teoriyi Öğreten Video Oyunu Geliştirdiler

   Günümüzde kullanılan en yaygın programlama dili olan Java’da kod yazmayı ilkokul düzeyinde lise bilgi düzeyinde olan herkesin rahatlıkla bu oyunu oynayarak uygulama geliştirebilecek alt yapıyı varen birinci şahıs oyunculu bir video oyunu (First-Person Player Video Game) tasarladılar.

    Yapılan araştırmalarda, hayatında programlama ile ilgili hiçbir şekilde eğiitim almamış ve ilgi duymamış olan 10-12 yaşları arasındaki 40 kişilik kız çocuğu grubu üzeinde bu oyunu test ettiler ve bulgularını detaylı olarak Denver'de Sigcse konferansında araştırmaları kapsamındaki sunduklarına göre sadece 1 saatlik oynamaları sonucu kızların Java'daki birçok bileşenin kullanımı ile ilgili uzmanlaştıkları ve Java dilini kullanarak oyunda oynamanın farklı yollarını keşfettikleri de kayda değer birşey.

  Bu oyunu yazan bilgisayar bilimcileri ücretsiz olarak yayınlamayı planlamaktadır. Araştırma kapsamında San Diego'daki ilkokullarda test sonuçlarını daha kararlı hale getirmek için çalışmalar devam etmektedir.

Screen shot 2013-04-16 at 2.01.35 PM
    İlkokuldan lise düzeyine kadar yetkin öğretici bulmanın zor olmasından dolayı Griswold’un belirttiği üzere Üniversite düzeyinin altında bilgisayar bilimi öğretimi zor olmaktadır. Bu nedenle o ve onun mezun öğrencileri, bu öğrencilere sınıf dışında erişmenin bir yolunu bulmaya çalışmak üzere yola çıkmışlardır. Programlamanın öğrencileri engelleyen ve şevklerini kıran zorlukları ile başa çıkmalarını sağlayacak bir oyun tasarladılar. CodeSpells’in geliştiricilerinden olan mezun Sarah Esper’e gore teknolojinin gittikçe çok daha önemli olduğu bir toplumda öğrencilere nasıl programlama yapacaklarını öğretmek bir önceliktir. Yine başka bir mezun olan Stephen Foster’ın söylediğine göre programlama mantıksal düşünmeyi öğretir. Foster “Öğrencilerin video oyunlarına bağlılıkları arttıkça programlama öğrenmeye de bağımlılıklarının artacağını umuyoruz.” şeklinde düşüncelerini dile getirmiştir.

CodeSpells Nasıl Çalışıyor?

    CodeSpells’in hikaye akışı oldukça basittir: oyuncu bir sihirbaz olarak cücelerin yaşadığı bir kara parçasına varmaktadır. Cüceler eskiden sihiri kullanırlarken artık bazı noktalarda sihiri kaybetmişlerdir. Sihirbazın onlara yardım etmesi gerekmektedir.
Büyüler Java’da yazılmakta ve oyuncular, oyundaki nesneleri havalandırma, uçma ve ateş yakabilme gibi 7 büyünün erişimine sahiptirler. Oyuncular, kendilerini oyun büyülerinde yetkinleştirmelerine yardımcı olacak görevleri tamamlayarak rozet kazanabilirler. Bir görev ırmağın diğer yakasına geçmeyi gerektirir. Bir diğeri sıkıştığı kulübenin çatısından cüceyi kurtarmayı gerektirir. Bir diğeri ise  büyük bir şenlik ateşi yakmayı gerektirir. Oyuncular oyunun ilk seviyesini bitirdiklerinde Java programlama dilinin parametreler, for-if ifadeleri, for ve while döngüleri ve başka beceriler gibi temel bileşenlerini öğrenmiş olurlar.

Oyunun Test Edilmesi

    Araştırmacılar oyunu yaşları 10 ile 12 arasındaki 40 kişilik bir kız çocuğu grubu üzerinde test ettiler. İlk olarak öğrencilere oyun arayüzü ile nasıl kod yazıp düzenleyebileceklerine dair oyunun tekniklerini de kapsayan genel bir açıklama verdiler. Kız çocukları 2şerli ve 3erli gruplara ayrıldılar. Araştırmacılar onları oyunu keşfetmeleri ve ne yapabileceklerini görmeleri için teşvik ettiler. Araştırmacılar “Yapılandırılmamış öğrenme ortamını teşvik etmeyi umduğumuz için çok belirli olmamaya karar verdik.” şeklinde açıklama yaptılar.
    Öğrenciler oyun bitip de durmak zorunda olduklarında hayal kırıklığı yaşadılar. Kod yazarken yaptıkları hatalar oyuna ilgilerini azaltmadı. Bunun yerine, hatalarını oyunun imkanlarını keşfetmek için bir araç olarak kabul ettiler. Örneğin, bir grup, sihirbazlarının erişemediği kadar yükseğe bir nesneyi havalandırmada hata yaptılar. Bunun üzerine kızlar sihirbazlarını başka bir nesnenin üzerine zıplatıp diğer nesneye erişebileceği kadar yükseğe havalandırdılar. Kızlar bu durum karşısında yetkin hissettiklerini raporladılar. Bir zorlukla karşılaştıklarında, problemi çözene kadar farklı sihirleri denediler  ve kodlarda değişiklik yaptılar.
Screen shot 2013-04-16 at 2.02.11 PM

Bilgisayar Bilimi Öğrenme Teorisi

    CodeSpells, Esper ve Foster’ın başarılı programcıların işlerini nasıl öğrendiğine dair yaptıkları çalışmadan büyük ölçüde etkilenmiştir. 30 bilgisayar bilimciyle yapılan araştırmalar sonucunda sınıf dışındaki ortamlarda programlamayı öğrenmek için 5 kilit nokta ortaya koyulmuştur:
  • Öğrenme yaratıcı ve keşfedici olmalıdır.
  • Programlama güç vericidir.
  • Bir kez başlandı mı durmak zor olmaktadır.
  • Öğrenciler etkinlik üzerinde sınırsız zaman harcamaktadır.
    Araştırmacılar bulgularını 2013 SIGCSE çalışmasında özetlemişler ve mizahi bir şekilde şu başlığı vermişlerdir: “Ateşin Doğası ve Orda Bulunmadığın Halde Kıvılcımı Nasıl Ateşlersin?”
    CodeSpells, 18 Nisan’da California Üniversitesi Jacobs Mühendislik Fakültesi’nde yapılacak olan “Research Expo”da çalışmasını sunacaktır.
Kaynak: