Kodlamayı Öğren, Öğrenmeyi Kodla

Kodlama dersi[box type="info"]Bu yazı Scratch Programlama dilini geliştiren ekibin lideri olan Mitchel Resnick ‘in 2013 Mayıs ayında yayınlanan Learn to Code, Code to Learn başlıklı yazısının çevirisidir. Bu yazı ile ilk okul seviyesinde kodlama eğitiminin neden gerekli olduğu daha iyi anlaşılacaktır. [/box]

Bütün çocukların nasıl yazı yazacağını öğrenmesi önemli midir ? Nihayetinde oldukça az sayıda çocuk gazeteci, romancı yada profesyonel bir yazar olacak. Bu durumda neden bütün çocuklar yazı yazmayı öğreniyorlar ?

Tabiki bu aptalca bir soru. İnsanlar yazıyı hayatlarının her parçasında kullanıyorlar: arkadaşlarına doğum günü mesajı yollarken, alış veriş listesi hazırlarken ve günlüklerine duygularını aktarırken. Yazı yazmak insanlara yeni düşünme yolları kazandırarak geliştirir. İnsanlar yazarken organize etmeyi, derinlemesine incelemeyi ve düşüncelerini aktarmayı öğrenirler.

Ben kodlamayı (Bilgisayar programlamayı) yazı yazmanı bir uzantısı olarak görüyorum. Kodlama yeteneği interaktif hikayeleri oyunları, animasyonları ve similasyonları yazmak için kullanılan farklı bir şeydir. Ve geleneksel yazı yazmayı öğrenmek gibi kodlamayı öğrenmenin de herkes için güçlü nedenleri var.

Kodlama öğrenme konusundaki son gelişmeler codeacademy.com ve code.org gibi genellikle iş ve kariyere odaklanan sitelerde kendini  gösterdi. Yazılımcıların ve bilgisayar bilimcilerin iş imkanlarının nasıl bu kadar hızlı büyüdüğünü anlamak oldukça basit, talep arzdan oldukça yüksek.

Fakat kodlama öğrenmek için daha derin ve geniş bir neden fark ettim. Kodlama öğrenme sürecinde insanlar bir çok başka şeyide öğrenmiş oluyorlar. Onlar sadece kodlamayı öğrenmiyor, onlar öğrenmeyi kodluyorlar. Matematik ve hesaplama yeteneklerin (değişkenler ve koşullar gibi)nin yanısıra ,problem çözme stratejilerini, proje tasarlamayı ve iletişim becerilerini de öğreniyorlar.  Bu yetenekler sadece bilgisayar bilimcileri için değil, yaş , arkaplan, ilgi ve işe bakılmaksızın herkes için gerekli yeteneklerdir.

Altı yıl önce MIT Medya Labaratuarındaki araştırmacı ekibim programlamayı herkes için çekici ve ulaşılabilir kılan Scratch programlama dilini ve çevrimiçin topluluğunu geliştirdi. Bu gelişmeden sonra genç insanlar (8 yaş ve üstü) Scratch web sitesinde 3 milyondan fazla proje paylaştılar ve her gün binlerce proje ile paylaşmaya devam ediyorlar. Scratch bir çok ortamda (ev, okul, kütüphane,topluluk merkezleri), bir çok yaş gruplarında (ilk okuldan üniversite yaşına kadar), ve farklı bir çok disiplin arasında (matematik,bilgisayar bilimi, dil, sanat, sosyal çalışmalar) kullanıldı.

Projelerin çeşilliliği ve yaratıcılığı bizi şaşırtıyordu. Scratch web sitesine göz attığınızda animasyonlu hikayeler, sanal turlar, filim simülasyonu, duyurular, dijital sanat projeleri,  moda oyunları, resim düzenleyicileri  hatta interaktif kitapçıklar ve haber metinleri görebilirsiniz.

Örnek olarak , BlueSaturn olarak isimlendirdiğim genç bir Scratcher (Scratch kullanan öğrenci) ın geliştirdiği projelerden bahsetmeme izin verin. BlueSaturn scratch kullanmaya ilk başladığında Noel Baba ve onun ren geyiklerinin çizimlerinin kullanarak bir yıl başı kartı hazırlamıştı.  Her bir ren geyiği üzerine tıklandığında farklı bir müzik enstromanının sesini çıkartarak şarkı çalıyordu. BlueSaturn tatil kutlaması olarak projesinin bağlantısının tüm arkadaşlarına yolladı.

Bluesatrun yılbaşı kartını hazırlarken animasyon karakterleri hazırlarken ne kadar eğlendiğini farketti. Bu sayede dinazorlar, ejderhalar ve uçan atlar gibi farklı karakterler geliştirdi. Proje notlarında diğer kişileri topluluğun bir üyesi olmaları ve kendi projelerini geliştirmeleri için destekliyordu ve gelen talepler üzerine istenilen karakterleri oluşturmayı teklif ediyordu. BlueSaturn bir danışmanlık servisi kurmuştu. Biz Scratch web sitesinin böyle bir yol ile kullanılacağını kesinlikle hayal edememiştik.

Bir topluluk üyesi Scratch projesinde kullanmak için bir çita istedi, BlueSaturn da daha önce National Geographic sitesinde gördüklerini kullanarak bir çita animasyonu hazırladı. BlueSaturn başka bir üye için kanat çırpan bir kuş animasyonu hazırladı ve bununla birlikte bu animasyonun nasıl hazırlandığını gösteren bir öğretici hazırladı.

BlueSaturn toplumda tanınan biri olmuştu ve sıksık toplulukta “ortak çalışmalar (collabs) “olarak bilinen işbirlikçi takımlara katılma isteği alıyordu. Ortak çalışmanların birinde  BlueSaturn üç tanesi farklı ülkeden olan dört faklı genç insanla ayrıntılı bir macera oyunu geliştirdiler. BlueSaturn animasyonlu karakterleri geliştirirken diğerleri oyun senaryosunu, ses efektlerini ve arkaplanı geliştiriyordu.

Projelerdeki bu çalışma sürecinde BlueSaturn şuğhesizki kodlama yeteneğini geliştirdi, fakat o aynı zamanda farklı şeyleride öğrendi. O karmaşık problemleri nasıl daha basit parçalara ayıracağını, tekrarlayan datarımlarını nasıl kolaylaştıracağını, sorunları nasıl tespit edeceğini ve düzelteceğini, diğer insanlarla nasıl paylaşımda bulunacağını ve işbirliği yapacağını ve zorluklarla nasıl yüzleşeceğini öğrendi.

Scratch topluluğu içerisinde kendilerini daha farklı düşünmeye başlayan üyeleri keşfettik. Onlar kendilerini sadece sörf yapan sohbet eden ve oyun oynayan insanlar değil dijital ürünleri kullanarak bir şeyler üreten tasarımcılar ve geliştiriciler olarak görmeye başladılar. Bir çok insan dijital medyayı sadece okurken, kodlayan öğrenciler yazabiliyor.

Scratch topluluk üyeleri ayrıca dünyaya yeni bi rbakış açısıyla bakmaya başlıyorlar. 11 yaşında bir Scratcher bir blog yazısı yazdı: ” Scratch ı seviyorum. Bir dakika, açıklamamma izin verin – scratch benim hayatım. Bir çok proja yaptım. Şimdi ‘Programlama beyni’ dediğim şeye sahibim. Bu her nerede olursam olayım eşyaların nasıl programlanabileceklerini düşündürtüyor. Tost makinesinden, elektronik araba sistamleri ve çoook daha fazlası.

Genç insanların scratch ile yaratıcılığını ve öğrenmelerini görmek bizi heyecanlandırıyor. Fakat bu sadece başlanğıç. bu ay araştırma grubumuz yeni jenerasyon Scratch programlama dilini ve çevrimiçi topluluğu yayına alıyor. Bu yeni versiyon Scratch ı  bulut teknolojisine taşıyor, insanlara programlama, programlarını kaydetme, paylaşma ve web tarayıcı üzerinden düzenleme imkanı sağlıyor. Yeni versiyon aynı zamanda yaratıcılığı ve iş birliği imkanını arttıracak yeni gelişmeler sunuyor.

Fakat biz bu yenilik ve gelişmelerin yeterli olmadığının farkındayız. gelecekteki en büyük zorluk teknolojik değil kültür ve eğitim olacaktır. Nihayi olarak insanların zihinlerindeki programlama iş bulmanın bir yoludur düşüncenin, programlama ifadenin ve öğrenmenin yeni bir formu şeklikde değişmesi olacaktır.

Devam

Nedir Bu Kodlama Dersi ?

“Kodlama dersi geliyor”, “Çocuklar artık kodlama öğrenecek”, “Kodlama ile daha başarılı nesiller” vb. cümleleri son zamanlarda sıkça duymaya başladık. Bilim Sanayi ve Teknoloji Bakanı Fikri IŞIK ve Milli Eğitim Bakanı Nabi AVCI’ nın yaptığı açıklamalar Kodlama dersinin yakın zamanda ilköğretim müfredatına ve ortaöğretim dersleri arasına ekleneceği anlaşılıyor. Umarım kısa zamanda çalışmalar tamamlanır ve bu ders öğrencilerde buluşur.

Peki Nedir Bu Kodlama Dersi ?

Kodlama dersi hakkında son zamanda aldığım duyumlara göre bazı öğretmenler, hatta okul yöneticileri Kodlama dersinin sınavlarda kullanılan optik formların doğru kodlamasının öğretileceği ders olarak düşünmüşler. Bu oldukça komik bir düşünce, her ne kadar bu düşünceye sahip olan kişilerin düşüncelerinde ciddi oldukları söylense de ben öyle olmadığını düşünüyor ve umuyorum. Eğer durum gerçekten böyleyse Bilişim Teknolojileri ve Yazılım dersinin ne kadar önemli olduğu açıkça ortada.

Kodlama dersi aynı zamanda programlama ve yazılım dersi olarak da isimlendirilebilir. Kodlama dersi ile öğrencilere bilgisayar yazılımı geliştirmenin (programlamanın) temelleri öğretilmek amaçlanmaktadır. Yapılan araştırmalar sonucu programlama eğitiminin öğrencilere yansıtıcılık, yaratıcılık, kural öğrenme ve kurallara uyma, problem çözme ve analitik düşünme, uzamsal düşünme becerileri gibi beceriler kazandırmaktadır (AKPINAR & ALTUN, 2014). Bu açıdan bakıldığında ilkokullarda verilecek olan kodlama dersinde amaç herkesi yazılımcı olarak yetiştirmek değil yukarıda sayılan bu nitelikleri kazanmasını sağlamaktır.

Günümüzde okur yazarlık tanımlarının içerisine bir de bilgisayar okur yazarlığı tanımı girmiştir. Bilgisayar okur yazarlığı en basit haliyle bilgisayarı kullanma yeteneği olarak tanımlansa da bilgisayar okuryazarı olan bir bireyin, çeşitli sorunların çözümünde, iletişim kurmada, bilgi edinmede bilgisayar kullanması ve bilgisayarın çalışma mantığı, bilgisayarda kullandığı programların nasıl geliştirildiği ve çalıştığı hakkında bilgi sahibi olması beklenmektedir (Akgül, Küpeli, & Kır, 2015).

Peki Küçük Yaştaki öğrencilere Karmaşık Programlama Dilleri Nasıl Öğretilecek

Küçük yaştaki öğrencilere direk gelişmiş programlama dilleri öğretilmeyecek bunun yerine yukarıda bahsedilen nitelikleri kazandırma üzerine yoğunlaşmış eğitimler verilecektir. İlkokul seviyesindeki öğrencilere bahsedilen bu nitelikler kazandırılmaya çalışılırken yaşlarına uygun olacak şekilde hazırlanmış uygulamalar ve oyunlar kullanılmaktadır. Scratch, BlocklyAndroid App Inventor vb. uygulamalar kullanılarak öğrencileri doğrudan karmaşık kod yazma eylemine sokmadan sürekle bırak işlemi ile gerekli program parçacıklarını uygun yerlere getirip birleştirmeleriyle programlarını oluşturmaları sağlanmaktadır.

https://vimeo.com/65583694

Bu uygulamalara ek olarak öğrencilerin programlama temellerini öğrenmesi için geliştirilen Code Monkey, Code Combat ve Code.org adresinde bulunan bir çok oyun gibi oyunlar hazırlanmıştır.

https://www.youtube.com/watch?v=RqSzdmSUHVo

Bu uygulamalar ve oyunlar sayesinde çocuklar yazılım bilgisinin temellerini, algoritmik düşünme yeteneğini, ve problem çözme yeteneği gibi bir çok kazanımı elde edecektir. Ayrıca çocuklar için hazırlanan robot geliştirme setleri ile çocuklar gelecek için hazırlanırken kendi robotları ile oynama fırsatı yakalıyorlar.

[caption id="attachment_2623" align="aligncenter" width="702"]Çocuklar için Robotik dersleri kaynak:http://www.urotam.com/[/caption]

Avrupa ülkelerinde yıllardır önemi vurgulanan ve zorunlu olarak ilkokullarda öğretilen yazılım bilgisinin ne kadar önemli olduğunu artık Türkiye’de de anlaşılmış durumda. Bu doğrultuda Milli Eğitim Bakanlığı yazılım bilgisinin ilköğretimde seçmeli liselerde ise zorunlu olması için çalışmalarını sürdürmekte. Yazılım dersi ilköğretimde seçmeli olacağı için velilere önemli bir görev düşmektedir. Ben çocuğumun yazılımcı olmasını, bilgisayar başında sürekli vakit geçirmesini istemiyorum şeklindeki düşüncelerle yazılım dersini seçmemek yanlış bir davranış olacaktır. Yukarıda da anlatıldığı gibi yazılım dersi yazılımcı yetiştirmek için değil öğrencileri geleceğe uygun niteliklere sahip olarak yetiştirmek için verilmektedir. Günümüzde çocuklar doğar doğmaz teknolojiyle tanışmaktadır. Bu nedenle cep telefonları, tabletler ve bilgisayarlar çocukların günlük hayatta sürekli karşılaştıkları ve kullanma gereksinimi duydukları cihazlardır. Çocukları teknolojiden uzak tutmamız oldukça zor olduğu için  Bilişim teknolojileri dersi ile teknolojiyi nasıl daha etkili ve bilinçli şekilde kullanmaları gerektiğini öğretmemiz gerekmektedir.

[box type="tick"]Geleceği teknolojiyi kullanan değil onu geliştiren ülkeler şekillendirecektir. Geleceğimizi kurtarmak ve dünyaya yön veren ülkeler arasında yer almak için Bilişim Teknolojileri ve Yazılım dersine hak ettiği önemi vermeliyiz.[/box]

https://youtu.be/RlNqAM37Shc

 

Kaynakça

Akgül, F., Küpeli, E., & Kır, İ. (2015). SINIF ÖĞRETMENLERİNİN BİLGİSAYAR OKUR-YAZARLIK DÜZEYLERİNİN BELİRLENMESİ: KAHRAMANMARAŞ İLİ ÖRNEĞİ. Electronic Journal Of Social Sciences, 14(55), 207-219.

Akpınar, Y., & Altun, A. (2014). Bilgi toplumu okullarında programlama eğitimi gereksinimi. İlköğretim Online, 13(1), 1 – 4.

Devam