Programlama öğrenmenin yaşı

Çoktandır yazmak istiyordum, fırsat bu akşam geldi.

Konu şu: birçok ebeveyn, bilgisayar teknolojilerine aşırı hayran ve çocuklarının çok erken yaşlarda eğitilmesini talep ediyor. Özel okullar sürekli reklam yapıyor hatta MEB de bu kervana katılmış.

Peki bu ne kadar doğru?

İlkokullar ve anaokullarında programlama (moda deyimle kodlama) dersleri açıldığını görüyorum veya duyuyorum. Ortaokullarda daha yoğun. Ancak liselerde nedense çok az (belki baktığım küme iyi bir örnek değil).

Programlama, kodlama, bilgisayar konuları hangi yaşlarda başlamalı?

Programlama yapabilmek için mantık yürütebilmek gerekiyor. Nörobilimciler, mantık uygulama yeteneğinin “frontal lobe” gelişimine bağlı olduğunu söylüyor. Beynin en yavaş ve dolayısıyla en son gelişen kısmı:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2892678

14 yaşından önce bir çocuğun (istisnalar hariç) yeteri kadar mantık yürütemediği görülüyor. Dolayısıyla ilkokulda öğretilen programlama faydasız ve gereksiz. Zaten genellikle oyuna dönüşüyor. Hatta, mantıksal çıkarımın yetersiz olduğu durumlarda sinir bozucu da olabiliyor.

14 yaşından önce çocuğunuzu programlama öğrenmeye teşvik etmeyin veya zorlamayın.

Lise yaşlarına gelince: Çocuğun önünde daha önemli bir hedef var: üniversiteye girmek. Sizce bu hedef daha önemli değil mi?

Şu soruya dürüstçe cevap verin, hangisini tercih edersiniz:
1- Çocuğunuz lisede kodlama öğrensin ve bu bilgiyle iş hayatına atılsın.
2- Liseyi bitirsin ve en iyi üniversitelerden birinde bilgisayar mühendisliği okusun. Ondan sonra iş hayatına atılsın.

Bence ikinciyi tercih edersiniz.

Benim önerim, lisede müfredat içinde sadece 1 programlama dersi olması.
Bu ders müfredat dışı olmamalı.

Herhangi bir programlama dili öğrenmek, gereksiz bir uğraşıdır çünkü diller ve platformlar çok hızlı değişiyor. Öğrenci 1-2 sene içinde unutur. Lisede öğrenilen programlama dersi teorisiz öğrenildiği için kalıcı olmaz.

Programlama öğrenmenin uygun yaşları 18 yaş ve sonrasıdır.

Programlama matematiksel altyapı ve teoriyle öğrenilirse, kalıcı, üretici ve rekabetçi olur. İyi bir bilgisayar mühendisliği bölümünün 8 matematik+teori dersi vardır:

Calculus and Applications (2 Courses)
Linear Algebra and Applications
Differential Equations
Vector Calculus
Foundations of Computer Science
Probability and Statistics
Formal Languages

Ayrıca 20ye yakın programlama, mimari, algoritmalar ve uygulamalar dersleri içinde en az %20 matematik+teori bilgileri vardır.

Ancak böyle üretici ve rekabetçi bilgisayar mühendisi olunur.

Matematik+teori öğrenilmeden edinilen diploma öğrenciyi bilgisayar mühendisi değil satıcı veya teknik destek elemanı yapar. Seçtiğiniz üniversite ve bölüm çok önemlidir. Yoksa 10 yıl sonra yeteri kadar matematik+teori öğrenmediğiniz için pişman olursunuz:

https://awalterschulze.github.io/blog/post/neglecting-math-at-university/

Lisede öğretilen programlama derslerinin asıl amacı üniversiteye gitmeyecek olan öğrencilere meslek kazandırmak olmalıdır. Meslek liselerinde ülkenin ihtiyacı olan temel bilgilere (veritabanı, data girişi, teknik destek) haiz teknisyenleri düşük maliyetlerle yetiştirmeliyiz.

Vakti az ebeveynler için özet:
1- 14 yaşından önce programlama öğrenilmez.
2- Lisede programlama eğitimi ancak lise sonrasında meslek edinmek için uygundur.
3- Kalıcı, üretici & rekabetçi programlama teori & pratiği üniversitede yeterli yoğunlukta matematik+teori dersiyle birlikte öğrenilir.