(Gerçek hayattan örneklerle)
Biliyoruz ki bilgisayar ile ilgili bölümlerde birinci sınıfta karşımıza çıkan bir ders var ve bu dersin adı “Algoritma ve Programlama veya Programlama Temelleri” gibi tanımlanıyor. Bölüm öğrencilerinin kabusu haline gelmiş durumda tabi herkesin değil.
+Sınavımız var!
-Hangi ders?
+Algoritma
-Aman Allah’ım kalacağız!
Veya
+Hoca ödev vermiş!
-Hangi ders?
+Algoritma
-Yapamıyoruz anlamıyoruz.
(Bazen sınıftakilere bir şaka yapıyorum biraz eğlenceli oluyor 😀 Algoritma sınavı açıklanmış gençler diyorum millet iptal 😀 )
Benzer bir sürü diyaloglara tanıklık ediyorum. Peki, bu ders neden zor ya da zor mu? Çok mu kolay? Bu tamamen kişinin çabasıyla doğru orantılıdır. Farkında mıyız,bir matematik problemi çözerken veya okula giderken işe giderken herhangi bir eylemde bulunurken bir çeşit adımlar halinde gerçekleştiriyoruz önce düşünüyoruz. Nerden gidiyim? Giderken uğrayacağım bir yer var mı? Markete girdim ne alacağım? Alışverişteki önceliğim nedir? Düşündükten sonra uygulamaya geçiyoruz. Algoritmanın teknik tanımları var evet. Bence algoritma yol haritasıdır. Haritaya bakarsınız ona göre hareket edersiniz.
Matematik, fizik, Kimya gibi derslerde hocalarımız bizlere formüller veriyorlar formülleri öğreniyoruz aslında o problemin çözümünün algoritması bunları yapabiliyoruz. Bazı konular var soruyu okuyup yorumluyoruz kafamızda kurguluyoruz. Adım adım verilenleri yazıyoruz daha sonra bildiğimiz dört işlem kullanarak problemi çözebiliyoruz. Peki, aynısını neden algoritmada yapmıyoruz? Dersin başında bize şu söyleniyor. “Bir problemi çözmek için oluşturduğumuz işlem adımlarının tamamına algoritma denir”. Şimdi biraz düşünelim. Sayısal derslerimiz de uyguladığımız işlemler ve Algoritma? Herhangi bir fark göremiyorum.
Benim tavsiyem, dersten sonra uygulanan örnekleri kendi çözmeye çalışalım.
Kendimiz bir problem üretip bunun nasıl olacağı hakkında çözüm de üretebiliriz. Ya da günlük hayatımızdaki problemlerimizi de çözebiliriz.
İhtiyacımız olan şey kağıt kalem ve bir problem. Ön yargılarımızdan kurtulup işe koyulabiliriz.
Yalnız kurgularken unutmamız gereken şey detaylar her ihtimali düşünmeliyiz. Bulduğumuz çözüm her ihtimali sağlamalı yani genel olmalı en kötü durumu düşünün!
Gün içerisinde birkaç saat oyun veya birkaç saat film dizi izleyebiliyoruz değil mi? Okuldan gelip 5 6 saat dizi veya uyku vakti gelene kadar oyun oynayanlarımız da var yani. Aslında her gün minimum 10 dakika algoritma bakmaya başlasak nasıl olur? Ön yargılarımızdan kurtulup 10 dakika kuralıyla başlamayı deneyelim.10 dakika diye başlayacaksınız ve bir süre sonra inanın o 10 dakikalar bir iki saati bulacaktır. Yeter ki hevesli ve azimli olalım. Hiçbir dersten korkmayalım sadece işe koyulalım. Bol bol örnek çözmek en iyi öğrenme yolu bol bol araştırma yapmak!
Kendimden biraz örnek vereyim,
Bilgisayar Programcılığı bölümünü 2012-2014 yılları arasında okurken ilk sene algoritma dersiyle karşılaştığımız da tabi ki zorlanmıştık yani başta her öğrenci gibi zorlandım. Kendime iyi bir arkadaş edinmiştim beraber ders çalışıyorduk.(Burak EREN sevgilerle…) ve Algoritma dersinde başarılı olduk. Nasıl mı? Hocamız 10 dakika kuralından bahsetmişti. Sadece 10 dakika akşam bakmaya başladık 10 dakika! internetten bir sürü problem örnekler bulduk ve her gün bir iki tane çözmeye başladık sadece yaptığımız buydu. Bu şekilde derste başarılı olduk! O dönemlerde tanıştığım Muhammet ÇAĞATAY abim de bana algoritmanın öneminden çok bahsederdi. Aynı şirkette çalışıyorduk.Yazdığım koddaki algoritma zayıf derdi yaptığım kurgusal eksiklikleri gösterirdi!(Tabi o zaman proje başlar başlamaz düşünmeden direk kod yazmaya başlıyorduk :D) Sonradan abi sözü dinlemeye başladık tabi kağıt kalemi elimize alıp önce isteneni kurgulayıp detaylarını düşünüp emin olduktan sonra kodlamaya başladık.
Bir sonraki yazımda yavaş yavaş uygulama örneklerine geçeceğim. Vakit ayırıp okuduğunuz için teşekkür ederim. Umarım faydalı olur.