Herkesin kodlama öğrenmesi gerekir, özellikle de çocukların!

Aslında bu konuda doğrudan bir çalışmaya rastlamadım fakat programlama yazmayı öğrenmenin doğrudan bilişimsel düşünme (computational thinking) gücünü ortaya çıkarttığı ve dolaylı olarak analitik düşünme gücünü arttırdığı genel olarak bilinen bir gerçektir. Bilişimsel düşünme nedir diye sorabilirsiniz. Bunun için yazımızdaki mavi yazıların üzerine basarak ne ifade edilmek istendiğini öğrenebilirsiniz fakat kısaca tanımlanması gerekirse; program yazmayı öğrenen kişilerde oluşan, kişilerin insan-bilgisayar etkileşimini daha iyi anlamasını sağlayan ve farklı düşünme yetilerini ortaya çıkartan bir düşünme yöntemidir.

Peki bu bilişimsel düşünmenin bize ne katkısı olacak? Bilişimsel düşünme yeni bir düşünme yöntemidir. Artık bilgisayarların hayatımızda yerinin kaçınılmaz olduğu bir dünyada bilgisayarların nasıl çalıştığını bilmemek özellikle yeni neslin günlük hayatını olumsuz yönde etkilemeye başlayacaktır. Öte yandan bilişimsel düşünmenin, analitik düşünme gücünü de arttırdığı değerlendirildiğinde kendinize yeni bir vizyon kazandırmış ve zekanızın farklı bir yönünü ortaya çıkartmış olacaksınız.

Bunu anlamak için aslında sadece bu yazıyla değil, gerçekten algoritmik kodlama yaparak yani yaşayarak anlamak gerektiğini düşünüyorum. Hatta bu yazımı yazarken aklıma ilk kodlama öğrendiğim zamanlar geliyor:

İlk kod öğrendiğim zamanlar benim ortaokul yıllarıma denk gelir. Şanslıydım, benim zamanımda bırakın kodlamayı, bilgisayar kullanmayı dahi bilen çok az insan vardı ve kodlamaya (neden bilmiyorum) çok severek başladım. Zorlandım, anlayamadım bir süre, fakat yapanları gördükçe daha çok işin içine girmek istedim. Programlamanın temeli olan döngü kavramını öğrenmekte zorlanıyordum. Fakat döngü kavramını ilk öğrendiğimde kafamda bir anda şimşek çaktı ve döngü yapısını kullanarak milyonlarca olasılık aklıma geldi. Çok şaşırdım, bu ne tam olarak bir matematikti, ne de daha önce öğrendiğim başka bilimler gibiydi… Sonrasında öğrendiğim tekrarlamalı fonksiyonlar (recursive functions) da benzer etkiyi üzerimde yaratmıştı. Artık kodlamayı ve diğer yapıları daha hızlı öğreniyordum çünkü bilgisayar gibi düşünmeyi öğrenmeye başlamıştım. Tabii işaretleyici (pointer) ise apayrı bir dünya açtı programlama dünyama… Fakat şu bir gerçek, her şeyin bir tuşa basarak olmadığını, arka planında aslında bambaşka bir dünya yattığını öğrendim.

Bu anlattıklarımı muhtemelen en iyi anlayacak olanlar çözüm odaklı algoritmalar yazan, optimizasyon yapan programcılardır. Bir soruna çözüm ararken, ister istemez beyninizin bir bölümünde (muhtemelen sol beyinde) artık programlama yapısıyla düşünür oluyorsunuz. Hayatta daha çok pratikleşiyorsunuz. Bir sorunu çözerken kafanız aynı bir bilgisayar programına debug uygular gibi (yani adım adım kodu çalıştırır gibi) çalışmaya başlıyor. Açıkçası bunları bilip programlama öğrenmenin zekayı geliştirmediğini söylemek imkansızdır!

Bunun farkına aslında gelişmiş ülkelerdeki örneklerle varabilirsiniz. Bugün İngiltere’de tüm çocukların programlama öğrenmesi ile ilgili birçok çalışma var. Okuma yazma öğrendikten sonraki matematikle birlikte ilk öğretilen kavram artık programlama yazma olmaya başlamış. Neden mi? Çünkü bilgisayar artık tamamen hayatımızda… Dolayısıyla ister matematikçi olun, ister mühendis, ister doktor; kodlama yazmayı bilmek, algoritma yapısını öğrenmek sizi mesleğinizde bir adım öne taşıyacaktır. Çok yakın bir zamanda programlama artık matematik öğrenmek gibi temel bir bilim haline bile gelebilir. Geleceği geçmişten takip etmemek için çocuklarınıza programlama öğretin ve siz de öğrenin!