Sunday, January 5, 2020

Neden çocuklar için kodlama ve robotik?

Bu bloğu ilk-ortaokul dönemindeki çocukların kodlama ve robotik öğrenmesine yardımcı olmak için oluşturdum.

Yazılımı robotların beyni gibi düşünebiliriz. Robotlar sensörleri ile etraflarını algılar, beyinlerindeki yazılım ile karar verir ve motorları ile uygularlar:

Kodlama ve robotik neden önemli:
  • Otomasyon çağında yaşıyoruz, kodlama ve robotik gittikçe daha yaygın hale geliyor. Çocuk ileride mühendis olmayacaksa bile temel kavramları bilirse teknolojiyi kendi ihtiyaçları için kolayca kullanabilir.
  • Kodlama ciddi dikkat gerektirdiğinden çocukların dikkatini geliştirmek için iyi bir antrenman. Dikkat başta matematik olmak üzere hayatın her alanında gerekli.
  • Çocuk fen ve matematik konularını soyut, sıkıcı formüller halinde ezberlemek yerine projelerde uygular. Örneğin robotun etrafa çarpmaması için gerekli mesafe sensörünü kullanırken ses dalgalarını ve yol = hız * zaman denklemini öğrenir.
  • Bir problemi bilgisayarın/robotun çözebileceği hale getirmek problem tanımlama, alt parçalara ayırma (analiz) ve çözüm adımlarına dönüştürme (algoritma) becerilerini geliştirir.
  • Karşılaştığı sorunları basit adımlara ayırarak çözme becerisi gelişir. Örneğin robot bluetooth komutlarına yanıt vermiyorsa önce bluetoothu basit şekilde test etmesi gerekir.
  • Başta hiç anlamadığı karmaşık problemleri çözebilir hale gelmek kendine güveni ve daha zorlu işlerle uğraşma isteğini arttırır.
  • Çocuk bilgisayar okur yazarı olur. Örnekler: USB bellekten bir dosyayı masa üstüne alma, web sayfasındaki yazıyı kopyalama, pencereyi minimize etme, büyütme.
Robotik kodlama için matematik bilgisine ihtiyaç yok, lazım olduğu kadarını ben anlatıyorum. Çocuğun ilgisinin ve azminin olması yeterli. İlgisi yoksa eziyete dönüşür, çünkü özellikle 3. aydan sonraki dersler kolay değil. İlgisi olup olmadığı birkaç dersten sonra belli olur.

Ben makine mühendisliği mezunu bir yazılımcı olduğum için çocukların derslerde öğrendikleri konuların gerçek hayatta nerelerde uygulandığını anlatarak onları motive edebilir, yazılım ve mühendislik mesleğinin neye benzediği ve kariyer seçimi konusunda yardımcı olabilir, bilimsel/rasyonel düşünme becerilerini geliştirebilirim. Çocuklara ne seviyeye kadar yardımcı olabileceğim soruluyor zaman zaman; Çocukların yanısıra üniversitedeki bilgisayar mühendisliği öğrencilerine de rehberlik ediyorum. Yazılımı meslek olarak yaptığımdan konuya ilgisi olanlara mühendis oldukları güne kadar destek verebilirim. Yazılım eğitimi hobim olduğu için herhangi bir maddi karşılık beklemiyorum, yararlı olmak ve onların da büyüdükleri zaman çevrelerine yardım ettiklerini hayal etmek benim için yeterince tatmin edici.

Dersleri haftada birer saatten 3-4 ay kodlama, 3-4 ay robotik olmak üzere kurguladım. Çocuklar derse konuyla ilgili videoyu seyrederek hazırlıklı gelmeliler, yoksa haftada 1 saatle ilerlemek mümkün olmaz. Giriş seviyesini 6 ayda tamamladıktan sonra benzer şekilde orta ve ileri düzey derslerle devam edeceğim.

Ders seviyeleri:
  1. Seviye A1 (3-4 ay): Blockly Games
  2. Seviye A2 (3-4 ay): İlk robot, okul projesi yapabilir hale gelme
  3. Seviye B1 (3-4 ay): Javascript ile oyun programlama 1, GitHub/Gist
  4. Seviye B2 (3-4 ay): IoT (NodeJS, ESP32, glitch), PID'ye giriş, magnetic levitation, daha iyi çizgi takibi.
  5. Seviye C1 (3-4 ay): Javascript ile oyun programlama 2: Pathfinding
  6. Seviye C2 (3-4 ay): Robot yarışmalarına katılım (TeknofestODTÜ, İTÜ)
  7. İleri seviye: Yüz tanıma, simülasyon, oto rotalama, blockchain vb. uygulama alanı odaklı çalışma. Her uygulama 3-4 ay.
O anki seviyenin hedefine doğrudan hizmet etmeyen ayrıntılarla zaman kaybetmekten kaçınmalı, ilgiyi canlı tutmalıyım. Derslerde çocukların anlayamayacağı karmaşıklıkta konulara girmemem ancak ilerlemeyecek kadar da basitleştirmemem gerekli (zone of proximal development). Örneğin A2 seviyesinde Ohm Kanunu'ndan bahsetmezken B2 seviyesinde voltage divider'ı anlatabilirim.

No comments:

Post a Comment