Yazımıza öncelikle “Algoritma Nedir?” sorusunun cevabıyla başlayalım. Algoritma, belli bir problemde çözüme ulaşmamız için gereken en kısa ve en doğru yol olarak tanımlanabilir. Bunun yanı sıra bizi bekleyen çözülmesi gereken bir problem değil ulaşılması hedeflenen bir amaç da olabilir. Bu durumda algoritma tanımımızı bir problemin çözüm yolları değil başarıya giden en iyi yol şeklinde güncellememiz gerekebilir.
Günlük hayatta karşımıza çıkan birçok soruna karşı istemsizce sayısız algoritma geliştiriyoruz. Örneğin yaşadığımız şehirde uzak bir noktada güzel bir kafeye gitmek istedik. Bunu belki bir problem belki de bir amaç olarak tanımlayabilirsiniz. Bu kafeye ulaşmak için gerekli araştırmayı yapıp hangi numaralı toplu taşıma aracına hangi durakta binmeliyim, hangi durakta inmeliyim ve nerede aktarma yapmalıyım gibi sorulara yanıtlar buldunuz. Aslında kendinize bir yol haritası belirlediniz. Bunu yaparken ilk yaptığınız şey hedefinizi belirlemek oldu. Bu örnekle algoritmanın en önemli hususunu yakalamış olduk. Problemi tanımlama ya da hedef belirleme. Çözüm yolunu belirlememiz için elbette ilk yapmamız gereken o yolun sonunda nereye varacağımızı bilmek olacaktır. Bu sebeple algoritmamızı oluştururken her zaman hedefi tahtaya ilk olarak yazmalıyız. Hedefimizi belirledikten sonraki aşama hedefe ulaşan yolu çizmekti. Yolu da kafe örneğinde olduğu gibi belirledik. Bu belirlediğimiz yolu aktarırken akış şeması dediğimiz bir diyagramdan faydalanıyoruz. Kısaca akış şemasından da bahsedip akabinde çocuklara algoritma mantığını kavratabilmemiz için faydalanabileceğimiz uygulamalara değineceğim.

Bu tabloda algoritması tasarlanacak olan problemin tasarımı sırasında kullanılacak elemanları gösterdik.Tablodaki her farklı şekil farklı bir komutu temsil ediyor. Şimdi bu komutları kullanacağımız bir örnekle konuyu pekiştirelim.

Yandaki örnekte problemimiz çalışmayan bir lamba. Şimdi bu lambanın sorunu ne onu çözmeye çalışacağız. Öncelikle problemimizi belirledik. Problemimiz lambamızın yanmaması. Daha sonra lambamızın fişinin takılı olup olmadığını denetledik. Eğer lambanın fişi takılı mı sorusuna cevabımız hayırsa fişi takarak çözüme ulaşabiliriz. Fiş takılı olduğu halde problem devam ediyorsa ampul patlak mı sorusuna geçiyoruz. Bu soruya cevabımız evetse ampulü değiştirip çözüme ulaşabiliriz ancak soruya cevabımız hayırsa çözümü lambayı değiştirmek olarak buluyoruz. Bu örnekte olduğu gibi öncelikle problemimizi belirleyip daha sonra akış şeması yardımıyla sonuca ulaşıyoruz. Şimdi geçelim algoritma eğitiminde faydalanabileceğimiz uygulamalara. İlk uygulamamızın adı CodeMonkey.

CodeMonkey kodlamayı oyunlaştırılmış olarak hem blok hem de yazı halinde öğrenmemizi sağlayan online bir platformdur. Daha çok okuma öncesi ve ilkokul çağındaki çocuklara hitap etse de içeriğindeki ileri seviye bölümler ortaokul ve lise öğrencilerinin de ilgisini çekecek seviyede. Uygulama içerisinde bir maymunu kontrol ediyorsunuz. Maymun çeşitli sorunlarla karşı karşıya kalıyor ve ulaşılması istenilen hedefler veriliyor. Oyunu oynarken aynı zamanda yukarıdaki örneklerde olduğu gibi bir algoritma oluşturup çözüme gidiyorsunuz. Tek fark CodeMonkey uygulamasında akış şemasını oyun içerisinde karakteri yönlendirerek oluşturuyorsunuz. Bu uygulama teknoloji ile sürekli içi içe olan çocukları sanal dünyadan koparmadan algoritma eğitimi almasını sağlıyor.
Gelelim diğer bir online eğitim platformuna. Compute it.

Compute it algoritma ve programlama mantığını kalıcı olarak öğrenmemizi sağlayacak oyunlaştırılmış online bir platform.Bu platform sayesinde programlamanın da temelini oluşturan tekrarla(for) ve eğer(if) gibi komutların çalışma mantıklarını simülasyon şeklinde görebilirsiniz.Basitten başlayıp karmaşığa doğru giden uygulama size algoritma yapısını tam olarak anlatıyor. Bu uygulama küçük yaştaki çocuklarda olduğu gibi yetişkinler için de programlama ve algoritma yapısını anlamak için ideal. İleri seviyelerinde biraz zorlanıyor olsanız da eğlenerek öğrenmenin en güzel örneklerinden biri. Bahsettiğim bu iki uygulamanın bağlantılarını yazının sonuna ekleyeceğim. Umarım sizler de uygulamaları kullanırken benim kadar eğlenirsiniz.
Bu yazımda sizlere sürekli kulağınıza çalınan, çoğu yerde karşınıza çıkan ama belki de tam olarak anlamını bilmediğiniz algoritma kelimesini ve algoritma eğitiminde kullanabileceğiniz platformları anlatmaya çalıştım. Umarım okuması eğlenceli ve sizin için faydalı bir yazı olmuştur. Diğer yazılarda görüşmek üzere. Sevgiyle ve bilgiyle kalın.
Uygulama Bağlantıları:
