02262017Pz
Last updatePzt, 20 Şub 2017 11am


Çocuklara Programlama öğretmek için 6 araç

Dünyamız daha çok teknoloji odaklı hale geldikçe; artık çocuklarımıza bilgisayar kullanmasından çok, bilgisayarı, programları ve oynadıkları oyunları kendi kendilerine nasıl inşa edeceğini öğretmeliyiz.

?Öğrencilerin bilgisayar bilimleri ile ilgilenmeye başlamasına ihtiyacımız var ve erken yaşta  olmalı çünkü bilgisayar bilimlerini başarıp başaramayacağını ya da bilgisayarın donuk ve sıkıcı olduğuna karar vermeleri lazım? diyor, Alfred Thompson, Microsoft'un K- 12 Bilgisayar Bilimi Akademik İlişkiler Müdürü.

Bir bilgisayar öğretmeni (Bilişim Teknolojileri Öğretmeni) olarak şu anki Bilişim Teknolojileri Dersi eğitim içeriğinden yakınıp dururuz. Çocuklar office programlarını kolayca öğrenebiliyorlar ve derste bunları dinlerken de sıkılıyorlar. Kişisel fikrim içeriğin yetersiz kalması.

Piaget ne kadar ilkokul dönemindeki çocukların somut işlemler döneminde olduğunu savunsada, bilgisayar programlama ise soyut işlemler dönemi hitap etse de, artık Dünyada Bilişim?i değerli gören eğitim kurumlarınca K12 seviyesi (ilköğretim öğrencileri) ?nde bilgisayar programlamanın öğrenciler tarafından yapılabildiği görülmüştür.

Tabii ki çocuklarımıza kalkıp C# öğretmek gibi bir niyetimiz yok. Bilgisayar bilimlerinde de onların yaşlarına göre programlar var. Bunlara kısaca bir göz atalım.

 1. SCRATCHscratch

scratch 2scratch 1

Scratch; MIT Media Lab tarafından, 8 yaş ve üzerindeki çocuklar için geliştirilmiş bir  grafik programlama dilidir. 2007 de duyrulduğundan bu yana yaklaşık bir milyon proje geliştirilmiştir ve http://scratch.mit.edu/ adresinde paylaşılmaktadır. Projeleri bilgisayarınıza indirip inceleyebilirsiniz. Scratch; Mac, Linux ve Windows bilgisayarlarda çalışabilmektedir.

Değerli öğretmenlerim ve bilişimciler: eğer konu ile ilgilenscratch1iyorsanız; http://wiki.scratch.mit.edu/wiki/Scratch_Wiki size yardımcı olacaktır.

Sitedeki bir kaç projeyi inceledim de; çocukların hayal gücü ve programlamayı birleştirerek çok iyi ve kaliteli ürünler ortaya çıkarılabilir.


 2.APP INVENTOR

app inventor1app inventor2

App Inventor, andorid için uygulama geliştirmenize yardımcı oluyor. App Inventor da, Scratch gibi MIT?li. Projeye Profesör Harold Abelson tarafından yönetiliyor. Ve Proje yöneticisinin NewYork Times?a verdiği bir röportajda ?App Inventor insanların mobil dünyada sadece müşteri değil, uygulama yaratısıcı olmasına da izin veriyor? diyor.

App Inventor da eğitimde kullanılabilecek teknolojik araçlardan birisi.Eğer App Inventor ile ilgilenirseniz; App Inventor Google Grubu?na bakmanızda fayda var.

 
3. ALICE

alice skater 1alice 2

Alice; öğrencilere nesne yönelimli ve olay yönlendirmeli programlama öğretmek amacıyla tasarlanmış ücretsiz ve açık kaynaklı 3D programlama ortamıdır. Alice öğrencilere, sürükle-bırak, nesneye hareket kazandırma ve oluşturma gibi araçlar sağlar. Alice?in bir çeşidi olan Storytelling Alice; Caitlin Kelleher?in Carnegie Mellon Universitesi Bilgisayar Bilimleri?ndeki doktora çalışması olarak geliştirildi.

alice_skater (Kişisel görüşüm: Staja gittiğim 1 yıl içerisinde öğrenciler dersin hemen bitip oyun oynamaya geçmesi için can atıyorlardı. Öğrencilerimiz; onların zamanını alan basit elbise giydirme, araba yarışı oyunları oynamak yerine, onların sizihnsel gelişimine de katkıda bulunabilecek ve yaratıcılıklarını geliştirebilecek kendi oyunlarını geliştirebilirler. Böylece bilgisayar zaman alıcı sıkıcı bir uğraş olmaktan çıkacaktır. Bilgisayar eğlence olmaktan çıkacaktır. )

 
4. LEGO MINDSTORMS

lego-mindstorm-nxt Lego Mindstorms NXT 3

Lego Mindstorms NXT, Massachussetts Institute of Technology (MIT) araştırmacıları
tarafından tasarlanıp Lego şirketi tarafından üretilen bir ilköğretim öğrencisinin bile
kendi başına robot geliştirebilmesine imkan veren yeni bir teknolojidir.

Lego Mindstorms setinde; Lego teknik tuğlaları, bilgisayar tarafından kontrol edilebilir bir mikro işlemci , mikro işlemciyi kolay bir şekilde programlamaya imkan veren grafik ara yüzüne sahip bir yazılım , sensörler (sese , ışığa , uzaklığa ve dokunmaya duyarlı) ve hareket sağlamak için motorlar bulunmaktadır. Klasik anlamda robot geliştirme süreci mekanik , elektronik ve bilgisayar alanlarında üst düzey bilgi ve beceri geliştirmektedir. Oysa Lego teknik tuğlalarının birleştirilmesiyle robotun mekanik yapısı , hazır mikro işlemci ve sensörler sayesinde robotun elektronik kısımları ve yazılımdaki simgelerin sürükle bırak yöntemi ile robotun programlanması kolay bir şekilde yapılabilmektedir.
Milimetrik hareketler bile yaptırılabilen servo motorlar , ışık sensörü , dokunma sensörü , ses sensörü ve önündeki engelleri tespit edebilen bir ultrasonik sensör yer alıyor. Bunların yanında tabii ki birçok LEGO bağlantı parçası, dişli çarklar, tekerlekler vs. de mevcuttur.

LEGO MINDSTORMS NXT?nin beyni,ARM7 mikroişlemci kullanılan NXT adlı bir atanmış kontrolördür. NXT,dahil Bluetooth aracılıyla, bilgisayarla iletişim kurabilme ve kendi için özel
olarak tasarlanmış üç adet motoru sürebilme özelliğine sahiptir. Bu çalışmada iki adet motor
robotun doğrusal hareketi için, ve diğer motor ise robot kolunun hareketini sağlamak için kullanılmıştır. Yükün robotlar tarafından kavranması için fazladan bir serbestlik dercesine olan ihtiyacı ortadan kaldırmak amacıyla, sonlandırıcı olarak sürekli mıknatıslar ve yük olarak ise metal uçlu bir çubuk seçilmiştir.

ÖZELLİKLERİ

  • Programlanabilir tuğla:  32-bit mikroişlemci limanları ile dört giriş ve üç çıkış
  • Konektörü: USB 2.0 veya Bluetooth
  • Ekran: Siyah ve beyaz matris ekran
  • Sensörleri: İki dokunmatik sensörler, bir Renk / Işık sensörü, bir ultrasonik sensör
  • Motorlar: interaktif servo motorlar ile üç yerleşik bir artışlarla bir derece içinde ölçebilirsiniz rotasyon sensörü.
  • Yazılım: LabVIEW gelen National Instruments tarafından desteklenen dil programlama Gelişmiş grafik. (Yazılım Mac ve PC uyumlu gör.)
  • Adet: 619
  • Yaş:10 ve yukarı
    NXT TEKNOLOJİSİNE GENEL BAKIŞ
    Dokunmatik Sensör:Dokunmatik sensörü birçok şeyi yapmak için kullanabilirsiniz. Robotunuzun bacağına bağlı bir dokunmatik sensörü varsa size katetdiği mesafeyi ölçerek size bildirir. Robotunuz herhangi bir engele takıldığında bunu size onu tanımlayarak bildirebilir.Ayrıca dokunmatik sensörü robotunuza komut vermek içinde kullanabilirsiniz. Örneğin, robotunuzun konuşmasını, yürümesini, kapıyı kapamasını veya televizyonu açmasını sağlayabilirsiniz.
    Kızılötesi Sensörü:Bu sensör robotunuza görme yeteneği veren diğer sensördür. Robotunuzun nesneleri algılamasına imkan sağlar. Ayrıca bu sensör ile robotunuzun ellere çarpmasını, mesafeyi fark edip ölçmesini ve hareketlerini belirlemesini sağlayabilirsiniz. Kızılötesi sensörü NXT ekranında cisimlerin uzaklığını cm(santimetre) ve inc olarak ölçer. 0 ile 255 cm arasındaki uzaklık değerlerini %3? lük bir hata payı ile ölçer. Kızılötesi sensörü yarasalarda bulunan bilimsel ilkeyi kullanır: Gönderdiği ses dalgalarının bir cisme çarpıp geri dönmesiyle mesafeyi ölçer.Geniş yüzeyli cisimlerin uzaklıklarının ölçülmesinde daha iyi sonuç verir. Yumuşak maddeden oluşan veya yuvarlak, ince ve küçük nesnelerin mesafelerinin ölçülmesi daha zordur. Ayrıca bir oda içerisindeki iki veya daha fazla kızılötesi sensörünün aynı anda çalışması birbirlerinin uzaklığı doğru okumasına engel teşkil edebilir.
    Renk Sensörü:Renk sensörü robotunuza görme özelliği veren sensörlerden bir tanesidir. Renk sensörü üç farklı işleve sahiptir. Bu sensör robotunuzun renkleri, aydınlık ve karanlık gibi durumları ayırt etmesini sağlar. Sensör altı farklı rengi algılayabilir, bir odadaki ışık yoğunluğunu okuyabilir aynı zamanda renkli yüzeylerin ışık yoğunluğunu ölçebilir. Renk sensörü aynı zamanda renkli bir lamba olarak da kullanılabilir.
    Sensörü Işık Sensörü Olarak Kullanma: Sensör tek bir ışığın yoğunluğunu ölçmek için kullanılabilir. Kırmızı renk için ayarlanırsa bir ışık sensörü gibi davranır mavi ve yeşil renklere ayarlanırsa farklı sonuçlar üretir.Sensör yansıyan ışığın veya ortamın ışık yoğunluğunu ölçmek için kullanılır. Yansıyan ışığın yoğunluk değeri ölçülürken herhangi üç renkten biri parlayabilir.
    İnteraktif servo motorlar: Üç servo motor robotunuza hareket etme yeteneği kazandırır. Yazılımınızın içindeki hareket bloğunu motorlarınızı programlamak için kullanırsanız her iki motorunuz otomatikman birlikte hareket edecektir. Böylece robotunuz düz bir çizgi üzerinde hareket edecektir.
    Dahili Dönüş Sensörü:Her motorun dönme işlemi için bir sensörü vardır. Bu sensör robotunuzun hareketlerini doğru şekilde kontrol etmenizi sağlar. Motorunuzun dönüş derecesini veya tam dönüşünü %1?lik hata payı ile ölçer. Bir tam dönüş 360 derece ise 180 dereceye ayarlarsanız yarım dönüş yapmış olursunuz.
    BLUETOOTH KULLANIMI
    Bluetooth herhangi bir kablo veya tel kullanılmaksızın veri gönderip almayı sağlayan bir teknolojidir. Bu teknolojiyi kullanarak bilgisayarınız ile NXT veya NXT cihazınız ile diğer NXT cihazları arasında program alış-verişi yapabilirsiniz. Ayrıca uzaktan kontrol amacıyla bilgisayarınız ile robotunuz arasında bağlantı kurabilirsiniz. Eğer bilgisayarınızda NXT uyumlu bluetooth özelliği yok ise USB destekli bir bluetooth aygıtı kullanmalısınız.
    SİSTEM GEREKSİNİMLERİ
    Microsoft Windows
    • Windows XP Profesional veya Home Edition
    • Service Pack 2
    • Minimum 800 MHz Intel Pentium işlemci
    • Windows Vista Service Pack 1
    • Minimum 1GHz Intel Pentium işlemci
    • CD-ROM sürücüMinimum 512 MB RAM
    • 700 MB boş disk alanı
    • XGA(1024×768) ekranU
    • SB port(giriş)
    • Bluetooth Adaptörü

http://www.youtube.com/watch?v=VW7dh3fdYlA&feature=player_embedded

http://www.youtube.com/channel/HC2zuFWr5hXDE

http://www.philohome.com/mindstorms.htm

http://www.philohome.com/gbc/gbc.htm

http://hub.webring.org/hub/legoms

http://www.teamhassenplug.org/robots/legway/

http://www.visi.com/~dc/

http://www.texbrick.com/

 

5-SMALL BASIC

Small-Basic

Small Basic, Microsoft tarafından DevLabs bünyesinde çocuklar ve gençler için geliştirilen açık kaynak bir programlama dilidir. Programlamaya yeni başlayanlar için son derece kolay, anlaşılır ve eğlenceli hale getirmek üzere tasarlanmış olan bir programlama dilidir. Small Basic?in amacı, engeli aşağıya çekmek ve şaşırtıcı bilgisayar programlaması dünyasına bir atlama taşı olarak görev yapmaktır. Çocuklar için ve ya algoritma öğrenmek isteyen yetişkinler ve programlamayı öğrenmeye başlayanlar için iyi tercih olacaktır.

Game Master  :
http://www.yoyogames.com/

game makerGame Maker 6.1 arabirimi

Game Maker, Prof. Mark Overmars tarafından Delphi programlama dili ile geliştirilmiş bir oyun yapımı programıdır.

Game Maker'ın ücretli sürümü ve ücretsiz sürümü vardır. Ücretsiz sürümü dll kullanımı, multiplayer oyun desteği ve gelişmiş GML (Game Maker Language) komutları gibi bazı özellikleri desteklemez. Ücretli sürümünde ise bu sınırlamalar bulunmamaktadır. Game Maker'ın ücretsiz veya ücretli sürümü kullanılarak oluşturulan oyunlar herhangi bir lisans ile dağıtılabilir ya da satılabilir.

Game Maker, exe uzantılı dosyalar üretir. Programın kaynak kodunun dosya formatı sürüm 4 ve 5 için gmd, sürüm 6 için gm6, sürüm 7 ve 8 için gmk'dır.

 Temel Özellikler

Game Maker Direct3D kullanır ve sınırlı da olsa 3 boyutlu grafik ve modellere destek verir.

Programdaki partikül sistemi ile yağmur, kar, bulutlar, ateş, yıldırım, duman, patlama ve daha birçok efekt oluşturulabilir. Programın içinde bulunan aksiyon kütüphanesinde birçok hazır efekt vardır. Aksiyon kütüphanesi haricinde istenirse GML ile tamamen kullanıcıya özgü bir efekt geliştirilebilir.

Aksiyon kütüphanesi bir oyunun yapımında gerekebilecek temel işlemleri kod yazmadan kullanabilmek için geliştirilmiştir. Örnek olarak, bir patlama efekti sürükle-bırak yöntemi ile oyuna eklenebilir, efektin rengi, boyutu ve nerede gözükeceği gibi ayarlar tek satır kod yazmadan belirlenebilir. Hazır aksiyonlar kullanarak karmaşık oyunlar geliştirilebilse de, Game Maker'ın gerçek gücünün ortaya çıkması için GML dili kullanılmalıdır.

Game Maker dll'ler ve ek aksiyon kütüphaneleri ile geliştirilebilir. dll desteği sayesinde Game Maker'a birçok özellik eklenebilir. Buna verilebilecek en iyi örnek MySQL desteğidir.

Game Maker, içinde resim düzenleyicisi ile birlikte gelir. Resim düzenleyicisi profesyonel özelliklerden yoksun olsa da temel işlemler için oldukça yeterlidir. Game Maker ile grafiklerin yanı sıra seslere de efekt verebilmek mümkündür, ama bu özellik çok sınırlıdır.
Game Maker, betik dili ile oldukça esnek bir geliştirme ortamı sağlamasının yanı sıra, sürükle-bırak yöntemleri ile programlamaya yabancı olanların da kolayca oyunlar geliştirebilmesi için yaratılmış bir programdır.

Game Maker, daha çok 2 boyutlu oyunlar üzerine yoğunlaşmıştır. Ancak diğer benzer programların aksine oldukça esnektir ve çeşitli tiplerde oyunlar geliştirmeye uygundur. Bu oyunlara örnek olarak platform oyunları, simülasyonlar, FPS, TPS ve multiplayer oyunlar da verilebilir. Programın kullanımı diğer oyun yapma programlarına göre çok daha kolaydır. Program içerisinde örnek oyunlar da mevcuttur.

Bir Game Maker projesi çeşitli bölümlerden oluşur:

    Odalar: Bir oyunu çalıştırabilmek için en azından bir oda oluşturmak gerekir. Oyun ile ilgili her şey odalarda geçer ve her şey odalar sayesinde ekrana yansıtılır. Bir oyunun her bölümü farklı bir odada geçebilir. Aynı zamanda her arabirim ekranı için de ayrı bir oda kullanılabilir (giriş, ayarlar, bölüm seçimi ekranları, vb.). Oda sayısı tercihi kullanıcıya bırakılmıştır .
    Nesneler: Nesneler oyunun iş yapan parçalarıdır. Nesneler oyundaki her türlü varlığı (karakterleri, düşmanları, kurşunları, duvarları vb.) canlandırır. Aynı zamanda görünmez nesneler de olabilir. Görünmez nesnelerin amacı belirli kodları çalıştırmaktır. Örnek olarak, oyunda her 20 saniyede bir düşman çıkmasını sağlayan kod görünmez bir nesne ile çalıştırılabilir. Nesneler "olaylara" tepki verirler. Bir nesnenin oluşturulmasını, yok olmasını, üzerine tıklanmasını, odanın dışına çıkmasını, başka bir nesne ile çarpışmasını, klavyeden bir tuşa basılmasını ve benzeri birçok olay nesnelere örnek olarak verilebilinir. Olaylar aksiyonları çağırır. Aksiyonlar bir olay gerçekleştiğinde ne olacağını belirlerler. Aksiyon listesine aksiyon kütüphanesinden hazır aksiyonlar konulabileceği gibi GML kodları yardımı ile oluşturulan aksiyonlar da çalıştırılabilir.

  •     Sprite'lar: Her türlü grafik ve animasyonları oluştururlar. Nesnelere oyun tasarımı sırasında atanabilir ya da dinamik olarak çizdirilebilirler.
  •     Betikler: Betikler kodları oluştururlar. Nesnelerin içinden çağrılırlar.
  •     Yazı tipleri: Oyunda kullanılacak yazılar farklı yazı tiplerinde olabilir. Ayrıca, eklenen yazı tipleri kullanıcının bilgisayarında olmasa da çalışır.
  •     Sesler: Oyuna eklenen her türlü sesler.
  •     Arkaplanlar: Oyunda kullanılacak arkaplan resimleridir. Bir grafik herhangi bir aksiyon içermiyorsa arkaplan olarak eklenmelidir.
  •     Yollar: Belirli bir yolu izlemesi istenen nesneler için yollar tanımlanabilinir. Örnek olarak, oyunda sürekli belirli bir alanda dolaşan bir karakter için bir yol belirlenebilir.
  •     Zaman Çizelgeleri: Nesnelere belirli zamanlanmış görevler yaptırmak için kullanılırlar.


SONUC

Şuna hiç şüphe yok ki; Bilgisayar Bilimlerini de Matematik, Fen ve Teknoloji, Sosyal Bilgiler gibi temel bir bilim olması gerektiğini farkına varmalıyız artık. Bilgisayar sadece oyun, chat, msn, facebook, internet değil. Bilgisayar Bilimleri öğrencilerin problem çözme, mantığı geliştirme, eleştirel düşünme gibi konularda gelişmesini sağlayacak somut bir bilimdir. Hayal edilenler anında bilgisayar üzerinde uygulanabilmektedir. Bilişim?i, sosyalliğini, asosyalliğini, İlköğretimdeki Bilişim Teknolojileri dersini tartıştığımız bu günlerde, bilgisayar bilimlerinin bu yönüne dikkat çekmek gerekli. Bilgisayar tek başına oyun değil, oyuncak değil.

Bilişimin güzel tarafları ile ilgilenmeyi bırakmayalım. Çocuklarımızın zamanını sadece oyun oynayarak harcamayalım.

Kaynaklar

http://www.wikipedia.org

http://readwrite.com/2010/08/18/4_tools_for_teaching_kids_to_code

bzongurtugba.wordpress.com/uygulama-calismalarim/lego-mindstorms-nxt-2-0/

http://kubrakose.blogspot.com/2010/08/cocuklara-kod-programlama-ogretmek-icin.html

Yorum ekle


Güvenlik kodu
Yenile

FACEBOOK'TA TAKİP EDİN