Okullarda Kodlama Dersi – 2

Geçen yazıda çocuklara yönelik kodlama eğitimini tartışmış ve Bilim, Sanayi ve Teknoloji Bakanlığı’nın kodlama dersinin ortaokul ve lise müfredatına alınması için yapacağı çalışmaları desteklediğimi belirtmiştim. Desteğimi de üç maddeyle açıklamıştım: Berimsel (computational) okuryazarlığın (literacy) yaygınlaşıyor olması, günümüzde toplumsal düzenlemelerin giderek artan biçimde kodla yapılması (“Kod kanundur”) ve programcılığın eğlenceli olması. Bu yazıda da aynı konuya devam etmek istiyorum. Ama önce kodlama ile programlama arasındaki farka açıklık getirmek gerekiyor. Kodlama, analiz, tasarım, test gibi yazılım geliştirmenin aşamalarından biridir. Programlama ise daha geniş anlamda kullanılmaktadır. Kodlamanın yanında diğer aşamaları da içerebilmektedir. Kodlama eğitimi ile ilgili yazılarda (bu yazıda da) aslında çoğu zaman programlamadan söz edilmektedir. Bakanlığın hedefleri ve planladığı kodlama eğitiminin kapsamı hakkında bilgim yok fakat başta İngiltere olmak üzere birçok ülkedeki müfredat değişikliğinde hedeflenen öğrencilerin belirli bir programlama diline özgü komutları alt alta sıralamayı öğrenmesi değildir. Eğer Türkiye’deki eğitim müfredatı bir ya da birkaç programlama dilinin öğretimi ile sınırlandırılırsa sonuç pek parlak olmayacaktır. Yurt dışındaki örneklerde öğrencilere belirli bir aracın (örneğin programlama dilini) kullanımının öğretilmesi değil, berimsel okuryazarlık (DiSessa, 2001) ya da berimsel düşünme (Wing, 2006) denilen yetinin kazandırılması hedeflenmektedir.

DiSessa (2001), kod eğitimi furyası başlamadan önce Hal Abelson ile beraber Boxer Programlama Ortamı’nı geliştirmiş ve öğrencilerin Boxer ile etkileşimini izlemiştir. DiSessa (2001), berimsel okuryazarlığın yeni bir bilme ve ifade biçimi sağlayacağını düşünmektedir. Wing (2006) ise berimsel düşünmenin basitçe programlama öğrenmenin ötesinde bir anlam taşıdığını ve çoklu soyutlama düzeyinde düşünmeyi gerektirdiğini belirtmektedir. Berimsel düşünme sürecinde problem ve çözümü, makine ya da insan tarafından gerçekleştirilebilecek biçimde ifade edilmektedir. Dolayısıyla herhangi bir teknolojiden bağımsızdır. Wing’e göre (2006) berimsel düşünce,

  • Programlama değil, kavramsallaştırmadır.
  • Modern toplumda edinilmesi gereken bir yetenektir.
  • İnsanların bilgisayar gibi düşünmesi değildir.
  • Matematik ve mühendislik düşüncesini tamamlar ve birleştirir.
  • Aletlerle değil, fikirlerle ilgilidir.
  • Her yerde, herkes içindir.

Ancak şimdiye kadar yazdıklarım berimsel okuryazarlığın yalnızca görünen yüzüdür ve apolitiktir. DiSessa on beş yıl önce yayımlanan kitabında berimsel okuryazarlığı bir eğitimci gözüyle incelemektedir; öngörüleri son derece değerlidir. Kitabında, hem teknoloji uzmanlarını hem de eğitim bilimcileri ikna etmeye çalışmaktadır. Şimdi ise farklı aktörler sahnededir. Örneğin İngiltere’deki müfredat değişikliği yalnızca eğitimcilerin düşünüp taşınarak önerdiği ya da bir bakanın emriyle gerçekleşen bir reform değildir. Müfredat değişikliği, farklı aktörlerin çabasıyla gelişen olumsal bir süreçtir. Çocuklara bilgisayar programlamanın öğretilmesi ilk kez 2010’da eğitimcilerden, bilgisayar bilimcilerinden ve bilgisayarla ilgi kitle örgütlerinden oluşan dar bir toplulukta tartışılmaya başlamıştır. Daha sonra farklı kesimlerin (sivil toplum örgütleri, özel sektör ve kamu kuruluşları) katılımıyla küçük kampanyalardan köklü eğitim reformuna doğru bir süreç gelişmiştir. Bu sürecin gelişiminde özellikle iki örgüt, Nesta (National Endowment for Science, Technology and the Arts) ve Nominet Trust hükümet, sivil toplum ve özel sektör arasında bir ağ oluşturarak ve farklı kesimlerin kodlama eğitimi hakkındaki farklı görüşlerini uzlaştırarak belirleyici bir rol üstlenmiştir.

NESTA 1998 yılında İşçi Partisi Hükümeti tarafından bir vakıf olarak kurulmuştur. NESTA’nın temel amacı İngiltere’nin inovasyon kapasitesini artırmaktır. 2010 yılında hükümet, NESTA’nın yararlı işler yapıyor olmasına karşın kamu kuruluşu olarak faaliyet göstermesine gerek olmadığını ve etkinliklerinin gönüllü bir kuruluşa daha uygun olduğunu belirten bir değerlendirme yapar. Bunun sonucunda 2012 yılında NESTA bağımsız bir kuruluş olur ve adı Nesta olarak değiştirilir. Nesta çeşitli yardım kuruluşlarıyla, özel sektörle ve hükümetle ortak çalışmalar yapmaktadır. Nesta’nın farklı çalışma alanları vardır: kamu hizmetlerine vatandaş katılımı, hükümet inovasyonu, sağlık ve yaşlanma, dijital sanat ve medya, dijital eğitim, sosyal etki fonları vb. Nominet Trust ise İngiltere’de .uk uzantılı alan adlarının kaydını yapan Nominet şirketi tarafından 2008 yılında kurulmuştur. Nominet Trust da Nesta gibi toplumsal sorunlara yönelik teknolojik çözümler geliştirmeyi hedeflemektedir. Williamson (2015), bu iki kuruluşun ne resmi ne de ticari aktörler olduğunu, ama iki kesim arasındaki ilişkiyi sağladıklarını belirtmektedir. Kodlamayı öğrenme kampanyalarının oluşumu buna güzel bir örnektir.

Okullarda bilgisayar kullanma eğitiminin yerini bilgisayar bilimine bırakması gerektiği önerisi ilk kez 2010 yılında Computing at School (bilgisayar öğretmenlerine yönelik, Microsoft, Google ve British Computing Society tarafından maddi olarak desteklenen bir dernek) tarafından gündeme getirilmiştir. Konunun politik olarak önem kazanması ise ancak Nesta’nın 2011’de yayımlanan Next Gen (http://www.nesta.org.uk/sites/default/files/next_gen_wv.pdf) adlı raporundan sonra gerçekleşmiştir. Next Gen de okul müfredatının yenilenmesini talep etmektedir. Ama bu talep doğrudan eğitimle ilgili değildir. Rapor, Muhafazakar Parti Hükümeti’nin Kültür, İletişim ve Yaratıcı Endüstriler Bakanı Ed Vaizey’in talebi doğrultusunda Ian Livingstone ve Alex Hope tarafından hazırlanmıştır. Raporun yazarları, İngiltere’nin ekonomik olarak değerli ve yenilikçi sektörleri olan video oyunu ve görsel efekt endüstrilerinin önemli isimlerindendir. Raporda ilgili sektörlerdeki yetenek açığı tartışılmakta ve bunu kapatmak için bir müfredat değişikliği önerilmektedir. Google’ın CEO’su Eric Schmidt 2011 yılında Edinburgh Televizyon Festivali’nde yaptığı konuşmada konuyu tekrar gündeme getirene dek raporun fazla bir etkisi olmaz. Raporun yazarlarından Livingstone’un da belirttiği gibi Schmidt’in konuşması rapordaki müfredat değişikliğine siyasi desteği artırmıştır. Bundan kısa bir zaman sonra Royal Society yönetiminde ve Microsoft, Google ve üniversitelerin bilgisayar bilimi bölümlerinin katkılarıyla hazırlanan Shutdown or Restart (https://royalsociety.org/~/media/education/computing-in-schools/2012-01-12-computing-in-schools.pdf) başlıklı raporda da müfredat değişikliği önerisi tekrarlanır. Bu raporun ardından The Observer gazetesi yazarlarından John Naughton da konuyu destekler yazılar yazmaya başlar. Daha sonra oluşturulan, Nesta, BCS, Google, Microsoft, Computing at School ve Raspberry Pi’den oluşan “Next Gen Skills” adlı koalisyon Eğitim Bakanlığı’nı müfredat değişikliği konusunda ikna etmeyi başarır (age).

Bu gelişmeler (raporlar, konuşmalar ve oluşturulan koalisyonlar) üst düzeyde gerçekleşmektedir. Kodlama eğitiminin kamudaki görünürlüğü ise Code Club (https://www.codeclub.org.uk/) adlı gönüllü girişimle artar. Code Club, programcıların ilkokul öğrencilerine programlamanın temellerini öğrettikleri okul sonrası bir etkinlik olarak ortaya çıkmıştır. 2012 yılında kurulan Code Club, kısa sürede tüm ülkeye yayılır. Şu anda İngiltere’de 4000’den fazla Code Club ve bundan faydalanan 50000’den fazla öğrenci vardır. Code Club, Nesta ve Nominet Trust tarafından örgütlenmekte ve Digital Makers fonundan faydalanmaktadır. Code Club, Microsoft, Google, ARM, Samsung, Mozilla ve TalkTalk gibi şirketlerin yanı sıra hükümet tarafından da desteklenmektedir.

Code Club, Next Gen raporu sonrasında ortaya çıkan, bir orkestra gibi hareket eden ve gençleri kodlama öğrenmeye teşvik eden ağlardan sadece biridir. 2013 yılının Mayıs ayında Nesta kamu inovasyonu laboratuvarında, Nominet Trust ve Mozilla ortaklığında Make Things Do Stuff adlı kampanya başlatılır. Kampanyanın hedefi çocukların dijital teknolojileri yaparak, etkileşimle öğrenmelerini sağlamaktır. Yine ülke çapında bir örgütlenme söz konusudur. Kampanya büyük şirketler (Facebook, Microsoft, O2, Mozilla ve Virgin Media), gönüllü girişimler (Codecademy, Code Club, Raspberry Pi, Technology Will Save Us, Coding for Kids and Decoded vb) ve hükümet kuruluşları tarafından desteklenmektedir.

Kısacası, reformu baştan sona planlayan bir hükümet değil, ikna edilen bir hükümet vardır. Hükümet okul dışındaki bu uygulamaları yeni müfredatla okullarda daha sistematik hale getirmektedir. Bilgisayar uzmanları, girişimciler, yatırımcılar, gazeteciler, lobi grupları, politikacılar ve uluslararası şirketler Nesta ve Nominet Trust etrafında bir araya gelmiş, bu aktörlerin katkısı ve etkileşimiyle bir eğitim müfredatı oluşmuştur. Fakat karşımızda hiç de tarafsız olmayan bir eğitim müfredatı vardır. Oluşumunda payı olan aktörlerin değerlerini ve çıkarlarını içermektedir.

Kamusal Sorunları Çözmek İçin Kodlamayı Öğrenmek

Yazı,

Bilgiyi, konuşmanın yaptığından farklı biçimde düzenler ve depolar; sonuç olarak, dilin farklı bir biçimidir (Crowley ve Heyer, s. 99).

Yazı sonrası, hatırlama gereksiniminin azalması insan zihninin edinebildiği bilginin de artmasını sağlamış ve yazıyla bilenin bilgiden ayrılması “soyutlamayı, sistemleştirmeyi ve bilimsel düşüncenin nesnelliğini teşvik etmiştir” (age, s. 100).

Berimsel okuryazarlık, bunu daha ileriye taşıma iddiasındadır. Wing (2006) berimsel düşüncenin insanın soyutlama gücünü artırmasının yanında ona düşüncesini otomatikleştirme olanağını verdiğini iddia etmektedir. Bir kelimeyi sözlükten ararken ya da markette hangi kasada kuyruğa girmek gerektiğini düşünürken farkında olmadan berimsel düşünceye başvurulmaktadır. Berimsel okuryazarlık, bunu daha sistematik hale getirecektir. Olumlu ya da olumsuz olarak nitelendiremem ama berimsel okuryazarlıkla dünya farklı biçimde okunabilecektir.

Kodlama (yazma) program komutlarının alt alta sıralandığı mekanik bir iş değildir. Dünyanın nasıl çalıştığını berimsel olarak okuyup anlamayı ve insanın onunla etkileşimini biçimlendirebilmek için modellemeyi içerir. Dünya hesaplanabilir bir olgu olarak algılanır ve kodla algılanan bu dünya yeniden yaratılır. Programcılar işlerinin doğası gereği var olan ilişkileri ve iş süreçlerini modelleyip sayısallaştırırken bunları yeniden düzenler ve kurarlar; aksayan bir yer varsa ona yönelik çözümler geliştirirler. Bunu da gayet olağan ve işlerinin bir parçası olarak görürler.

Fakat bu pratiklerden beslenen, özellikle Silikon Vadisi’nin öncülüğünü yaptığı (http://www.nytimes.com/2013/03/03/opinion/sunday/the-perils-of-perfection.html) iki büyük tehlike vardır. Birincisi, toplumsal sorunları kültürel, ekonomik ve politik bağlamlarından kopartarak berimsel terimlerle çözümleme eğilimidir. İkincisi de bunun sonucu olarak doğru kod ve algoritmalarla karmaşık toplumsal problemlerin çözülebileceği inancıdır. İngiltere’de bu inanç neoliberal politikalarla eklemlenmekte ve devletin görev ve sorumluluklarını gönüllü kişi ve kuruluşlara devretmenin aracı haline gelmektedir. Örneğin, Nominet Trust ve Nesta toplumsal sorunlara yönelik teknolojik çözümler geliştirme gibi bir hedefleri olduğunu açıkça beyan etmektedir. Hatta Nesta tarafından hazırlanan ve kamu hizmetlerinin geleceğinin tartışıldığı People Helping People adlı raporun giriş bölümünde İngiltere’nin refah devleti deneyimi öncesinde kamu hizmetlerinin gönüllülerce yerine getirildiği ve bunun köklü bir gelenek olduğu yazılmaktadır (http://www.nesta.org.uk/sites/default/files/people_helping_people_the_future_of_public_services_wv.pdf). Nesta’nın kodlama öğrenimine bakışı da bu yöndedir. Programcılar hackathon (https://tr.wikipedia.org/wiki/Hackathon) etkinlikleriyle bir araya getirilmekte ve kamudaki sorunlara dijital çözümler bulmaları istenmektedir (https://nationalhackthegovernment.wordpress.com/). Öğrenciler berimsel yeteneklerle donatılırken de beklenti bu yeteneklerini kamu hizmetlerinin iyileştirilmesi ve toplumsal sorunların çözümü için kullanabilmeleridir. Ne kadar başarılı olabileceğini ve ne gibi sonuçlar doğurabileceğini bilemem, ama kodlama öğrenimi İngiltere’de neoliberal politikalar için bir kaldıraç görevi üstlenmektedir.

Geleceğin Mesleği: Programcılık?

Williamson (2015), kodlama öğrenimi hakkında yazılmış bir çok makale ve raporda, kodlama öğrenecek çocuklar geleceğin iş gücü olarak görüldüğünün altını çizmektedir (bkz. http://www.nesta.org.uk/publications/next-gen, https://royalsociety.org/topics-policy/projects/computing-in-schools/report/, http://www.ednfoundation.org/wp-content/uploads/TechnologyEducation_systemview.pdf, http://www.ukdigitalskills.com/). Bu çalışmalarda kodlama, ileriye yönelik, talep edilen ve nitelikli meslek olarak ele alınmakta ve çocukların piyasanın gereksinimlerine yanıt verebilecek yeteneklerle donatılması istenmektedir. Williamson (2015), bu söylemin dijital dünyadaki kırılganlığı, karmaşıklığı ve birçok kodlama işinin sıradanlığını gizlediğini vurgulamaktadır. Dışarıdan bir motivasyon olmadan programcılıkla uğraşıldığında programlama eğlencelidir; bulmaca çözmek ya da satranç oynamak gibidir. Ama söz konusu profesyonel olarak programcılık olunca iş hayatı rutin ve sıkıcı işlerle, fazla mesailerle doludur. Bunun yanında, öğrencilerin edinmesi istenen yetenekler (teknolojik yeniliklere kısa sürede uyum sağlayabilme ve esneklik gibi) piyasanın çalışanlardan beklentisidir.

Eğitim reformuna ya da kampanyalara destek veren bir çok programcı ve aktivistin geleceğin iş gücünü yetiştirmek gibi bir hedefi yoktur. Çoğu benimkilere benzer gerekçelerle kampanyaları desteklemekte ve gönüllü katkıda bulunmaktadır. Bir diğer deyişle, farklı hedefleri olanların desteklediği bir oluşum vardır. Fakat kimi zaman değerler ve çıkarlar çatışabilmektedir. Code Club’ın kurucularından Linda Sandvik’in başına gelenler buna iyi örnektir. Sandvik, Code Club’ın sponsorlarından Google’ın kitlesel gözetim pratiklerini eleştirdiğinde Code Club yönetim kurulu Sandvik’e ültimatom vermiştir: Ya sponsorlar hakkında olumsuz şeyler söyleme ya da Code Club yönetiminden ayrıl. Sandvik, ikincisini tercih etmiştir (https://gist.github.com/drtortoise/5dc254c614d6b6a19116).

Ayrıca programcılığın bir meslek olarak gelecekte daha önemli olacağı ve çocukların küçük yaştan itibaren bunun için gerekli yetenekleri edineceği iddiası ne kadar gerçekçidir? Programlama dillerinin insan diline yaklaşması ve kolaylaşması programcılığı gereksizleştirmemiş, aksine yaygınlaştırmıştır. Yakın zamanda da programcılığın tamamen ortadan kalkacağını düşünmüyorum. Fakat bilgisayar bilimindeki gelişmeler programcılık bilgisi isteyen bazı işleri otomatikleştirebilir ve sektördeki programcı açığı beklenenden çok daha az olabilir. “Bilgisayarların algılayıcı verisi ya da veritabanları gibi veri türlerine dayalı öğrenimini olanaklı kılan algoritmaların tasarım ve geliştirme süreçlerini konu edinen bir bilim dalı” olan makine öğrenimi (machine learning) ile programcılık da dahil olmak üzere birçok mesleğin otomasyonu söz konusudur. Kodlama eğitimi kampanyaları çoğu zaman bu olasılığı göz ardı etmektedir (Frey ve Osborne, 2013).

Şirketler İçin Yeni İş Alanları

Makine öğrenimindeki gelişmeler ve gelecekte piyasanın ihtiyaç duyacağı iş gücünün niteliği ve niceliği hakkında sponsor şirketlerin elinde çok daha kapsamlı veriler vardır. Geleceğe dair daha ayrıntılı öngörüler yapabilirler. Bu verilerin ve buna dayalı öngörülerinin ne olduğu hakkında bilgi sahibi olmasak da kodlama eğitiminin şirketler için şu an yeni bir pazar yarattığı ortadadır. ABD’deki Hour of Code kampanyasının kurucuları arasında Silikon Vadisi’nin melek yatırımcılarından Partovi twins de vardır ve kampanya üç büyük şirket (Google, Microsoft ve Facebook) tarafından desteklenmektedir. Bu kampanyanın İngiltere’deki kuzeni Year of Code da uluslararası bir girişim sermayesi firması olan Index Ventures tarafından desteklenmektedir. Index Ventures, insan hayatının ve ekonominin her yönünün teknoloji ve girişimci ruhu ile dönüştürülebileceğini savunmaktadır. Daha ilginci Year of Code’un arkasındaki 23 kişi incelendiğinde bunlardan sadece üçünün gerçekte teknolojiyle ilgili, diğerlerinin sermayedar ya da halkla ilişkiler yüzü olmasıdır (https://tommorris.org/posts/8776). Year of Code’un arkasındaki en önemli isimlerden biri kısa bir süre öncesine kadar Index Ventures ekibinde yer alan girişimcilerden biri olan Saul Klein’dır. Ne tesadüftür ki Klein’ın kuzeni Alex, çocuklara kendi bilgisayarlarını yapmalarına ve kodlama öğrenmelerine yardımcı olan takımlar (kit) üreten Kano (http://us.kano.me/) şirketinin kurucularındandır.

John Naughton’a (http://www.theguardian.com/technology/2014/feb/15/year-of-code-needs-reboot-teachers) göre girişim sermayesinin yoğun ilgisinin iki açıklaması olabilir. Birincisi, safça olan, girişimciler Year Of Code’a hayırsever duygularla yaklaşmaktadır. Fakat başarısız halka ilişkiler nedeniyle kampanya fiyaskoyla sonuçlanmıştır. Kampanyanın sözcüsü Lottie Dexter’ın kodlama bilmediğini itiraf etmesi kampanyanın inandırıcılığını sarsmıştır (http://www.theregister.co.uk/2014/02/11/coding_in_schools_madness/). İkincisi, şirketler müfredat değişikliğinin ve Raspberry Pi Vakfı tarafından okullarda bilgisayar bilimini öğretmek amacıyla geliştirilmiş, kredi kartı büyüklüğünde tek kartlı bir bilgisayar olan Raspberry Pi’nin başarısını fark etmişlerdir ve kendilerine yeni ticari fırsatlar yaratmak istemektedirler. Hayırseverlik inandırıcı olmasa da bir beceriksizlik vardır. Ama daha önemlisi müfredat değişikliğinin arkasında büyük bir pazar fırsatı vardır.

***

Giroux’un (1998) Gramsci’den alıntıladığı sözler berimsel okuryazarlık için de geçerlidir:

Gramsci’ye göre okuma-yazma iki yanı da keskin bir kılıçtı; bireysel ve toplumsal güçlenme amacıyla kullanılabileceği gibi, baskı ve egemenlik ilişkilerinin sürdürülmesi için de kullanılabilirdi. Gramsci, bir mücadele alanı olarak eleştirel okuma-yazma için, hem ideolojik bir yapı, hem de toplumsal bir hareket olarak, uğruna savaşım verilmesi gerektiğine inanıyordu (s. 34).

Bu mücadeleye de berimsel okuryazarlığın politik bağlamını dikkate alarak başlamak gerekiyor. Kodlama eğitimiyle liberal politikaları güçlendirmek, sömürüyü artırmak ve geleceğin işçilerini yetiştirmek istenmektedir. Uluslararası tekellerin, girişim sermayesi şirketlerinin ve liberallerin ilgisi boşuna değildir. Ama internetteki geçmiş mücadeleler bunun karşıtının da yaratılabileceğini, sistemde çatlaklar oluşturulabileceğini göstermektedir.

Kaynaklar

Crowley, D., Heyer, P. (2011). İletişim Tarihi, teknoloji-Kültür-toplum, çev. Berkay Ersöz, Siyasal Kitabevi, Ankara.

DiSessa, A. A. (2001). Changing minds: Computers, learning, and literacy. Mit Press.

Fischer, G. (2005). Computational literacy and fluency: being independent of high-tech scribes. Strukturieren-Modellieren-Kommunizieren. Leitbild mathematischer und informatischer Aktivitäten, Franzbecker, Hildesheim, 217-230.

Frey, C. B., Osborne, M. A. (2013). The future of employment: how susceptible are jobs to computerisation. http://www.oxfordmartin.ox.ac.uk/downloads/academic/The_Future_of_Employment.pdf, son erişim 21/03/2016.

Giroux, H. A. (1998). Okuma-yazma ve siyasal güçlenme eğitbilimi. içinde (der.) Paulo Freire ve Donaldo Macedo, Okuryazarlık: Sözcükleri ve Dünyayı Okuma, çev. Serap Ayhan, Ankara, İmge Yayınevi, 33-71.

Williamson, B. (2015). Political computational thinking: policy networks, digital governance and ‘learning to code’. Critical Policy Studies, 1-20.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.

24 Mayıs 2016

Posted In: berimsel okuryazarlık, Bilgisayar Bilimi, Emek, google, kodlama, neo-liberalizm, Özgür yazılım

Okullarda Kodlama Dersi – 1

Bilim, Sanayi ve Teknoloji Bakanlığı’nın resmi Twitter hesabından yapılan paylaşımda kodlama dersinin ortaokul ve lise müfredatına alınması için Milli Eğitim Bakanlığı ile birlikte çalışılacağı duyuruldu:

Kodlama Dersi Geliyor

Kodlama Dersi Geliyor

Bilim, Sanayi ve Teknoloji Bakanlığı’nın Twitter sayfası “üreten bir ülke olmak”, “bilişim vadisi kurmak”, “dünyaya yeni teknolojiler sunmak” gibi güzel mesajlarla dolu. Fakat,

…dar anlamda bilim ve teknoloji politikası, kısaca ilk ortaya atıldığı zamanki terimiyle bilim politikası, her türlü bilimsel, teknolojik ve yenilikçi [innovative] faaliyetlerin toplumsal bir amaç ya da amaçlar doğrultusunda yönlendirilmesi ve denetlenmesi için farklı düzeylerde politikalar tasarlanıp uygulanmasıdır. Firma düzeyindeki bir şirket stratejisi [corporate strategy] içinde yenilik çalışmaları ve buna bağlı Ar-Ge hedeflerinin saptanmasından bir ülkenin ve hatta bir ülkeler topluluğunun bilim ve teknoloji politikasının oluşturulup uygulanmasına değin çok geniş bir yelpazede yer alan bu politikalar da, zorunlu olarak diğer politikalarla eklemlenmek durumundadır. Örneğin, eğitim politikası, iktisat politikası, vergi veya gümrük politikası, banka mevzuatı vb, yerine göre, her düzeydeki yenilik faaliyetlerini etkiler ve tüm politikalar belli bir mantık içerisinde birbirleriyle eklemlenmezse, dar anlamda ‘salt’ bir bilim ve teknoloji politikasının başarısı azalır. (Türkcan, 2009, s.205)

Bu bağlamda, kodlama dersinin müfredata eklenmesi ya da bir bilişim vadisi kurulması yönündeki çalışmalar tek başına yeterli olamayacaktır. En başta yıllardır yapboz tahtası haline getirilen eğitim sistemi, bilim ve teknolojideki hedeflerle uyumlu değildir. Biraz hafızamızı tazeleyelim. Yıllar önce de ülkemizdeki bilişim çalışanlarının yetersiz olduğundan yakınılıyordu. Sonra Türkiye’nin dört bir yanına, neredeyse her üniversiteye, yeterli öğretim üyesi ve altyapı olmadan bilgisayar mühendisliği bölümü açıldı. Böylece bir zamanlar “popüler meslekler arasındaki bilgisayar mühendisliği, akademik başarısı düşük öğrencilerin tercih ettiği bölümler”den biri oldu (http://www.aksam.com.tr/yazarlar/ismi-havali-ama-tercih-eden-yok/haber-305135). Bilgisayar mühendisi sayımız arttı ama bu artış bilişim alanında bir atılım yapmamıza değil, yedek iş gücü ordusuyla bilişim çalışanı ücretlerinin düşürülmesine neden oldu. Hukuk ve Tıp’a getirilen taban puanı uygulamasının diğer bölümler için de gerekli olduğunu söyleyen, “MEB’in eğitim fakültelerine, mimar ve mühendis odalarının da mühendislik fakültelerine daha nitelikli öğrenci alınması için yüksek taban puan baskısı yaratmasının, daha iyi öğretmen ve daha iyi mühendis yetiştirilmesi konusunda çok yararlı olacağı vurgusu yapan” YÖK Başkanı Yekta Saraç’ın sözleri bilim ve teknoloji politikamızın bütünlükten yoksun olduğunun bir başka göstergesi. Başta bilgisayar mühendisliği olmak üzere, bu kadar mühendislik bölümünü kim, neden açtı?

Bilim Teknoloji ve Sanayi Bakanlığı diğer ülkelerdeki girişimlerden etkilenmiş gibi görünüyor. Barack Obama örneğinde olduğu gibi hükümetler en üst düzeyde bu konuyla ilgileniyor, yapılan etkinliklere katılıyor (https://www.whitehouse.gov/blog/2014/12/10/president-obama-first-president-write-line-code). Başta İngiltere olmak üzere birçok Avrupa Birliği ülkesi, çocukları bilgisayar programlamayla erken yaşlarda tanıştırmak için yoğun çaba gösteriyor (http://www.euractiv.com/section/digital/infographic/infographic-coding-at-school-how-do-eu-countries-compare/). Avustralya ilkokul müfredatında tarih ve coğrafya dersleri yerini kodlamaya bıraktı (http://www.techtimes.com/articles/86669/20150921/australia-replaces-history-and-geography-with-coding-in-new-primary-school-curriculum.htm). Bu müfredat değişikliklerinde ülkelerin özgün ihtiyaçları belirleyici oluyor. Estonya’nın filizlenen teknoloji endüstrisi daha çok programcıya gereksinim duyduğundan programcılık öğretimine daha çok vurgu yapıyorlar; bazı okullarda programcılık eğitimi altı yaşında başlıyor. Danimarka ise büyük firmalarının çıkarları doğrultusunda kullanıcı arayüzü tasarımının ve dijital teknolojinin topluma etkisinin öğretilmesine ağırlık veriyor. Aarhaus Üniversitesi’nden Michael Caspersen, müfredatın sadece ileride bilgisayar bilimlerini tercih edeceklere değil, tüm öğrencilere faydalı olmasını istediklerini söylüyor (The Economist, 2014). Türkiye’nin nasıl bir eğitime ihtiyacı olduğunun tartışılıp tartışılmadığını bilmiyorum.

Farklı ülkelerdeki uygulamalar önemli dersler de içeriyor. Bir karar almadan önce bu örneklerin Türkiye’nin koşulları da dikkate alınarak incelenmesi gerekiyor. Yoksa yeni bir Fatih Projemiz olabilir. Yukarıdaki örneklerde görüldüğü gibi ülkeler kısa süreli hedeflerle hareket etmiyorlar. 6 yaşındaki çocuğun okuyup çalışma hayatına katılması için önünde uzun yıllar var. Örneğin İngiltere, 2014 yılında kodlamayı ilk ve orta öğretim müfredatına dahil ederken en azından sonraki 10 yıl için ayrıntılı bir plan yapmış durumda. İngiltere’de kodlama öğretimi müfredat değişikliğinin sadece bir parçası; asıl değişim okullardaki bilişim teknolojileri kullanma eğitiminin yerini bilgisayar biliminin alması. Daha 2011 yılında Google’ın Başkanı Eric Schmidt, yazılımı kullanmayı öğreten ama onun nasıl yapıldığı hakkında bilgi vermeyen İngiliz eğitim sistemini eleştirmekteydi (The Economist, 2014). İngiltere Eğitim Bakanı Michael Gove da 2014 yılında yaptığı konuşmada bu eleştiriye hak vermektedir. Bilişim teknolojileri eğitiminin öğrencilere sadece bilgisayar okuryazarlığı verdiğine, derslerde tekrar tekrar kelime işlem programlarının nasıl çalıştığının anlatıldığına ve öğrencilerin kimi zaman modası geçmiş yazılımları öğrenmek zorunda kaldığına vurgu yapan Gove, bunu teleks göndermeyi ya da zepline binmeyi öğretmeye benzetiyordu. Gove, yeni eğitim müfredatıyla öğrencilere kodlamayı, var olan programları çalıştırmak yerine kendi programlarını geliştirmeyi öğreteceklerini söylüyordu (https://www.gov.uk/government/speeches/michael-gove-speaks-about-computing-and-education-technology). İngiltere’nin 2014 yılında uygulanmaya başlanan yeni eğitim müfredatı bu doğrultuda geliştirildi. Müfredat değişikliğiyle öğrencilerin:

  • soyutlama, mantık, algoritmalar ve veri temsili de dahil olmak üzere bilgisayar biliminin temel kavramlarını anlayıp uygulayabilmesi
  • problemleri berimsel (computational – bkz. https://tr.wikipedia.org/wiki/Berim) terimlerle analiz edebilmesi ve bu tip problemlerin çözümü için gerekli beceriyi edinebilmesi
  • problemleri çözebilmek için yeni ya da aşina olmadıkları da dahil olmak üzere bilişim teknolojisini değerlendirip uygulayabilmeleri
  • bilişim ve iletişim teknolojisinin sorumlu, yetenekli, kendinden emin ve yaratıcı kullanıcıları olmaları

hedeflenmekte.

Dört bölümden oluşan müfredat, 5 ile 16 yaş arasındaki tüm çocukları kapsamakta (bkz. http://bit.ly/1f7PIFU , http://www.theguardian.com/technology/2014/sep/04/coding-school-computing-children-programming ).

Birinci bölüm, 5-6 yaşındaki çocuklar için. Bu bölümde, çocuklar algoritma kavramı ile tanışacaklar. Çocuklar algoritma kavramını gündelik hayattan örneklerle ve oyunlarla tanıyacak. Örneğin algoritmayı açıklamak için sabah yaptıkları rutin işler adımlara bölünerek anlatılacak. Basit programların oluşturulup çalıştırılmasının yanı sıra bu programların arkasındaki mantık da gösterilecek. Bilişim teknolojilerinin daha sorumlu ve saygılı kullanımı, kişisel bilgilerin mahremiyeti ve internet ya da herhangi bir bilişim teknolojisi ile ilgili bir sorun yaşadığında nereye başvurabileceği bu bölümde öğretilmeye başlanacak. Sonraki bölümlerde de bu konular üzerinde öğrencinin yaşı göz önünde bulundurularak tekrar durulacak.

İkinci bölüm, 7-11 yaşlarındaki ilkokul öğrencileri için. Öğrencilere, programlamanın temel yapıtaşları olan sıralama (sequencing), seçme (selection), döngü (repetition), değişken (variable) kavramları öğretilecek. Bu bölümde, bilgisayarın ve programların çalışma mantığının öğretilmesinin yanında bilişim teknolojilerinin nasıl daha yaratıcı kullanılabileceği üzerinde durulacak.

11-14 yaşında olanlar için tasarlanan üçüncü bölümde ise öğrenciler, gerçek dünyadaki problemleri ve fiziksel sistemleri soyutlamayı, tasarımı ve programlama dilleri ile gerçekleştirimi öğrenecekler. Bölüm sonunda öğrencilerin, en az iki programlama dilini öğrenmiş olması beklenmekte. Öğrenciler, bu bölümde Boole cebirini devre ve programlarda kullanacaklar, basit arama ve sıralama algoritmalarını öğrenecekler. Müfredat yalnız yazılım bilgisi ile sınırlı değil. Bilgisayarın donanımsal bileşenleri ve bilgisayarlar arası iletişim de bu bölümün konuları arasında yer alıyor. Önceki iki bölümde olduğu gibi bu bölümde de öğrencilere var olan teknolojileri kullanmayı öğretmek gibi bir hedeften çok öğrencilerin yaratıcı bir şekilde yeni çözümler geliştirmesi, var olan teknolojiyi kendi ihtiyaçlarına göre uyarlaması veya farklı teknolojileri belirli bir amaç doğrultusunda bir araya getirmesi ön planda olacak.

Dördüncü ve son bölümde ise öğrenciler, merak ve yetenekleri doğrultusunda bilgisayar bilimleri, bilişim teknolojileri veya dijital medya konusunda daha derinlemesine eğitim alabilecekler.

Bu ayrıntılı müfredata karşın İngiltere’de eğiticilerin eğitimi konusunda yeterli hazırlık yapılmadığından geçiş döneminde en büyük zorluğu öğretmenler yaşamakta. İki büyük sorun var. Birincisi, bilişim teknolojisi öğretmenlerin çoğunun ne programlama konusunda tecrübesi ne de berimsel kavramlar hakkında bilgisi var. Hükümetin öğretmenlerin eğitimi için ayırdığı fonlar tüm iş gücünün eğitimi için yetersiz, bir çok öğretmen çareyi web’deki ücretsiz eğitimlerde arıyor ve zaten fazla olan işlerine bir yenisini eklemek zorunda kalıyor. İkincisi, öğretmenlerin çoğunluğu kendilerini bu alanda yeterli görmüyor ve özgüven sorunu yaşıyor (http://www.computerworlduk.com/careers/coding-in-british-schools-review-of-first-term-3595505/). The Economist (2014), İngiltere’nin müfredat değişikliğinde fazla aceleci olduğunu belirtiyor. İsrail’in 1000, Bavyera’nın ise 700’den fazla öğretmenine gerekli eğitimleri verdikten sonra müfredat değişikliği için gerekli adımları attığına işaret ediyor .

Yanlış anlaşılmasın. Bilim, Teknoloji ve Sanayi Bakanlığı’nın önereceği müfredat değişikliğine karşı değilim. Excel’de tablo yapmayı, Power Point’te sunum yapmayı öğretirken yukarıdaki gibi bir müfredat hazırlamak gerçekten olağanüstü. Son yıllarda, kişisel bilgisayarlar yerini tablet ve akıllı telefonlara bırakırken kullanıcıyı salt tüketiciye indirgeme eğilimi vardı. Şimdi ise kullanılan teknolojilerin yeniden programlanabilirliği öne çıkaran bir yaklaşım öneriliyor. Bu nedenle, çocuklara yönelik programlama eğitimini destekliyorum. Ama amaç bilişim teknolojileri alanında ileri bir ülke olmaksa bu müfredat değişikliğinin yeterli olamayacağını, bilgisayar mühendisliği kontenjanlarının artırılmasındaki gibi kendimizi kandıracağımızı düşünüyorum. Yetişmiş iş gücü konusunda İngiltere’dekine benzer (ve belki daha ağır) sorunlar yaşanacaktır; bu aşılabilir. Ancak asıl sorun söz konusu müfredat değişikliğini yapan ülkelerin birkaç yıl değil, en az on yıl sonrasını dikkate alıyor olmalarıdır. Eğitim sistemi sürekli değişiyor ve nitelik giderek düşüyor… Daha büyük korkum ise bilişim teknolojileri eğitiminde yapılanın tekrarlanması, okulların belirli bir şirketin ürünlerini kullanmaya zorlanması.

Hükümetlerin ya da uluslararası şirketlerin programlama eğitimine bu kadar önem vermesinin en büyük nedenlerinden biri neredeyse yarım asırdır devam eden yeterli ve nitelikli yazılım eksikliğinden kaynaklı yazılım krizi (https://en.wikipedia.org/wiki/Software_crisis). Programcı sayısını artırmak da krizi aşmak için uygulanan stratejilerden biridir. Yalnız programcı sayısını artırmakla kalmayacaklar, yedek iş gücü ordusuyla bilişim çalışanları üzerindeki baskı daha da artacak, ücretler düşecek. Elbette ki bunun farkındayım.

Buna karşın desteğimin ise üç nedeni var. Birincisi berimsel okuryazarlık (literacy) önümüzdeki yıllarda yaygınlaşacak. Kaliteli bir eğitim verileceği konusunda şüphelerim olsa da hiç yoktan iyidir. İkincisi, günümüz dünyasında Lessig’in (2006) de vurguladığı gibi “Kod Kanundur”. Bunu kavramadan, gözetime ve sansüre karşı mücadele etmek, internette ifade özgürlüğünü savunmak giderek zorlaşıyor. Üçüncüsü ise programcılık, fazla mesai olarak karşınıza çıkmadığı veya ne yapacağınıza kendiniz karar verdiğiniz sürece eğlencelidir. Her yaştan insana tavsiye ederim.

Berimsel Okuryazarlık (Computational Literacy)

Programlamayla okuryazarlık arasında bir paralellik kurulması yeni değildir. Bilgisayarların programlanmaya başlandığı ilk günlerden beri vardır. 1960’larda birçok programcı, programlamayı okuryazarlık ile ilişkilendirmekte, hatta bir bilgisayar bilimcisi olan Alan Perlis okullardaki zorunlu kompozisyon dersi gibi programcılığın da lisans öğrenciler için zorunlu bir ders olması gerektiğini savunmaktadır. 1960’larda John Kemeny ve Thomas Kurtz’in Basic programlama dilini tasarlama amaçları programlamayı öğrenciler ve uzman olmayanlar için daha kolay hale getirmektir (Vee, 2013). Sovyet bilimci Ershov (1981) da programcılığı okur yazarlık ile karşılaştırmakta, daha 1980’lerde programcılığın ikinci okuryazarlık olacağını duyurmaktadır. Mozilla Vakfı’nın başkanı Mark Surman’a göre ise kodlama, okuma, yazma ve aritmetikten sonra dördüncü okuryazarlıktır (https://code.org/quotes).

Özgür yazılımdaki özgürlüğün, konuşma özgürlüğü (free speech) ile anlatılması da bilinçli bir tercihtir. Özgür Yazılım Hareketi, free software’deki free kelimesinin yazılımın ücretsiz olduğunu değil, özgür olduğunu anlatırken “free as in free speech not as in free beer” der. Kodlamanın gündelik dil gibi bir ifade biçimi olduğu savunulur. Buna göre, insan dili, programcının yazdığı kaynak kodu ve derleyicinin çevirdiği nesne kodu düşüncenin farklı biçimlerde temsilidir. Düşünce önce belirli bir dilde (Türkçe, İngilizce, Almanca vs) temsil edilir; bir programlama dili ile kaynak kodu haline getirilir ve yazılımsal araçlarla nesne koduna çevrilir. Her biçim özgündür ama bir süreklilik vardır. Bundan yola çıkarak yazılımın konuşma özgürlüğü gibi ABD Anayasası’nın 1. Ek Maddesi kapsamında değerlendirilmesi gerektiği öne sürülmektedir (http://www.2600.com/dvd/docs/2001/0126-speech.html).

Peki okuryazarlık nedir? Literacy, kelimesini Türkçe’ye okuryazarlık olarak çevrilmekte ve basitçe okuma ve yazma yetisini ifade etmektedir. Vee’ye (2013) göre bir çok çalışmada okuryazarlık, yanlış bir biçimde, genel olarak becerileri (görsel okuryazarlık, oyun okuryazarlığı, tasarım okuryazarlığı vb) anlatmak için kullanılmaktadır. Bu kullanımlara göre pekala araba okuryazarlığından da söz edilebilir.

Vee (2013) okuryazarlığı, sembolik ve altyapısal teknolojiyi (örneğin metinsel yazma sistemi gibi) yaratıcı, iletişimsel ve retoriksel amaçlar için kullanma becerisi olarak tanımlamaktadır. Okuryazarlık insanlara düşüncelerini metin olarak ifade etme (yazma) ve başkalarının metin olarak ifade ettiği düşünceleri yorumlama (okuma) imkanı sağlar. Bunun yanında, herhangi bir teknolojinin iletişim için kullanımını basitçe okuryazarlık kapsamında değerlendirmez. Okuryazarlıktan bahsedebilmek için birinci olarak söz konusu teknolojinin toplumun iletişim pratiklerinin merkezini veya altyapısını oluşturması gerekmektedir. Gündelik hayatta belirleyiciliği olmayan bir teknoloji okuryazarlık kapsamında değerlendirilemez. İkinci olarak da bu teknolojiyle elde edilen oluşturma ve yorumla yeteneğinin kolay ve toplumda yaygın olması gerekir. Bu iki durumun eş zamanlı olarak ortaya çıkması gerekmediği gibi herhangi bir öncelik sırası da yoktur, toplumdan topluma değişebilir. Örneğin İngiltere’de okuma ve yazma becerilerinin yaygınlaşması yazının merkezi, belirleyici ve düzenleyici bir rol üstlenmesinden yüzyıllar sonra gerçekleşmiştir. Amerika’da ise tam tersi yaşanmıştır. Okuma ve yazma becerilerinin yaygınlaşması, okuryazarlığın belirleyiciliğinin ve düzenleyiciliğinin önünü açmıştır. Vee (2013), okuryazarlığın basitçe teknik bir süreç olmadığının, toplumsal ve ideolojik etkenlerle biçimlendiğinin de altını çizer.

Programlama da insanların sembollerden oluşan bir teknolojiyle düşünceleri temsil etme ya da yorumlama becerisidir. Sonraki bölümde tartışacağım gibi programlamanın yarattığı kodun gündelik hayattaki belirleyiciliği ve düzenleyiciliği giderek artmaktadır. Ancak program kodunu okuma ve yazma becerisinin yaygınlığını değerlendirdiğimizde okuryazarlıktan söz etmek için henüz erkendir. Programlama yalnız bilgisayar bilimcilerin ve ilgili mesleklerin işi olmayıp diğer meslekler (gazetecilik, tıp, biyoloji vb.) arasında yaygınlaştığında okuryazarlıktan söz edilebilecektir (age).

Vee (2013), bilgisayar okuryazarlığı yerine berimsel okuryazarlığı tercih etmektedir. Berim (compute), bilgisayarın yaptığı iştir. Ama bilgisayar teknolojisi hızla değişmekte, geleneksel bilgisayarlar yerini daha farklı teknolojileri bırakmaktadır. Bu gelişme, yazı teknolojisindeki gelişmelere benzetilebilir, okuma yazma sabit kalsa da kullanılan teknoloji (papirüs, kağıt, matbaa) değişmektedir. Dolayısıyla Vee (2013), somut bir teknolojiye bağlanmak yerine soyut berimsel okuyazarlık kavramını tercih etmektedir. Berimsel okuryazarlık, berimsel düşünmeyi ve soyutlamayı gerektirmektedir. Berimsel düşünme ile bütün parçalara ayrılmakta ve programlama dili aracılığı ile bilgisayarın anlayabileceği şekilde yeniden bütünleştirilmektedir. Programlama dillerinin tarihsel gelişimine bakıldığında zaman içinde daha kullanıcı dostu, ileri düzeyde bilgi ve yetenek gerektirmeyen dillerin geliştirildiği görülür. Hatta bu durumu, programlamanın ileri bir tarihte gereksizleşeceğinin, programlamada gündelik dile yakın dillerin kullanılacağının ve böylece programlama becerisine gerek kalmayacağının göstergesi olarak yorumlayanlar vardır. Vee (2013) bu basitleştirmenin tam tersi bir sürece yol açtığını belirtmektedir; programlama dilleri basitleştikçe daha farklı alanlara yayılmakta ve yaygınlaşmaktadır. Ayrıca hükümetlerin yeni eğitim politikaları da geçmiş yıllardaki okuryazarlık kampanyalarını anımsatmaktadır. Dolayısıyla son yıllardaki gelişmeleri ve girişimleri dikkate alarak oluşum halindeki bir okuryazarlıktan söz edebiliriz.

Kod Kanundur

Lessig’e (2006) göre insanların davranışları, yasa, norm, piyasa ve mimari tarafından düzenlenmekte ve sınırlanmaktadır. Lessig bu düzenleyicileri açıklamak için sigara içme örneğini verir. Nerelerde sigara içilip içilemeyeceği yasalarla düzenlenmiştir. Belirli bir yaşın altında olanlara sigara satılması yasaktır. Özel bir araçta sigara içmeniz yasalarla engellenmemiştir ama normlar diğer yolculardan izin almamızı gerektirir. Piyasa da bir düzenleyicidir. Sigara fiyatlarının artması, ucuza kaçak sigara bulabilme ihtimali, farklı kalite ve fiyatta sigaraların satılması yasa ve normlar gibi düzenleyici ve sınırlayıcı bir etkiye sahiptir. Sigara örneğindeki mimari ise sigaranın nasıl tasarlandığı ve yapıldığı ile ilgilidir. Dumansız bir sigara kullanıyorsanız sigara içebileceğiniz yerler daha fazladır. Ağır aromalı sigaralar, sigaradan rahatsız olanların sayısını artırabileceğinden sigara içmenizi sınırlayabilir. Ya da kullandığınız sigaranın fazla nikotinli olması içeceğiniz sigaranın sayısını etkileyebilir.

Bu düzenleyicilerden her birinin farklı etkisi ve yaptırımı vardır. Yasaklanmış bir ortamda sigara içerseniz ceza ödemek zorunda kalırsınız. Normlara aykırı davranırsanız ayıplanırsınız. Fazla nikotinli bir sigaradan çok içerseniz sağlığınıza zarar verirsiniz. Sigara fiyatının artması cebinizden çıkan parayı artırır. Ayrıca tüm bu düzenleyiciler ayrık çalışmazlar, birbirlerini de etkilerler. Mimari bazen normları ve yasaları güçlendirebilir bazen de zayıflatabilir. Piyasa çıkarlarından kaynaklı düzenlemeler farklı mimarilere neden olabilir.

Bu düzenleyicilerin her birinin ayırt edici nitelikleri ve çalışma prensipleri vardır. Mimarinin düzenleyiciliğinin en önemli niteliği ise kesinliği ve uygulandığı zaman aşılmasının zorluğudur. Aşağıda Lessig’in (2006) mimarinin insan davranışları üzerindeki düzenleyici etkisini göstermek için verdiği örneklerden bazıları yer almaktadır:

  • Fransız Devrimi’nde devrimcilerin Paris’in dar ve dolambaçlı sokaklarına kurdukları barikatlar onlara önemli bir üstünlük sağlamış ve şehrin kontrolünü ele geçirmelerini kolaylaştırmıştır. Bunun fakında olan III. Napolyon Paris’i geniş bulvarlarla yeniden inşa eder.
  • Bazı Avrupa ülkelerinde yürütme ve yasamanın baskısına maruz kalmamak için anayasa mahkemeleri özellikle başkentten uzakta inşa edilmiştir.
  • Amerika’daki bir otelin müşterileri asansörlerin yavaşlığından şikayetçidir. Otel asansörleri hızlandırmaz ama asansör kapısının yanına yerleştirdiği aynalardan sonra şikayetler sona erer.
  • Okulların veya parkların yanına yapılan kasisler sürücüleri yavaşlamaya zorlar.
  • Robert Moses’un Long Island’da inşa ettiği köprüler otobüslerin geçişine uygun değildir. Böylece daha çok toplu taşımayı kullanmak zorunda olan siyahların halk plajlarına gelişleri engellenmiş olur.
  • Bir Amerikan havayolu şirketinin yolcuları bagajlarının geç gelmesine öfkelenmektedir. Üstelik bekledikleri süre diğer yolcularınkinden fazla değildir. Şirket, uçakların iniş noktasını bagajlardan daha uzağa taşıyarak zaman kazanır. Böylece zaman kazanılır, yolcular bagaj için beklemek zorunda kalmazlar ve şikayetler biter.

Önceki bölümde de belirttiğim gibi başta internet olmak üzere dijital teknolojiler gündelik yaşamın önemli bir parçası haline gelmiştir ve gündelik yaşamdaki yaygınlıkları her geçen gün artmaktadır. Dolayısıyla internetin ilk günlerinde olduğu gibi hükümetlerin etkisinden muaf bir internet artık yoktur. Hükümetler insanların, özellikle kendi vatandaşlarının, internet üzerindeki davranışlarını düzenlemek istemektedir. Bu düzenleme arzusu kendini özellikle üç alandaki çatışmalarda kendini göstermektedir: Fikri mülkiyet, mahremiyet ve ifade özgürlüğü.

İnterneti düzenlemek isteyenlerin internetteki kişinin kim olduğunu, nerede olduğunu ve ne yaptığını bilmeleri gerekir. Lessig (2006), internetin ilk günlerdeki mimarisinin buna yönelik düzenlenmediğini ve farklı değerler içerdiğini belirtirken bu mimarinin mutlak olmadığının özellikle altını çizmektedir. Lessig’in kısaca kod olarak adlandırdığı internetin yazılımdan ve donanımdan oluşan mimarisi tarihin en düzenlenebilir alanlarını yaratmaktadır. Ayrıca Lessig (2006) internetin ticarileşmesinin hükümetlerin gücünü artıran bir gelişme olduğunu belirtmektedir. Böylece hükümetler maddi çıkarı olan şirketleri belirli düzenlemeleri yapmaya zorlayabilmektedir; doğrudan kodu değil, kodlayanları kontrol etmektedirler. Doğrudan internete ya da internete erişimde kullanılan cihazlara eklenen kodlar hükümetlerin interneti düzenlemek için sordukları sorulara yanıt verebilmektedir: kim, nerede, ne yapıyor?

İnternette düzenlemenin kendisi tamamen iyi ya da kötüdür denilemez. Ama günümüzde şirketler ya doğrudan kendi ya da hükümetlerin gereksinimleri doğrultusunda vatandaşları etkileyen bazı düzenlemeler yapmakta ve bu düzenlemeleri de ilgili teknolojinin doğası gibi sunmaktadır. Yasalar neyin yapılıp neyin yapılamayacağını çoğu zaman doğrudan söyler; bazı konular özellikle belirsiz ve yoruma açıktır. Vatandaşlar yasayla yapılan bir düzenlemenin bilgisine sahip olabilir. Aynı şeffaflık kodla yapılan düzenlemelerde de olmalıdır. İnsanlar kodla yapılan bir düzenlemeyi göremiyor, tartışamıyor ve eleştiremiyorsa sorun vardır. Şöyle basit bir örnek vereyim, bir kurum işe alacağı kişileri kura ile belirliyor. Adaylar karşılarındaki kocaman ekrandan kura sonucunu izliyor. Söz konusu kura ve bilgisayar olunca herkes susuyor. Ama kura koduna erişimimiz yoksa, kodun nasıl çalıştığını bilmiyorsak kodun gerçekten rastgele çalışıp çalışmadığını da bilemeyiz. Bu nedenle, hükümetin ya da kamu kurumlarının kodla yaptığı tüm düzenlemeleri vatandaşlarıyla paylaşması gerekmektedir. Yazılım geliştirenler, sizin yerinize bazı kararlar vermiş ve fikri mülkiyet, mahremiyet ve ifade özgürlüğü bağlamlarında hak ve özgürlükleriniz kısıtlanmış ise bunu bilmek her ortamda, herkesin hakkıdır. Bilişim ve iletişim teknolojilerini yalnız kullanmayı değil, onların nasıl çalıştığını ve çalıştırılabileceğini bilen, berimsel okuryazarlığa sahip insanların bu düzenleme sürecine daha aktif katılabileceklerini düşünüyorum. Dolayısıyla verilecek eğitim, sadece herhangi bir programlama dilini öğretmekle kalmamalı, bilişim teknolojilerinin hayatı nasıl düzenlediğini ve düzenleyebileceğini içermeli, bilişim teknolojilerin kullanımından öte onların çalışma ilkelerini göstermeli ve öğrencilerin yaratıcılığını öne çıkarmalıdır. Böylece öğrenciler, haklarını sınırlayan ya da sınırlayabilecek kodu daha rahat fark edebileceklerdir.

Bilgisayarlar, tablet, akılı telefon vb teknolojilerin ötesinde gündelik yaşamda kullanılan cihazlarda yaygınlaşmaya başladığında berimsel okuryazarlık daha önemli olacak.

Programlama Eğlencelidir

Para için değil, sadece eğlenmek için yazılım geliştiren çok sayıda programcı vardır. Programlama satranç ya da bulmaca çözmek gibi eğlenceli bir uğraştır. Zeka oyunlarından hoşlanan her yaştan insana tavsiye ederim.

Hiç bilmeyenlere programcılığın temellerini anlatan çok sayıda web ve tablet uygulaması var. Bu uygulamalar içinde en çok beğendiğim ve önerebileceğim code.org sitesindeki uygulamalar ve MIT’in (Massachusetts Institute of Technology) geliştirdiği Scratch (https://scratch.mit.edu/) adlı görsel programlama dili. İstediğinizi tercih edebilirsiniz ama önerim, hepsini tamamlamasanız da, önce code.org’taki dersleri takip etmeniz, daha sonra da Scratch ile ufak uygulamalar yazmanız.

code.org
2013 yılının ocak ayında Hadi ve Ali Partovi tarafından kurulan code.org herkesin kodlamayı öğrenebileceği iddiasıyla bilgisayar programlamayı herkes için erişilebilir yapmaya çalışıyor. code.org, kurulduktan bir ay sonra Mark Zuckerberg, Bill Gates, Jack Dorsey gibi bilişim dünyasının önemli isimlerinin yer aldığı bir video hazırladı. Videoda yer alan kişiler kodlamanın önemini vurguluyorlardı. Video internette hızla yayıldı. Video, bilişim şirketlerinin ve iş adamlarının da ilgisini çekti. İki hafta içinde yaklaşık 10 milyon dolar toplandı ve bu destek daha sonra da devam etti. code.org sitesinin bağışçıları arasında Google, Microsoft ve Facebook da var (https://code.org/about/donors).

code.org’un hedef kitlesi ilk başta sadece ABD’liler olsa da site kısa zamanda uluslararası bir nitelik kazandı. Şu anda 45’ten fazla dili destekliyor ve sitedeki eğitim materyali 180’den fazla ülkede kullanılıyor. Her okuldaki her öğrencinin bilgisayar bilimlerini öğrenmek için fırsatı olması gerektiğini savunan code.org, programlamayı merak eden ama hayatı boyunca kod yazmamış ve bundan çekinen her yaştan insana eğlenceli gelebilecek dersler sunuyor. Ayrıca daha çok beyaz erkeklerin işi olarak görülen bilgisayar biliminde çeşitliliği artırmayı da hedefliyor. code.org’a kayıtlı kullanıcıların %43’ü kız, %37’si siyah ya da İspanyol kökenli.

Kodlama nedir öğrenmek ve biraz eğlenmek istiyorsanız işe Starwars (https://code.org/starwars) ya da Minecraft (https://code.org/mc) ile başlayabilirsiniz. Buradaki alıştırmalar hoşunuza giderse yeni başlayanlar için dört farklı ders var (https://studio.code.org/). Birinci ders dört yaş üstü için tasarlanmış ve okuma becerisi gerektirmiyor. Dersin ilerleyen bölümlerinde programlamadaki kavramlar (bir değişkene değer atama, atanan değeri kullanma, döngü) öğretiliyor. İkinci ders, altı yaş ve üstü, okuma becerisi olanlar için. Bu derste, döngü konusu daha detaylı işleniyor, koşullama (if) kavramı öğretiliyor. Öğrenciler, örnek programlardaki hataları bulmaya çalışarak hata ayıklama alıştırmaları yapıyorlar. Üçüncü ders, ikinci dersi tamamlayan sekiz yaş üstü öğrenciler için. Bu bölümde öğrenciler önceki bölümlerde öğrendiklerini tekrar ediyor ve fonksiyon kavramını öğreniyorlar. Üçüncü dersi tamamlayanlar için hazırlanan dördüncü ders daha karmaşık alıştırmalar sunuyor.

Derslerdeki alıştırmalar aşağıdaki gibi, özellikle çocuklar için, son derece eğlenceli:

code.org

Ayrıca çözümün, javascript adlı programlama dilindeki karşılığını da görebiliyorsunuz:

for (var count = 0; count < 5; count++) {

moveForward();

}

Bu derslerde, çeşitli alıştırmalarla yukarıda belirttiğim gibi programlamadaki temel kavramları öğreniyorsunuz. Bu kavramları ve programlama mantığını tanıdıktan sonra Scratch’ta daha kolay uygulama geliştirebilirsiniz.

Scratch

MIT’nin 2000’li yılların başında 8-16 yaş arasındaki öğrenciler için tasarladığı görsel bir programlama dili olan Scratch’ın ilk sürümleri bilgisayara kurulmaktaydı. Şimdiki sürümünü ise web üzerinden, bilgisayarınıza herhangi bir yazılım kurmadan https://scratch.mit.edu/ adresinden kullanabilirsiniz. Scratch, ABD’de çeşitli okullarda kullanılıyor. Hatta “Her öğrenciye bir dizüstü” projesi kapsamında dağıtılan bilgisayarlar, Scratch kurulu bir halde dağıtılmış.

İnsanlar Scratch ile birbirinden farklı yazılımlar geliştirebiliyor: Hareketli masallar, oyunlar, tebrik kartları, bilimsel projeler, müzik projeleri, simülasyonlar vb. Grafik arayüzü oldukça kullanıcı dostu. Ana karakteri (varsayılan bir kedi) başka bir karakterle (dinozor, hayalet, balerin, basketbol topu vb yüzlerce karakter) değiştirebilir, farklı arka planlar ekleyebilirsiniz. Program kodunuzu yazdıktan sonra bu kodu saklama ve diğer kullanıcılarla paylaşma şansına da sahipsiniz. (https://download.scratch.mit.edu/scratch2download/sa/Getting-Started-Guide-Scratch2.pdf). Ayrıca başkasının paylaştığı kodu inceleyebilir ve onu iyileştirebilirsiniz. Dolayısıyla insanlar daha programlamaya adım atar atmaz kendini bir özgür yazılım topluluğunun içinde buluyor.

Program bileşenleri, code.org’ta olduğu gibi, Lego’lara benzer bir biçimde tasarlanmış:

scratch

Programcılığa yeni başlayanlar için en sinir bozucu durumlardan olan söz dizimi (syntax) hataları, kodların lego parçaları gibi birbirine eklemlenmesi ile ortadan kalkmış; uymayan parçaları birleştiremiyorsunuz. Hata mesajlarıyla uğraşmıyor, sadece yapmak istediğiniz işe odaklanıyorsunuz. Scratch zengin ve kolayca anlaşılan bir komut setine sahip. Bugün yazılım geliştirmede kullanılan bir çok programlama dili (Java, C, C++, C#, php, python, ruby) yapı olarak birbirine benzer. Bu dillerden birini biliyorsanız ikinciyi çok hızlı kavrayabilirsiniz. Scratch öğrenmenin de böyle bir faydası olacak. Günümüzde programlama eğitiminde yapılan en büyük hatalardan biri öğrenciye temel kavramları vermeden doğrudan dillerin söz diziminin ezberletilmesi oluyor. Bu nedenle birçok üniversite öğrencisi daha işin başında programlamadan uzaklaşıyor.

Scratch ile yaratıcılığınızı ortaya koyabilir, hoşça vakit geçirebilirsiniz. Yola devam etmek isterseniz, python dilini (https://www.python.org/) tercih edebilirsiniz.

İyi eğlenceler.

25 Mart 2016

Posted In: berimsel okuryazarlık, Bilgisayar Bilimi, e-devlet, ifade özgürlüğü, kodlama, Özel hayatın gizliliği, Özgür yazılım, Scratch

Twitter Auto Publish Powered By : XYZScripts.com