Son yıllarda hemen herkesin programlama öğrenmesi gerektiği görüşü sıklıkla dile getirilmektedir. Çünkü 21. yüzyılda yetişen bireylerde geliştirilmek istenen yaratıcılık, problem çözme ve üst düzey düşünme gibi birtakım bilişsel becerilerin programlama eğitimiyle kazandırabileceği savunulmaktadır.
Programlama nedir ?
Programlama en basit tanımı ile bilgisayara girilen bazı yazıların işlevsel bilgisayar programlarına dönüşmesine programlama denir. Programlama eğitinin gereksinimi her geçen gün dahada artmaktadır ülkelerin veya toplumların çok kısa zamanlarda daha fazla iş yapabilmesine olan talepte bu alanın gelişmesinde en önemli etmen olarak görülmektedir. Bilgisayar teknolojisi çeşitli meslek alanlarında, sanatta, beşeri ve sosyal bilimlerde karşılaşılan birçok soruna çözüm üretebileceğinden, programlama becerisine sahip bireylere ihtiyaç duyulmaktadır . Bu bağlamda, bir çok ülkenin müfredatlarında kodlama eğitimlerine yer verdikleri görülmektedir. Örneğin Belçika’da “bilimsel düşünce ve programlama”, Bulgaristan’da “algoritmik problem çözme ve programlama”, Estonya’da “programlama”, İspanya’da “programlama, algoritma ve robotik” ve İngiltere’de ise “hesaplama” olarak isimlendirilen derslerle kodlama eğitimleri verilmektedir . European Schoolnet tarafından yapılan 20 ülkeden katılımcıların bulunduğu araştırmada, 12 ülkenin müfredatında hali hazırda programlama ve kodlama eğitimleri olduğu, içlerinde Türkiye’nin de bulunduğu sekiz ülkede ise programlama eğitime yönelik müfredat çalışmalarının devam ettiği belirtilmektedir. Buda bize göstermektedir ki programlama eğitimi artık büyük bir gereklilik olarak yerini almıştır.
Programlama kadar bu süreci öğrenirken karşılaşılan birçok sorunda beraberinde gelir.
Programlamanın öğrenilmesi karmaşık bir süreçtir problem çözme, mantıksal düşünme, yaratıcılık gibi birtakım zihinsel becerileri kapsaması, programlama dillerinin karmaşık söz dizimi gibi durumlar da bu karmaşıklığı artıran sebeplerdendir.
Programlama, donanım ile yazılım arasındaki ilişkiyi oluşturan bir süreçtir. Bu sebeple bir donanımın nasıl davranacağını düşünmek problem çözme, mantık yürütme, karar verme gibi birtakım düşünme becerileri kullanmayı gerektirir. Yani programlama öğrenmek nasıl kod yazacağını öğrenmekten çok düşünme mantığını öğrenmeye bağlıdır.
Programlama Öğreniminde Karşılaşılan Sorunlar Şunlardır:
Algoritma, koşullu ifadeler, döngüler, fonksiyonlar, diziler, öğrenimi ve gelişimi zor bir süreç olarak görülmektedir. Bu durumun sebebi olarak programlama eğitimine yönelik öğrencilerin olumsuz bir bakış açısına, sahip olmaları en önemli etkendir. Bir diğer etmen ise programlamada kullanılan kavramların soyutluğu ve karmaşıklığı gösterilebilir ancak en önemli sorun olarak öğrencilerin sadece programı yazmaya odaklandıklarını mantıksal çıkarımlar yapmadıklarıdır.
Programlama öğrenmeye yeni başlayanların en fazla programlama diline has kavramları anlamakta zorlandıklarını rapor etmişlerdir. Aynı yıl yapılan başka bir çalışmada ise programlama öğrenmede yaşanan zorlukların planlama ve tasarım becerilerindeki eksikliklerden kaynaklı olduğu belirtilmiştir.
DuBoulay (1986), programlama öğrenmede yaşanan zorlukları 4 temel başlık altında ele almıştır. Bunlar, programlamanın amacını ve problemin ne olduğunu anlama (orientation), programlama dilinin sözdizimini açıklama (notion), programlamada kullanılan standart yapıları anlayabilme (structure) ve program yazmak için gerekli olan ileri düzey becerilere sahip olma (pragmatics) olarak belirlemiştir.
Byrne ve Lyons (2001) ise programlama alanında yaşanan zorluğun temel sebebinin geleneksel programlama öğretim yönteminden kaynaklı olduğunu belirtmektedir. Byrne ve Lyons’a göre, geleneksel programlama öğretim yöntemi, kitaplarda kuralları vererek bu kuralların öğrenciler tarafından ezberlenmesini ister. Benzer durum, Esteves ve Mendes’in çalışmalarında da görülmektedir.
Yapılan çoğu çalışmada göstermektedir ki programlama öğrenmek sadece kod yazmak değil bir sorunun çözümüne, yönelik mantık yürütme tasarım yapma ve zihinde canlandırabilmek gibi birçok sürecin birleşiminden oluşmaktadır yapılan bazı araştırmalarında gösterdiği gibi programlama öğrenirken en çok algoritmanın mantığını kurma hata bulma gibi alanlarında en çok zorlandığını ortaya koymuştur.
İmal ve Eser (2009) ise programlama eğitiminde yapılan hataları 3 başlık altında ele almıştır. Bunlar, aynı anda farklı dil öğrenme, ihtiyaç ve ezberci yaklaşım. Her programlama dilinin kendine has yazım kuralları ve kalıpları olmasından dolayı aynı anda birden fazla dil öğrenmeye kalkıldığında diller arası karışıklık yaşandığını belirtmişlerdir. Programlama dili öğretimine başlamadan önce ihtiyaç veya ihtiyaçların belirlenmesi ve bu ihtiyaçları karşılayacak bir programlama dilinin öğrenilmesi gerektiği belirtilmektedir. Ayrıca programlamada, problemlerin sürekli değiştiğinden dolayısıyla da yeni çözüm yolları üretmek gerektiğinden ezberci bir yaklaşımdan sakınılmasının faydalı olacağı ifade edilmektedir.
Yapılan bazı çalışmalarda şunu göstermiştir ki programlama öğrenememenin temel nedeni pratik eksikliği, algoritma oluşturamama ve bilgi eksikliğinden kaynaklı olduğunu belirtmişlerdir.
Kısacası programlama öğrenimindeki zorluklara en temel olarak bilgi eksikliği , Ezbere dayalı bir eğitim ve öğrencilerin Temel mantığı kavrayamaması gösterilebilir.