ChapterPDF Available

KODLAMA (PROGRAMLAMA) ÖĞRETİMİ

Authors:
  • Sunhill International University

Abstract

İçinde bulunduğumuz teknoloji çağının vazgeçilemez ana bileşenleri olan bilgisayar ve mobil cihazların günlük kullanımda yaygınlaşmasıyla birlikte, bu cihazlar üzerinde çalışan uygulama ve programlara da gereksinim aynı paralellikte artmıştır. Bu ihtiyaçlar doğrultusunda hali hazırda yüksek.ğrenim ve lise dengi kurumlarında verilen programlama ve kodlama eğitimlerinin ilköğretim okullarına indirgenmesi söz konusu olmuş ve özel kurs merkezlerinin yanı sıra birçok devlet ve özel eğitim kurumlarında da kodlama eğitimleri verilmeye başlanmıştır. Tüketim toplumu olmaktan çıkıp üreten ve geliştiren bir toplu olmayı hedefleyen Türkiye, bu alanda en temel kaynağın genç nüfus olduğunu bilmekte ve genç nesilleri kodlama konusunda eğitmeye ve çeşitli fonlarla her alanda desteklemeye başlamaktadır. Milli Eğitim Bakanlığı'nın kodlama eğitimlerini ilköğretim çağından itibaren zorunlu hale getirme noktasındaki düşünce ve gayreti önemlidir. Bu noktada okullardaki bilişim teknolojileri ders öğretmenlerinin ve derslerin sayısının artırılması ve kodlamanın geleceğimize de yön verecek bir kavram olduğunun bilinciyle çocuklara ve gençlere bu noktada bilinçli rehberlik edilmesi gerekmektedir. Kodlama (programlama) yaşamın her alanında karşımıza çıkan yazılımların yani kullanılan programların temelini teşkil etmektedir. Masaüstü bilgisayarlar, dizüstü bilgisayarlar, tabletler, phabletler ve telefonlar, gündelik hayatın her alanında aktif olarak kullanılmaktadır. Gündelik yaşamın yanı sıra, kamu hizmetleri, savunma sanayi, eğitim, sağlık ve enerji gibi önemli alanlarda da kodlama ile karşılaşılmaktadır. Kodlama, söylenilenleri ve istenilenleri yapması için elektronik cihazlara beceri kazandırmak olarak tanımlanabilir. Bu çalışmada, kodlama hakkında temel bilgilerin verilmesinin yanı sıra, kodlamanın kazandırdıkları, kodlama yapabilmenin faydaları, kodlama öğrenmenin gerekliliği, kodlama öğrenmede yöntemler ve okul öncesi kodlamada swot analizi üzerine bir inceleme yapılmıştır.
ULUSLARARASI SUNHILL ÜNİVERSİTESİ
KODLAMA (PROGRAMLAMA) ÖĞRETİMİ
HAZIRLAYAN
Mehmet Selçuk BATAL
Mayıs 2019
i
İÇİNDEKİLER
İÇİNDEKİLER……………………………………………………………….…………… i
1. GİRİŞ……………………………………………………………………….…………… 1
2. KODLAMA……………………………………………….………………………..…… 2
2.1. Kodlama Nedir………………………..……………………………….………….… 2
2.2. Kodlama Dilleri………………………..……………………………….…….……... 4
2.3. Ülkeler İçin Kodlamanın Önemi……………………………………………….…… 5
2.4. Kodlama Öğrenmenin Faydaları…………………………...……………………….. 8
2.5. Kodlama Öğrenmenin Gerekliliği…………………………...……………………… 10
2.6. Kodlama Öğrenmede Yöntemler…………………………...………………….….… 11
2.7. Okul Öncesi Kodlama Swot Analizi………..…………………………..…………… 12
3. SONUÇ………………………………….………………………………………….….… 14
KAYNAKLAR………………………………………………………………………...…… 15
1
1. GİRİŞ
İçinde bulunduğumuz teknoloji çağının vazgeçilemez ana bileşenleri olan bilgisayar ve mobil
cihazların günlük kullanımda yaygınlaşmasıyla birlikte, bu cihazlar üzerinde çalışan uygulama ve
programlara da gereksinim aynı paralellikte artmıştır. Bu ihtiyaçlar doğrultusunda hali hazırda
yükseköğrenim ve lise dengi kurumlarında verilen programlama ve kodlama eğitimlerinin ilköğretim
okullarına indirgenmesi söz konusu olmuş ve özel kurs merkezlerinin yanı sıra birçok devlet ve özel
eğitim kurumlarında da kodlama eğitimleri verilmeye başlanmıştır.
Tüketim toplumu olmaktan çıkıp üreten ve geliştiren bir toplu olmayı hedefleyen Türkiye, bu alanda
en temel kaynağın genç nüfus olduğunu bilmekte ve genç nesilleri kodlama konusunda eğitmeye ve
çeşitli fonlarla her alanda desteklemeye başlamaktadır. Milli Eğitim Bakanlığı'nın kodlama
eğitimlerini ilköğretim çağından itibaren zorunlu hale getirme noktasındaki düşünce ve gayreti
önemlidir. Bu noktada okullardaki bilişim teknolojileri ders öğretmenlerinin ve derslerin sayısının
artırılması ve kodlamanın geleceğimize de yön verecek bir kavram olduğunun bilinciyle çocuklara
ve gençlere bu noktada bilinçli rehberlik edilmesi gerekmektedir.
Kodlama (programlama) yaşamın her alanında karşımıza çıkan yazılımların yani kullanılan
programların temelini teşkil etmektedir. Masaüstü bilgisayarlar, dizüstü bilgisayarlar, tabletler,
phabletler ve telefonlar, gündelik hayatın her alanında aktif olarak kullanılmaktadır. Gündelik
yaşamın yanı sıra, kamu hizmetleri, savunma sanayi, eğitim, sağlık ve enerji gibi önemli alanlarda da
kodlama ile karşılaşılmaktadır. Kodlama, söylenilenleri ve istenilenleri yapması için elektronik
cihazlara beceri kazandırmak olarak tanımlanabilir.
Bu çalışmada, kodlama hakkında temel bilgilerin verilmesinin yanı sıra, kodlamanın kazandırdıkları,
kodlama yapabilmenin faydaları, kodlama öğrenmenin gerekliliği, kodlama öğrenmede yöntemler ve
okul öncesi kodlamada swot analizi üzerine bir inceleme yapılmıştır.
2
2. KODLAMA
Kodlama, söylenilenleri ve istenilenleri yapması için elektronik cihazlara beceri kazandırmak olarak
tanımlanabilir ve kodlamanın temeli algoritmadır. Algoritma, bir problemin ya da bir sorunun
çözümü için ihtiyaç duyulan tüm işlemlerin yani adımların mantıksal olarak sıralı bir şekilde ifade
edilmesidir. Algoritma kavramı sadece programlama ya da yazılım geliştirmek için değil, günlük
hayattaki aktiviteler, matematik vb. derslerde karşılaşılan sorunları daha kolay çözebilmek için de
gereklidir.
Belirli bir amaca ulaşmak için oluşturulan algoritmanın herhangi bir programlama dilinde yazılarak
bilgisayar tarafından işlenmesine kodlama ya da diğer bir adıyla programlama denir. Dünyada ne
kadar fazla programlama dili olsa da programlamada en önemli konu bir çözümün olmasıdır. Eğer
bir algoritma, amaca ulaşmak için belirlenmiş bir çözüm yok ise program da olmayacaktır.
Bilgisayar ortamında kontrolün mümkün olduğu her alanda programlama kullanılabilmektedir.
Bilgisayar programlama alanları olarak web programlama, oyun programlama, masaüstü
uygulamalarının programlanması gibi örnekler verilebilir. Bunların haricinde gömülü sistem
programcılığı, elektronik ve robotik programlama gibi alanlarda yazılan algoritmalar sanal ortamın
dışında reel ortamda da var olmaktadır.
2.1. Kodlama Nedir?
Kodlama, bir metnin önceden belirlenmiş simgeler dizisine göre işaretlenmesidir. Bilgisayarlarda da
çeşitli bilgilerin depolanması ya da matematiksel işlemler için özel kodlamalar yapılır.
Kodlama (programlama), kelime anlamı olarak, belirli şartlara ve düzene göre yapılması öngörülen
işlemlerin bütünü anlamına gelmektedir. Programlama, bilgisayara ya da elektronik devre ve mekanik
sistemlerden oluşan düzeneklere bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya bir
kısmı olarak da tanımlanmaktadır [1].
Bilgisayar programlama, problemleri çözmek, insan - bilgisayar etkileşimini sağlamak ve belirli bir
görevi bilgisayarlar tarafından gerçekleştirmek için çeşitli komut setleri ile yapılan uygulama ve
geliştirme sürecidir. Bu komut setleri (bilgisayar programlama dilleri ile yazılan kaynak kodlar)
bilgisayar programları tarafından dikkate alınmakta ve bilgisayarların işlemleri kolayca
yapabilmelerini sağlamaktadır.
3
Diğer bir deyişle bilgisayarlara, tabletlere, akıllı telefonlara veya programlanabilir herhangi bir cihaza
komut verebilmek için, problemlerin açık bir şekilde düşünülmesi ve fonksiyon olarak adlandırılan
parçalara ayrılması gerekmektedir. Genel olarak bir bilgisayar programı bu fonksiyonların
birçoğunun birleşmesinden oluşur ve her bir fonksiyon istenilen işlemleri gerçekleştirebilmek için
gerekli komutları ve talimatları içermektedir.
Programlama süreci uygulamalar, algoritma ve biçimsel mantık gibi birçok farklı konuda uzmanlık
gerektirmektedir. Ayrıca bir programlama süreci; analiz yapmayı, kavrayabilmeyi, problemleri
çözebilmeyi ve sonuçları algoritma haline getirebilmeyi, algoritma gereksinimlerinin doğru olarak
sağlanmasını ve algoritmanın bir programla dili üzerinden kodlanarak gerçekleştirilmesini de
gerektirmektedir [2].
Programlama, bir programlama aracılığıyla yapılmaktadır. Bu programlama dili, C# ve Java gibi
nesne tabanlı yüksek seviyeli bir dil olabileceği gibi, C, Assembly ve bazı durumlarda Makine Dili
de olabilmektedir.
Programlama dilleri aracılığıyla hazırlanan kaynak kodlar, genellikle bir derleyici ve bağlayıcı
yardımıyla belirli bir sistemde çalıştırılabilir hale getirilmektedir. Ayrıca kaynak kodlar, bir
yorumlayıcı yardımıyla derlemeye gerek duyulmadan satır satır da çalıştırılabilmektedir.
Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazınsal hatalar olup olmadığını
bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa
programı çalıştırıp sonucunu gösteren, ayrıca çeşidine göre pek çok başka özelliği barındırabilen
araçlardır.
Şekil 2.1 C# İle Hazırlanmış Kodlama Örneği
4
2.2. Kodlama Dilleri
Kodlama öğrenmeye başlarken, öncelikle hangi amaçla kodlama öğrenmek istenildiği
belirlenmelidir. Kodlama öğrenmede karşılaşılan zorluklar büyütülmemeli ve öncelikle basit kodlama
teknikleri öğrenilmelidir. Kodlamanın temel dilleri olan C, C++ ve Java gibi dillerin öğrenilmesi,
diğer dillerin öğrenilmesinde büyük kolaylık sağlayacaktır.
Kodlama dillerinin ortak ve genel özellikleri şu şekilde sıralanabilir:
İfade Gücü: Kodlama dili kullanıldığında bu dilin ifadelerini gerçek anlamlarıyla kullanılmasıyla
ilgilidir.
Veri Türleri ve Yapıları: Kodlama dilinin ihtiyaçları karşılamasıyla ilgili beklenen özelliktir.
Giriş Çıkış Kolaylığı: Dosyaların erişimi ve karmaşıklığıyla ilgili işlemleri belirten bir özelliktir.
Taşınabilirlik: Yazılmış bir kodun diğer bir sistemde sorunsuzca derlenebilmesi ve çalışabilmesidir.
Alt Programlanabilirlik: Kodlamanın küçük kod bloklarından oluşmasıdır. Bu sayede kodlar
sıkıştırılarak daha kısa hale gelebilir. Kodlar kısaltıldığında algılama daralabilir, test imkanı artabilir
ve kodun tekrar kullanılması basitleştirilebilir.
Verimlilik: Düzenlenen kodun çabuk ve sıkıntısız çalışmasıdır.
Okunabilirlik: Kodun hızlı bir şekilde anlaşılmasıdır. Yazılan kodun açık bir şekilde yazılarak
işlevini hızlı yerine getirebilmesidir.
Esneklik: Kodun programlayıcı sınırlandırmamasıdır.
Öğrenme Kolaylığı: Kodun günlük konuşma diline yakın olmasıdır. Dilin kolaylığı ve açıklığı gibi
ölçütler o dilin daha kolay öğrenilmesine yardımcı olmaktadır.
Genellik: Kodun istenilen tüm alanlarda kullanılmasıdır.
Şekil 2.2’de 2018 yılı verilerine göre dünyada en çok kullanılan programlama dilleri gösterilmiştir.
Bu dillerden 1991 yılında ortaya çıkan Java dili, 1978 yılında ortaya çıkan C dili, 1983 yılında ortaya
çıkan C++ dili, 1989 yılında geliştirilen Python dili ve 2000 yılında ortaya çıkan C# dili en çok
kullanılan 5 dil olarak öne çıkmaktadır.
5
Şekil 2.2 En Çok Kullanılan Programlama Dilleri
2.3. Ülkeler İçin Kodlamanın Önemi
İnternet ve teknolojinin gelişmesine paralel olarak, gelişmiş ve gelişmekte olan ülkeler geleceğe
yönelik yeni stratejiler geliştirmekte ve yatırımlarını ağırlıklı olarak teknoloji ve yazılım üzerine
yapmaktadırlar.
Yazılımın önemini kavrayan ülkeler, en önemli yatırım kaynağı olan genç nüfusa yatırım yapmaya
ve okullarda kodlama eğitimleri vermeye başlamışlardır.
Değişen üretim şekillerine ayak uydurmak ve üreten dünyanın aktif bir üyesi olmak için kodlama
dilini bilmek, günümüzde vazgeçilmez bir unsur haline gelmiştir. Dünyanın önde gelen
endüstrileşmiş ülkelerinin eğitim müfredatlarını değiştirerek teknolojik değişime ciddi bir şekilde
hazırlandıkları ve gün geçtikçe kodlamaya daha fazla önem verdikleri görülmektedir.
Yeni sanayi devrimi olan Endüstri 4.0'da yer alabilmek için, en temel becerilerden birinin kodlama
olduğu yaygın bir görüş olarak kabul edilmektedir. Kodlama becerilerini erken yaşta edinen bireyler,
gelecekte üretim şekilleri başta olmak üzere hayatın her alanında kendini hissettirecek Endüstri 4.0'a
hazır olarak yetişmektedirler.
Şekil 2.3’de programlama eğitimine yatırım yaparak, yazılım geliştirmede öne çıkan ülkeler
gösterilmektedir.
6
Şekil 2.3 Yazılım Geliştirmede Öne Çıkan Ülkeler
Gelecekte kodlamanın yaşamımızın vazgeçilmez bir parçası olacağı öngörülse de, aslında kodlama
günümüzde de büyük önem taşımaktadır. Dünya çapında internet girişimcileri ve teknoloji üreten
şirketleri kuran başarılı iş insanlarının, erken yaşlarda kodlama becerisi edinmiş kişiler olması dikkat
çekicidir.
Erken yaşta kod yazmaya başlayan ve girişimiyle dünya çapında bir başarı elde eden, sosyal medyada
en çok kullanılan uygulama olan Facebook'un kurucusu Mark Zuckerberg, kod yazmayı 9 yaşında
öğrenmiştir. Dünyanın en başarılı girişimcileri arasında sayılan Bill Gates ise ilk programını 13
yaşında yazmıştır. Apple firmasının kurucusu Steve Jobs, "Bence bu ülkede herkes bilgisayar
programlamayı öğrenmeli. Bir bilgisayar dili öğrenmeli. Çünkü bu, insana nasıl
düşüneceğini öğretiyor. Ben bilgisayar bilimini bir sosyal bilim olarak görüyorum. Bu herkesin
öğrendiği bir şey olmalı." diyerek kodlamanın öneminden değinmiştir.
Son dönemlerde tüm dünyada olduğu gibi ülkemizde de faydalı yazılım gereksinimi fazlasıyla
hissedilmektedir. Bilişim ve yazılım sektöründe kalifiye iş gücünün az olması ise büyük eksikliktir.
Ülkemizde yazılım geliştirme sürecine profesyonel meslek olarak bakılarak, bu sürecin şirketlerden
çıkarak okullara ve evlere kadar yayılamaması, ülkemiz ve gelecek adına büyük bir eksikliktir. Ticari
işletmelerin bu süreci yönetememelerinin de bu eksiklikte büyük etkileri vardır.
Son zamanlarda, ülkemizde Milli Eğitim Bakanlığı'na bağlı kurumlar başta olmak üzere ilgili devlet
kurumlarının ve sivil toplum kuruluşlarının bu sürece dahil olmasıyla birlikte, artık kodlamanın
7
ilkokul seviyelerine kadar indirilmesi sağlanmıştır. Bu konuda devlet kurumları çeşitli destek ve
teşvikler vermeye başlamış olup, bu teşviklerin yanı sıra, teknokentler, silikon vadileri ve yazılım
kampüsleri kurularak, buralarda faaliyet gösteren şirketlere çeşitli destekler sağlanmış ve sağlanmaya
devam edilmektedir.
Milli Eğitim Bakanlığı Eğitim Teknolojileri Genel Müdürlüğü koordinasyonunda kodlamanın
yaygınlaşması amacıyla hazırlanan "Haydi Çocuklar Kodlama Öğrenmeye" adlı kamu spotu, Radyo
ve Televizyon Üst Kurulu'nun 15 Şubat 2018 tarihinde verdiği kararla "Kamu yararına yönelik spot
film" kabul edilerek, televizyon kanallarında yayına alınmıştır. "Haydi Çocuklar Kodlama
Öğrenmeye" isimli bu spot film; çocukların bilgisayarı sadece bir oyun ve eğlence aracı olarak
görmemelerini, bilgisayar karşısında tüketici olmaktan çıkıp üretici konuma gelmelerini,
karşılaştıkları sorunlara pratik çözümler üretebilmelerini ve algoritmik düşünme becerilerini
geliştirmelerini sağlamak maksadıyla çocukları kodlama öğrenmeye teşvik için hazırlanmıştır. Bu
kamu spotu ile, çalışmaların daha geniş kitlelere ulaşması ve hedeflenen kamu bilincinin
oluşturulması hedeflenmektedir [4].
Türkiye Bilişim Derneği tarafından 2014 yılında "Bilgisayar Programlama Çocuk Oyuncağı" adlı bir
etkinlik organize edilmiştir. Bu etkinlik, ilkokul birinci sınıf öğrencileri dışında ilkokul, ortaokul ve
lise öğrencisi en az 100 000 öğrencinin, ilk kez bir bilgisayar programı yazmasını ve web sitesi
tasarlamasını sağlayabilmek için düzenlenmiştir [5].
"Bilgisayar Programlama Çocuk Oyuncağı" projesinin amacı, teknolojinin hızla tüketildiği toplumda
teknolojiye olan bakışı değiştirmek, erken yaşta bilişim teknolojileri araçlarının bir üretim aracı
olduğunun farkındalığını kazanmalarını sağlamaktır. İlkokul, ortaokul ve lise öğrencileri
Programlama Çocuk Oyuncağı Haftası boyunca kendi okullarında Scratch, Microsoft Small Basic
gibi programlama araçlarını kullanarak ilk programlarını geliştirmişlerdir [5].
Bu gibi çalışmalar programlama eğitiminin ülkemizde de değer kazandığını göstermektedir. Bu
bağlamda gelişmiş ülkelerde ve ülkemizde değeri anlaşılan programlama eğitimi konusunda devletin
desteği, kurum ve kuruluşların işbirliği ile birçok etkinlik ve proje gerçekleştirilmeye devam
etmektedir. Bunun yanında programlamayı kolay ve eğlenceli hale getiren çeşitli programlama
araçları da tasarlanmaktadır.
Şekil 2.4’de HackerRank tarafından açıklanan en iyi yazılımcılara sahip ülkelerin bir listesi
gösterilmektedir.
8
Şekil 2.4 En İyi Yazılımcılara Sahip Ülkeler Listesi
2.4. Kodlama Öğrenmenin Faydaları
Kodlama, gelişen ve gelişmekte olan ülkelerde yeni okuryazarlık türü olarak gündemde yer
almaktadır. Yazı yazarken düşünceyi ifade edebilme özelliği, kodlama için de geçerlidir. Kodlama
yapabilmek, düşünceleri ifade etme biçimi olarak tanımlanabilir. Kodlama yapabilme yeteneği, yeni
fırsatları yaratmak, kariyer sahibi olmak, dünyayı şekillendirebilen teknolojileri ve programları
geliştirerek teknoloji alanında önde olmayı sağlayabilmektedir.
Çocukların kodlama eğitimi alması, herkes için gerekli görülen ve bilişimsel düşünme olarak
tanımlanan problemlerin çözüme ulaştırılmasını, sistem tasarımı yapabilmeyi ve insan davranışlarının
anlaşılabilmesini sağlamaktadır. Kodlama ile genç bireyler; bilgisayarla üretim yapmayı, kendilerini
ifade etmeyi, problemleri çözmeyi ve projeler tasarlamayı öğrenmektedir. Akademik başarı için temel
oluşturan sıralama becerilerini kodlama eğitimiyle geliştiren bireyler, matematik ve dili, anlamlı ve
motive edici bir bağlamda kullanma becerisi kazanmaktadır.
Kodlama eğitiminin en önemli kazanımlarından biri de bireylerde algoritmik düşünme becerisini
geliştirmektir. Algoritmik düşünme becerisine sahip bir birey, problemleri bilgisayar veya başka bir
araç kullanarak çözmeyi sağlayacak şekilde formüle edebilir, veriyi mantıksal olarak organize
edebilir ve analiz edebilir, algoritmik düşünme yolu ile cevapları otomatikleştirebilir, bu problem
9
çözme sürecini diğer farklı problem durumlarına transfer edebilir ve genelleyebilir. Ayrıca algoritmik
düşünme becerisi, veriyi model veya simülasyonlar gibi soyutlaştırmalar yolu ile gösterimleme, olası
çözümleri, olası aşamaları ve kaynakları en etkili ve verimli şekilde birleştirerek tanımlayabilme,
analiz etme ve uygulama kazanımlarını sağlamaktadır. Bu çerçeveden de görüldüğü üzere algoritmik
düşünme, sadece bilgisayar bilimleri, bilgi ve iletişim teknolojileri alanlarında değil, fen, matematik,
sosyal bilimler gibi diğer alanlarda da bireylerin etkin ve verimli düşünmesine destek olmaktadır.
Günümüzde 21. yüzyıl becerilerine sahip bireyler yetiştirmenin yolu STEM eğitiminden geçmektedir.
21. yüzyıl, toplum yaşamının ve bireyin hayatının her noktasında çok hızlı değişimlerin yaşandığı bir
dönemdir. Araştırma becerisi, eleştirel düşünme ve bilgi edinme becerisi, en çok gereksinim duyulan
özelliklerin başında gelmektedir ve giderek bu becerilerin önemi artmaktadır. Dünya ile konuşan,
dünya ile çalışan ve dünya ile yarışan liderler yetiştirmek için öğrencilere 21. yüzyıl bilgi ve becerileri
kazandırılmalıdır.
STEM eğitimi, projeye dayalı, uygulamaya dönük ve disiplinlerarası bir eğitim yaklaşımını
önermektedir. Böylece düşündüğünü hayata geçirebilen, yenilikçi, yaratıcı ve üretken bireyler
yetiştirmek hedeflenmektedir. Bu alanda başarılı olabilmek için, matematik, fen bilgisi, Türkçe ve
hayat bilgisi derslerinin kazanımları sınıf öğretmenleriyle birlikte kodlama yaparak pekiştirilmelidir.
Bu beceriler, sorumluluk ve uyarlanabilirlik, iletişim becerileri, yaratıcılık ve entelektüel merak,
eleştirel düşünme ve sistemleri, düşünme, bilgi ve medya okuryazarlığı becerileri, kişilerarası ve
işbirliği becerileri, problemi tanımlama, formüle etme ve çözme, özyönetim ve sosyal sorumluluk
olarak sıralanabilir [5].
Kodlama öğrenmenin kazanımları şu şekilde açıklanabilir [6]:
Eleştirel Düşünme: Eğitimciler genel olarak öğrencilerinin birer eleştirel düşünür olmasını isterler.
Eleştirel düşünme becerisi, erken yaştaki çocuklarda geliştirebilirse, uzun yıllar boyunca bu beceriden
yararlanmaları sağlanabilmektedir. Kodlama bunu gerçekleştirebilmenin en iyi yollarından biridir.
Sabır: Bir kodlama problemi üzerinde çalışırken, belirli bir zaman ve enerji harcamak gerekmektedir.
Bunun için de sabır en önemli gerekliliktir. Sabır, öğretmesi zor olan ancak öğrenilmesi gereken
önemli bir beceridir. Öğrencilerin bir engelle ya da zorlukla karşılaştıklarında devam etmelerini
sağlamaktadır. Kodlama eğitimi de bireylere bu konuda yardımcı olmaktadır.
Problem Çözme Yeteneği: Kodlama sadece bireylerin problem çözme becerilerini desteklemekle
kalmaz, aynı zamanda alışılmışın dışına çıkmalarına da yardımcı olur. Kodlamada bir çıkmaza
10
girildiğinde, mutlaka geri dönüşü ve yeniden denemeyi sağlayacak bir yol vardır. Bu yeniden deneme
zihniyeti, bireylerin gelecekteki başarılarını destekler. Problemleri çözme yeteneği, yetişkinler gibi
profesyonel ve literatürel düşünmeden, doğal yöntemlerle çözümün tespit edilmesi olarak da
tanımlanabilir. Erken yaşta kodlama yapmak, problemler üzerinde çok basit düşünerek
çözümlenebilir yöntemlerin keşfedilmesini sağlar.
Yeni Şeyler İçin Cesaret: Bazen yeni şeyler denemek istendiğinde bir yerlerde takılıp
kalınabilmektedir. Ancak, yeni şeyler öğrenmek her yaştaki bireylere faydalıdır ve vizyon
genişlemesini sağlar. Bir öğrencinin tam olarak hangi alanlarda ilgisinin olduğu bilinemeyebilir veya
tespit edilemeyebilir. Kodlama öğretmek, öğrencilerin tahmin edilemeyecek ilgilerini keşfetmelerini
sağlayabilir. Tek yapılması gereken, yeni alanlarda deneyimleme yapmalarını sağlamaktır.
Matematik Becerisi: Kodlama ve matematik birbiriyle yakından ilişkili iki alandır. Öğrenciler
kodlama öğrenmeye teşvik edildiğinde, aynı zamanda onların matematik uygulamalarına da yardımcı
olunacaktır. En önemlisi, bireyler matematikle iç içe olduklarının farkında olmayabilirler. Bu
nedenle, "Ben matematiği hiç sevmiyorum, hiçbir şey anlamıyorum." diyen bireylerde dahi
farkındalık kazandırılabilir ve gelecekte faydalanacakları beceriler rahatlıkla öğretilebilir.
Anlamlı Bağlantı: Kodlama öğrenilirken karmaşık bir süreçten geçilebilmektedir. Birçok şey
bireylerin aklını karıştırabilmektedir. Ancak kodlama bittiğinde ve ortaya bir yazılım ürünü çıktığında
tüm karmaşaların giderildiği gözlemlenebilecektir. Bu yeteneğin kazandırılabilmesi için, bireylerin
bağlantı kurmalarına yardımcı olmak ve onlara diğer çalışma alanları ile nasıl bağlantı kuracaklarını
öğretmek gerekir.
İletişimi Kolaylaştırma: Kodlama tam anlamıyla süreç becerilerini destekleyen yeni ve evrensel bir
dil gibidir. Dünyanın neresinde olunursa olunsun, kodlama konuşulduğunda rahatlıkla iletişim
kurulabilecek, aynı dil konuşulabilecektir.
Yaratıcılık: Kodlama sayesinde, bireyler yaratıcılıklarını kullanarak kendi başlarına bir dünya inşa
edebilmektedir. Bireyler, kodlama dünyasında tamamen kendi tercihleriyle yaratıcı ve yenilikçi
olabilmektedir.
2.5. Kodlama Öğrenmenin Gerekliliği
Günümüzde ülkelerin kalkınma düzeyini belirleyen ekonomik gelişmeler, dijital ekonomi (fintech)
olarak adlandırılan ekonomi şekliyle yer değiştirmektedir. Kodlama yapabilmek öğrencilere ve
neredeyse her sektörden çalışanlara yetkinlik sağladığı için, kodlama yapabilme becerisinin önemini
günden güne artırması beklenmektedir [7]. Dijital ekonomiye yönelik becerilerin geliştirilmesi
sayesinde dünyadaki dijital dönüşüm hızı yakalanabilecek ve ekonomik büyüme ile genel refah
düzeyi artırılabilecektir. Bu dijital ekonomi stratejilerinin gerçekleşebilmesinin ön koşulu, dijital
becerilerin artırılması olarak görülmektedir [8]. Küresel işgücü öneminin artması ve globalleşme gibi
sebeplerden dolayı, eğitim öğretimde teknolojinin kullanımı artmakta ve teknolojiden faydalanma
çalışmalarının yaygınlaştığı görülmektedir. Bu nedenle, günümüzde ve gelecek yıllarda ülke
ekonomisinin güçlenmesi ve kalkınmasında kodlama yapabilmenin hem eğitim hem de ülke kalkınma
planlarında daha önemli hale geleceği düşünülmektedir.
Yapılan araştırmalara göre kodlama eğitimi, 21. Yüzyılda öğrencilerin edinmesi gereken problem
çözme, yaratıcılık, algoritmik düşünme, bilişsel düşünme gibi birçok temel beceriyi
kazandırabilmekte ve bu becerilerin gelişmesini kolaylaştırmaktadır. Bu sebeple, kodlama eğitimi
yalnızca yazılım veya program yazmak isteyenler için değil tüm öğrenciler için gerekli ve önemli
olarak görülmelidir.
Koşullara bağlı olarak değişen isteklere ve üretim şekillerine uyum sağlamak ve hızla gelişen ve
değişen teknoloji dünyasının etkin bir üyesi haline gelmek için kodlama yapmayı bilmek zorunlu hale
gelmiştir. Endüstri 4.0’a daha hazır bir şekilde geçmek için kodlama öğrenmenin gerekliliği ülkeler
tarafından da benimsenmiş, birçok ülke eğitim sistemine kodlama eğitimlerini dahil etmiştir.
Türkiye’de ilkokul çağında kodlama eğitimi seçmeli ders olarak okutulmaya başlanmış, Estonya ve
İngiltere’de çocuklara yönelik kodlama ile ilgili dersler zorunlu hale gelmiş ve birçok Avrupa
ülkesinde kodlama öğrenimi müfredata dahil edilmiştir.
2.6. Kodlama Öğrenmede Yöntemler
Küçük yaşlardaki çocuklara kodlama mantığını öğretmek ve kodlamaya adım atmak için geliştirilen
birçok web tabanlı uygulama bulunmaktadır. Hazırlanan bu uygulamalarla çocukların en temel
seviyeden başlayarak adım adım problemleri çözmeleri için istenilen şartları sağlamaları
beklenmektedir.
Özellikle çocukların kodlama mantığını öğrenmesi için etkileşimli olarak oyun oynamaya, animasyon
ve simülasyonlar hazırlamaya olanak veren Scratch, Google Blockly, CodeMonkey, CodeCombat ve
Code.Org gibi açık kaynak kodlu ve ücretsiz birçok web tabanlı kodlama platformu bulunmaktadır.
Bu platformlardaki öncelikli amaç kodlamayı öğretmek değil, temel kodlama becerilerinin
kazandırılmasını ve geliştirilmesini sağlayarak çocukların motivasyonunu artırmaktır.
12
2.7. Okul Öncesi Kodlama Swot Analizi
Şekil 2.5 Okul Öncesi Kodlama Swot Analizi
Güçlü Yönler: Çocuk yaşta alınan eğitimler, gelecek nesillerin kodlama alanında daha bilinçli
bireyler olarak yetişmesini ve bireyin yetişkinlik döneminde daha bilinçli olmasını sağlayacaktır.
Kısa vadede kodlama eğitiminin geri dönüşü düşük olsa da, uzun vadede bu alanlarda fark yaratacak
bireylerin yetişmesine katkıda bulanacak önemli bir yatırımdır.
Kodlama kazanımı, çağın ihtiyaçlarına bir farkındalık yaratma ve daha bilinçli bireylerin yetişmesi
açısından da oldukça önemlidir. Bu eğitimler, somut etkinliklerle başlayarak ileri düzeylere
çıkartılabilir ve genç bireylere kodlama sevgisi aşılanabilir.
Zayıf Yönler: Kodlama eğitiminde en çok karşılaşılacak ve bu süreçte eğitmenleri sıkıntıya
düşürebilecek kısım, eğitim alacak bireylerin okuryazarlık seviyelerinin ve becerilerinin tam
gelişmemiş olmasıdır. Bilişim okuryazarlığının yanı sıra, literatür araştırma ve kod araştırma
safhasında yeterli yabancı dil bilgisinin yetersizliği de bu aşamada süreci zorlayacak kriterlerden
biridir.
Bu süreci yönetecek kişilerin yani öğretmen kadrosunun yetersizliği de en büyük zayıf noktalardan
biri olarak görülmektedir. Özellikle okul öncesi öğretmenliği ile bilişim öğretmenliği karmasının
bulunması ya da öğretmenlerin bu yönde kendilerini geliştirmiş olması oldukça önemlidir. Teknik
öğretmenlerin anlatılacak dersleri oyunlaştırmada ve basite indirgemede oldukça zorlanmaları ya da
tam tersi durumların yaşanması, bu sürecin en kritik noktalarından biridir. İlk defa kodlama ile tanışan
okul öncesi öğrencilere bu dersin ilk aşılanma süreci, gelecek nesillerin bu alana ilgili olarak
yetişmeleri açısından oldukça önemlidir.
Fırsatlar: Kodlama eğitimlerinin okul öncesinde verilmesinin en büyük kazancı, 21. yüzyılın yazılım
gereksinimlerini tamamlayabilecek bireylerin yetiştirilebilmesi ve bu bireylere 21. yüzyıl
becerilerinin kazandırılabilmesidir. Çağımızın gereksinimi olarak ifade edilen kodlamanın, ilkokul
seviyesindeki çocuklara verilmesi ve sevdirilmesi, uzun vadede bireyler ve toplumlar için büyük
fırsatların doğmasını sağlayacaktır.
Kodlama eğitimlerinin bir diğer önemli kazancı da, örnek uygulama ve programların fazla sayıda ve
kolay ulaşılabilir şekilde internet üzerinde yer almasıdır. Bireyler, araştırmaları sonucunda
bulacakları örnek uygulamaları deneme-yanılma yöntemiyle test edebilecek ve geliştirebileceklerdir.
Kodlama ile geliştirilen bu uygulamaların, bilgisayar, tablet, telefon gibi birden fazla platformu
desteklemesi de yine önemli bir fırsattır.
Tehditler: Kodlama eğitimi sürecinde çocukların sabit bir şekilde bilgisayar veya tablete adapte
olmaları ve zamanlarının çoğunu bir ekran karşısında kodlama yaparak geçirmeleri, bu sürecin en
zararlı ve dikkat edilmesi gereken özelliklerinden biridir. Henüz oyun çağında olan bireylerin uzun
süre bilgisayar başında vakit geçirmesi, önemli sağlık problemlerine, görme bozukluklarına, iskelet
yapısında sorunlara, eklem, bel ve boyun ağrılarına yol açabilmektedir. Bu süreci yönetecek eğitmen
kadrosunun, uzun süreli kodlamanın getireceği sağlık problemlerinin farkında olması ve bu sürelerin
kısa tutularak eğlenceli ve hareketli diğer aktivitelerle birleştirilmesi, oldukça hassasiyet gerektiren
bir konudur.
Kodlama eğitimlerindeki en önemli problemlerden biri de, bilgisayar başında kodlama ile vakit
geçiren bireylerin, endi içine kapanık bir ruh haline doğru gelişmesi ve sosyal ilişkilerinde
zayıflamaların görülebilmesidir. Bu nedenle eğitimcilerin, eğitim sürelerini kısa planlamaları ve
eğitimlerin arasına mutlaka sosyal aktiviteler eklemeleri önemlidir.
Kodlama sürecinde kullanılan kaynak veya uygulamaların uzunluğu ve bu uzun sürelerin hitap edilen
kitlenin tahammül sınırlarını aşması, grubun ya da eğitim alan bireylerin eğitimden uzaklaşmasına ve
zihinsel olarak algılarının başka bir yöne kaymasına yol açabilecektir.
14
3. SONUÇ
Kodlama yapabilmek, son zamanlarda düşünmek ve üretmek gibi terimlerin yeni karşılığı olarak
gündeme gelmektedir. Kodlama yapabilen bireyler, algoritmik ve analitik düşünme yetenekleri
sayesinde gündelik yaşamları da dahil olmak üzere diğer iş alanlarında da başarılı olmaktadır. Birçok
alanda programlama yapabilen bireylere ihtiyaç duyulması sebebiyle, iş bulmak isteyenler için de
kodlama pek çok olanak sağlamaktadır. Bu nedenle, kodlama öğrenmenin önemi de aynı oranda artış
göstermektedir. Kodlamaya önem veren ülkelerde eğitim müfredatları değiştirilmekte ve kodlama ile
ilgili dersler seçmeli veya zorunlu olarak müfredata eklenmektedir.
Scratch ve Google Blocky gibi hazır kodlama araçları incelendiğinde, amacın küçük yaştaki
çocukların geleneksel kodlama dillerinin karmaşık yapılarından dolayı zorlanmalarının önüne
geçerek, eğlenceli ve kolay bir şekilde kodlama yapabilmelerini sağlamak olduğu
gözlemlenmektedir. Bu araçlar, çocukların veya kodlamaya yeni başlayan bireylerin seviyelerine
göre kodlamayı doğrudan öğretmek yerine, eğlenceli uygulamalar geliştirmelerini sağlayarak
kodlamaya olan ilginin ve motivasyonun artırılmasını sağlamayı amaç edinmişlerdir.
Kodlama eğitimlerinin bireyler açısından kazanımlarına bakıldığında, çocukların küçük yaşlardan
itibaren problem çözmek, projeler tasarlamak, analitik düşünme yetisi kazanmak ve yeni fikirler
üretmek gibi herkesin edinmesi gerekli olan temel becerileri kazanabilmeleri ve geliştirebilmeleri için
ebeveynlerin ve eğitimcilerin farkındalığı oldukça önemlidir. Temel becerilerin kazanılması, iş
imkanlarının dijital becerilere bağlı olarak artış sağlaması ve işgücünde bilgisayar bilimcilere
ihtiyacın giderilmesi için kodlama yapabilmek büyük önem taşımaktadır.
İçinde bulunulan bilgi çağında kodlama eğitimi, Onuncu Kalkınma Planında tanımlanan Türk Eğitim
Sisteminin temel amaçları doğrultusunda önemli bir araç haline gelmiştir. İlerleyen dönemlerde
kodlama eğitiminin, tüm dünyadaki eğitim müfredatlarında daha fazla yer alacağı öngörülmektedir.
Ülkemizin de bu gelişmelere uyum sağlayabilmesi için, kodlama eğitimlerini müfredata zorunlu ders
olarak eklemesi, kodlama alanında yetişmiş eğitimci kaynağının artırılması ve çeşitli ekonomik
teşviklerle yazılım sektörüne daha fazla destek verilmesinin gerektiği düşünülmektedir.
KAYNAKLAR
1. İnternet: Kodlama Nedir - Neden Kodlama, http://www.bolgegundem.com/kodlama-nedir-
neden-kodlama-15291yy.htm: Mayıs 2019
2. İnternet: Bilgisayar Programlama, http://www.businessdictionary.com/definition/computer-
programming.html: Mayıs 2019
3. İnternet: Fossbytes, Best Developing Countries, http://fossbytes.com/which-country-has-best-
computer-programmers-china-russia-india-us: Mayıs 2019
4. İnternet: MEB, Haydi Çocuklar Kodlama Öğrenmeye, http://yegitek.meb.gov.tr/www/haydi-
cocuklar-kodlama-ogrenmeye/icerik/1504: Mayıs 2019
5. İnternet: Bilgisayar Programlama Çocuk Oyuncağı,
http://www.programlamacocukoyuncagi.org.tr: Mayıs 2019
6. İnternet: Doğru Haber Teknoloji, Kodlama Eğitiminin Çocuklara Kazandırdığı Yetenekler,
http://www.dogruhaber.com.tr/haber/275195-kodlama-egitiminin-cocuklara-kazandirdigi-
yetenekler: Mayıs 2019
7. İnternet: European Commission Digital Transformation,
http://ec.europa.eu/growth/industry/policy/digital-transformation_en: Mayıs 2019
8. İnternet: Shaping The Digital Single Market, http://ec.europa.eu/digital-single-
market/en/policies/shaping-digital-single-market: Mayıs 2019
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.