ÇOCUKLAR İÇİN KODLAMA
Kodlama Öğreten Kitap - 4 Yaş ve Üstü Herkes İçin

Çocuklara Programlamayı Nasıl ÖĞRETİRİZ - 2?

9 Mart 2016 - Zafer Demirkol

Bu makalenin ilk kısmında “çocuklara programlamayı nasıl öğretiriz?” Konusuna giriş yapmıştım, bu kısımda biraz daha detay vereceğim. Hatırlayacağınız gibi ilk makalemde çocuklara programlama öğretmek için çok sayıda, hatta gereğinden fazla araç olduğunu ve bu durumun velilerin ve öğretmenlerin konudan daha da uzaklaşmasına sebep olduğunu yazmıştım. Çünkü hangisini, hangi sırayla kullanacaklarını doğal olarak bilemiyorlar. Ve öneri olarak sadece araçlara odaklanmamak, çocuklara programlamanın temel kavramlarını doğru sırayla öğretmek gerektiğini yazmıştım. Çocuğa programlamayı öğretirken bu kavramları kılavuz edinip, doğru sırayla anlatmanın önemli olduğunu vurgulamıştım. Ve devamında bu kavramları anlatırken onlarca yüzlerce araçtan dilediklerimizi kullanabileceğimizi anlatmıştım. Öncelikle bu temel programlama/kodlama kavramlarını tekrar hatırlayalım:
  • Algoritmalar
  • Döngüler
  • Koşul Yapıları
  • Fonksiyonlar-Prosedürler
  • Grafik Mantığı
  • Değişkenler
  • Listeler, Diziler
  • Programsal Nesneler
 

Algoritmalar

Algoritmalar aslında detaylı plan yapmaktır. Bir programı geliştirmeden önce algoritmasını oluşturmamız gerekir. Algoritmalar neyi, nasıl hangi sırayla yapacağımızı detaylı bir şekilde anlatır ve mutlaka yazılı olması gerekir. Bu yazım şemalar şeklinde de olabilir, metin olarak da. Yazılı olması önemli. Böylece programcı hangi işi hangi sırayla ve detayla yapacağını bilir. Algoritma oluştuktan sonra artık kodlamaya geçilebilir. Kodlama ayrı teknikleri barındırır ve onlarında detaylarını anlatacağım. Ancak algoritmaları bitirmeden önce birkaç noktaya açıklık getirmek gerekiyor. Dediğim gibi bir program yazmadan önce algoritması oluşturulmalı. Dikkat ederseniz aslında algoritma planlamanın bir çeşidi. Diğer bir ifadeyle sadece programlama değil herhangi bir iş yapmadan önce algoritma geliştirmeli, yani plan yapmalıyız. Evet bu belki her zaman yazılı olmayabilir (olursa daha iyi tabii) ama mutlaka plan yapmalıyız. Plansız yapılan işlerin ne sonuçlar doğuracağını bilmek için programcı olmaya gerek yok. Dolayısıyla aslında Algoritma veya plan yapmak programlamaya ait bir kavram değil bütün kariyerimiz ve hatta bütün hayatımıza dair kazanılması gereken bir özellik. Onun için diyorum ya programlama hayata dair bir kavramdır. Burada tekrar edeyim “hepimiz program yaparız sadece kodlarını farklı yazarız”. Yukarıda ve ilk makalemde de bahsettim gibi programcılığın bu temel kavramlarını bize sunulan yüzlerce araçla destekleyip anlatabilirsiniz. Örneğin Algoritma kavramının 4 yaşındaki bir çocukla 13 yaşındaki çocuğa farklı anlatılacağı net bir durumdur, ancak burada kullanacağımız araçlar belirsiz olabilir. Burada “araç” kavramından neyi kastettiğimi ilk makalemde açıklamıştım.

Yardımcı araçları/uygulamaları seçerken nelere dikkat etmeliyiz?

Hep söylediğim gibi “araç” veya çocuklar için uygulama sıkıntısı yok. Sorun hangi aracı seçeceğimize nasıl karar vereceğimiz. Benim burada birkaç önerim olacak ama bu önerileri yaparken hangi kriterlere özen gösterdiğimi açıklayayım önce. Birincisi; seçeceğiniz uygulama her sistemde çalışmalı. Bunun anlamı kullandığınız uygulamanın her işletim sisteminde çalışabiliyor olmasıdır. Hem Windows da hem mac de hem iPhone, iPad, Android hem de diğer sistemlerde. Böylece çocuk okulda yaptığı bir uygulamaya, evde de devam edebilir veya tabletinden de ulaşabilir. İkinci önemli konu, eğer mümkünse kurulum gerektirmemesi, diğer bir ifadeyle bir web uygulaması olması. Böylece zaten yukarıda söylediğim bütün platformlarda çalışabilecek ve dilediği zaman uygulamasına erişebilir olacaktır. Önemli diğer bir faktör, uygulamanın offline yani internet olmadan da çalışabilmesi önemlidir. Zorunlu değil ama önemli bir faktördür. Son olarak eğer mümkünse “open source” yani herkese açık ve ücretsiz bir uygulama olması hem daha gelişebilmesi anlamında hem de cebimizi yakmaması anlamında bir avantajdır. Bu çerçevede size önereceğim 3 tane araç var. Bunların haricinde elbette pek çok benzer araç var ancak bunlar en bilinenleri: 1-Code.org 2- Scratch  (https://scratch.mit.edu/) 3- Google Blockly (https://developers.google.com/blockly ) Bu araçlar yukarıda bahsettiğim koşulların hemen tamamını karşılıyor.  

Kavramlarla Araçların Beraber Kullanımı

Temel kavramları dilediğimiz aracı kullanarak anlatabiliriz diye yazmıştım yukarıda şimdi buna bir örnek vereceğim. Örneğin yukarıda basitçe anlatmaya çalıştığım “Algoritma” kavramı code.org da her yaş grubuna göre farklı uygulama ve görsellerle anlatılmış. Birazdan göstereceğim, ama bizim bir öğretmen olarak öncelikle algoritma kavramını anlatmamız gerektiğini bilmeliyiz daha sonrasında da birazdan göstereceğim code.org uygulaması gibi araçlarla bunu desteklemeliyiz. Burada aracın ismi x olur yarın y ama algoritma kavramının öğretilmesi gerektiği hiç değişmez. Yani araçlar değişebilir ama temel prensipler kolay kolay değişmez. Onun için kafamızın karışması için bu anlamda bir sebep yok biz temel prensiplerin peşinden gidelim ve dilediğimiz araçları seçelim. (tabii yukarıdaki kriterlere uygun seçersek çok daha rahat ve yetenekli bir çalışma ortamına kavuşuruz) Evet şimdi Algoritma kavramının code.org daki farklı uygulamalarına bakalım. Örneğin 4 yaşındaki  bir çocuğa algoritma şu şekilde anlatılmaya çalışılmış 01 Sevimli Yaratık (Flurb) hazineye hangi ok’u kullanarak erişebilir?…. https://studio.code.org/s/course1/stage/1/puzzle/2 Evet bu bir algoritmadır. Bir işi (yani hazineye ulaşma) işini nasıl yapacağımızı belirtir. Ve bunu 4 yaşındaki bir çocuk kolayca yapabilir ve ilk algoritmasını teknik anlamda geliştirmiş olacaktır. Diğer bir örnek: 02 Çiçeklere gitmesi için hangi okları seçmeli? 04   Domuza erişmesi için hangi okları seçmeli? Doğru oklar doğru bir algoritma demektir. https://studio.code.org/s/course1/stage/5/puzzle/3 Buna karşılık 8 yaş ve üstü bir çocuk aşağıdaki oyun/hikaye algoritmasını oluşturabilir: https://studio.code.org/s/course3/stage/16/puzzle/6 03 Veya döngülerden örnek verecek olursak 4 yaş ve üzerindeki bir çocuğa döngü kavramını şu uygulamayla kolayca anlatabiliriz: https://studio.code.org/s/course1/stage/12/puzzle/2   06 Buna karşılık 10 yaş ve üstü bir çocuğa daha karmaşık döngü yapıları anlatılabilir: https://studio.code.org/s/course4/stage/10/puzzle/12 07   Sonuçta “döngü” kavramı değişmez, sadece anlatılacak yaş grubuna göre uygulamalar ve yöntemler (araçlar) değişebilir. Bu örnekler programcılığın her bir temel kavramı için çoğaltılabilir. Referans noktamız temel prensipler olmalı araçlarsa onları destekleyen ama önemli unsurlardır, onları da seçerken dikkatli olmalıyız. Bu konuyla ilgili makalelerime devam edeceğim.

Hakkında


"Çocuklar için Kodlama" kitabı programlama temel kavramlarını platform bağımsız anlatan, temel olarak çocuklara yönelik ancak programlamayı öğrenmek isteyen herkesin yararlanabileceği bir kitaptır. Kitap 4. yaştan başlayıp üst yaş sınırı olmayan bir içeriğe sahiptir. 4-12 Yaş grubu için bir öğretmen ve ebeveyn eşliğinde faydalanılabilir.

Kitaptaki uygulamaları herhangi bir bilgisayarda, tablette ve mobil telefonda yapabilirsiniz. Program yüklemeye veya kurulum yapmaya gerek yoktur. Okulda yaptığınız uygulamalara evden veya başka bir yerden tekrar ulaşıp devam edebilirsiniz. Kitabın yazarı çocuklara kodlama öğretmeye amaçlayan Türkiye'deki bu konudaki ilk programsal kütüphane olan "Çocuklar için Kodlama - CIK" kütüphanesini geliştirmiştir.

İLETİŞİM