Blok tabanlı programlama ortamları giderek daha fazla öğrenci için ilk kodlama deneyimi haline geliyor1giderek daha fazla okul bilgisayar bilimleri derslerini ve müfredatını tanıtmaya ve genişletmeye başlıyor. En popüler blok tabanlı programlama dillerinden birine Scratch2(scrap.mit.edu) adı verilir. Her gün Scratch sitesine 1.500'den fazla yeni programlama projesi yükleniyor3. VEXcode'un kendisi Scratch blokları tarafından desteklenmektedir.
Scratch'in yaratılmasının ardındaki temel motivasyonlardan biri, birçok genç öğrencinin metin tabanlı programlama dilleriyle programlamayı çok zor bulmasıdır4çünkü bu öğrenciler hem yazmayı hem de sözdizimini öğrenmeyi zor bulurlar. Sonuç olarak, blok tabanlı programlama dilleri okul öncesi yaştaki öğrenciler için tasarlanmıştır, ancak çoğu 8 ila 16 yaş arasındaki öğrenciler için tasarlanmıştır. VEXcode da dahil olmak üzere blok tabanlı programlama, yeni başlayan programcılara5çeşitli avantajlar sunar.
- Okunabilirlik:Blok tabanlı programlama dilleri, metin tabanlı komutlara göre okunması çok daha kolay olan komutlara sahiptir.
- Ezberleme:Blok tabanlı programlama dillerinin tüm komutları kullanıcıya görünür durumdadır. Metin tabanlı programlama dillerinde komutların sıklıkla ezberlenmesi gerekir. Ek olarak, kullanıcıların metin komutlarıyla ilişkili sözdizimini ezberlemesi gerekir. Blok tabanlı komutlarla ilişkili sözdizimi yoktur.
- Yazma/Heceleme:Küçük öğrenciler klavye kullanma konusunda zorluk yaşıyorlar. Yazım hataları, metin tabanlı bir programlama dilinde derleyici hatalarına dönüşür. Blok tabanlı programlama dilleri sürükle ve bırak yöntemini kullanır. Bu nedenle yazmaya ve yazım ustalığına gerek yoktur.
Acemi kullanıcıların blok tabanlı programlama diliyle programlamaya başlamasının daha kolay olduğu kanıtlanmış olsa da, blok tabanlı dillerin bilgisayar bilimi kavramlarının öğretiminde etkili olup olmadığını sormak hala önemlidir. Kısa cevap: evet. Araştırmalar blok tabanlı programlama dillerinin algoritmalar, değişkenler, koşullu mantık ve kod anlama gibi bilgisayar bilimi kavramlarının öğretilmesinde etkili olduğunu göstermiştir6.
Blok tabanlı programlama dillerini kullanmanın elbette bazı dezavantajları vardır. Örneğin, öğrenciler bazen blokları kullanmanın "gerçek" bir öğrenme deneyimi olmadığını hissedebilirler7. Başka bir deyişle gerçek programcılar blok kullanmazlar. Bu akılda tutulması gereken önemli bir husustur, ancak metin tabanlı programlama dillerinin acemi programcılara getirdiği iyi belgelenmiş zorlukları da akılda tutmak önemlidir.
Eğitimciler olarak, öğrenciler değiştikçe kavramları öğretmek için kullandığımız araçların da değiştiğini biliyoruz. Matematik K - Kolej'de öğretilir. Birinci sınıf öğrencisine eğitim vermek için kullanılan araçlar, üniversitede üçüncü sınıf öğrencisine eğitim vermek için kullanılan araçlardan çok farklıdır. Araştırmalar, blok tabanlı programlama dillerinin acemiler için kullanımının daha kolay olduğunu ve önemli bilgisayar bilimi konularını öğretmek için etkili bir araç olduğunu göstermiştir. Ancak bu, öğrencilerin her zaman blok tabanlı programlama ortamında kalmaları gerektiği veya kalmaları gerektiği anlamına gelmez. Bunun yerine, çıkarılacak daha iyi bir sonuç, bir programlama yönteminin (bloklar veya metin), doğası gereği diğer8daha iyi olmadığıdır. Sınıfınız için hangisinin uygun olduğu, hem bir eğitimci olarak konfor seviyenize hem de öğrencilerinizin hazır bulunuşluk düzeyine bağlı olacaktır. Nasıl ki öğrenciler çarpma işlemleri konusunda farklı oranlarda ustalaşırlarsa, bazı öğrenciler de bloklarla programlamayı diğerlerinden daha hızlı öğreneceklerdir. Metin tabanlı programlamaya başlama fırsatı onları meşgul edecek ve zorluklara meydan okuyacaktır. VEXcode ve Text gibi araçlar, her öğrenciyle kendi bireysel eğitim seviyesinde tanışmanıza olanak tanır.