Algoritma nedir? Neye yarar?
15.01.2017 11:13 BİRGÜN PAZAR
Kısa bir zaman sonra bizim okulların müfredatlarına da kodlama dersleri eklenecek. Çocuklarımız o dünyaya dalacaklar. Eğer o zamanı beklemeden, dünyada yapılanlara bir bakmak isterseniz internette pek çok kaynak var

İLKER BİRBİL - Sabancı Üniversitesi ve BolBilim.com

Sağda solda bir algoritma lafı dönüp duruyor. Sanırım konuşmanın bir yerinde “algoritma” deyince kulağa daha teknolojik geliyor. Gelebilir. Diyeceğim bir şey yok. Fakat en azından doğru kullanılsın yahu. En olmadık insanlar, en olmadık cümlelere sıkıştırıveriyorlar:

“Algoritma bozulunca yayın gitti.”

“Yapay zekâ ile algoritma bir olup dünyayı ele geçirecekler.”

“Geçen bir algoritma aldım, kruvaze ceketin altına tam uydu.”

Sonuncusunu kafadan attım. Ama duysam da şaşırmam. Malum bir şeyin suyunu çıkarmakta üzerimize yok...
“İyi tamam da, nedir bu algoritma?”

Hah, tam adamına sordunuz. Ben yıllardır bu işten ekmek yiyorum. Hemen başlayalım. Algoritma, bir işin adımlarının alt alta yazılması demek. Aslına bakarsanız gün içinde bir sürü şeyi zaten bu şekilde yapıyoruz. Onları doğru sırayla yazıya dökmek bile bir algoritma sayılır. Bir örnekle anlatayım. Başrolde bir erkek çocuğu ve bir ebeveyn var. Oğlan sabahın köründe giyinip okula gidecek. Ebeveynin komutlarını yazalım:

Adım 1: Yataktan çık.
Adım 2: Altına pantolon giy; üstüne gömlek giy.
Adım 3: Kışsa, kazak ve bot giy; yazsa, ayakkabı giy.
Adım 4: Pantolon kafandaysa, Adım 2’ye geri dön.
Adım 4: Okula git.

Alın size algoritma. Âlâsından hem de. Koşul, sıralama, tekrar; hepsi var...

“Peki algoritma neye yarar?”

Algoritmalar bilgisayar programları yazmaya yararlar. Programı bir yemeğe benzetirsek, algoritmaya o yemeğin tarifi diyebiliriz. Kodlama ise tarifin, bilgisayarın anlayacağı bir programlama dili ile hazırlanmasına karşılık geliyor. Kodlamayı hakkıyla yapabilmek için öncelikle algoritma mantığını öğrenmek gerekiyor.

Bu da bizi eğitim konusuna getiriyor. Son yıllarda pek çok eğitimci erken yaşta kodlama öğretmenin faydalarından bahsediyor. Müfredata eklenmesi, hatta okul öncesinde başlanması öneriliyor. Birçok ebeveyn de bunları dinleyip heyecanlanıyor. Çocuklarının bilgisayar başına geçip takır takır program yazacağını sanıyorlar. “Bir, bilemedin iki kodlama dersi alır sonra ver elini NASA!” Maalesef pek öyle olmuyor.

Bir kere bu kodlama işi abartılıyor. İlla bir şey abartılacaksa, algoritma mantığı abartılsın lütfen. Çünkü işin özü, o mantığı kapmakta. Eğitim uzmanı değilim. Onun için hangi yaşta ne yapmalı gibi bir konuda ahkâm kesemem. Fakat şunu söyleyebilirim: Algoritma mantığını öğretmek için öyle çok uzaklara bakmaya hacet yok. Sadece nene-dede bulmacalarıyla dahi bayağı yol alabiliriz. Kurt, kuzu ve ot bulmacasını hatırlarsınız. Bir çiftçi, kurt-kuzu-ot üçlüsünü dereden karşıya geçirmek istiyor. Fakat dereden her geçişte kayığına bu üçlüden sadece birini alabiliyor. Kendisi kayıktayken kıyıda kalanlar birbirlerini yiyebilirler. Çiftçi bu üçlüyü sağ salim karşıya nasıl geçirir? Bu bulmacayı çözerken de sıralama, tekrarlama, koşullu adım kullanılıyor işte. Daha ne olsun?

Hele bir bulmacalar ile başlasın çocuklar. Ondan sonra kodlama öğrenmeleri iyice kolaylaşacaktır. Az daha unutuyordum. Eğer çocuğunuz algoritma mantığına kafa patlatırsa, matematik ve fen derslerinde de faydasını görecektir. Hem problem çözme dediğimiz şey ne ki? Hepi topu, alt alta birkaç adımı doğru sırayla yazmak.

Şu açık. Kısa bir zaman sonra bizim okulların müfredatlarına da kodlama dersleri eklenecek. Çocuklarımız o dünyaya dalacaklar. Eğer o zamanı beklemeden, dünyada yapılanlara bir bakmak isterseniz internette pek çok kaynak var. Hele bizim evdeki ufaklar gibi sizinkiler de tabletin, bilgisayarın başından kalkamıyorlarsa, onları da alıp birkaç yazılımı ve internet sayfasını birlikte inceleyebilirsiniz. Benim beğendiğim ve Türkçe desteği olanları buraya da yazayım: Bu programların en meşhuru Scratch. Sürekli yenilenen Hour of Code oldukça başarılı. Google da geri kalmamış. Bloklarla kodlama öğreten Blockly bayağı eğlenceli gözüküyor. Üstelik bir bulmaca ile başlıyor.

Bunlar var olmasına var ama ben hâlâ nene-dede bulmacalarından yanayım. Olmadı günlük bir işi alt alta adımlar halinde yazmak bile harika bir başlangıç. Diyorum ya; önce algoritma mantığını kapsınlar. Kodlama peşi sıra gelir.

***

1- http://scratch.eba.gov.tr/

2- https://hourofcode.com/tr

3- https://blockly-games.appspot.com/?lang=tr