Nasıl algoritmik düşünülür? Algoritma dersi nasıl çalışılmalı? | Fırat Üniversitesi Teknoloji Ar-Ge ve Girişimcilik Öğrenci Topluluğu
Home Fütag Blog Nasıl algoritmik düşünülür? Algoritma dersi nasıl çalışılmalı?
Bütün yıl ders çalıştınız veya hiç çalışmadan bir şekilde bir yerde bir bölümü kazandınız. Eğer bu bölüm mühendislik ise karşınıza mühendis öğrencilerinin tabiriyle bir bela çıkıyor, ALGORİTMA. Evet bende bu sene karşılaştım bu belayla ama nedense benim tatlı belam oldu. Çalışmaktan zevk aldığım, yavaş yavaş yapabildiğimi fark ettiğim ve daha çok ilgilenmeye başladığım bir tatlı bela oldu. Hem aranızda bilenler vardır tatlı belalar onlarla ilgilenmenizi ister. Algoritmanın da öyle olduğunu fark ettim. Onunla ilgilenmem gerektiğini, ona gerçekten zaman ayırmam gerektiğini fark ettim. Ben ona zaman ayırdıkça oda benle zaman harcamak istedi. Aranızda -sen daha ne bilirsin ki?- diyenler olacaktır. Onlara şunu demek isterim ben algoritmadan anladığımın, yapabildiğimin ve yapabileceğimin farkındayım. Bunun nasıl olduğunu? Benim gibi yeni başlayan arkadaşlara, yada üst sınıflarda olmasına rağmen algoritmadan anlamayan veya algoritma dersine korkuyla bakanlar için yazmak istedim. O zaman işin hikaye kısmını geçerek asıl konumuza dönelim.
Algoritmik düşünce nedir?
Olaya buradan başlamamız gerektiğini düşünüyorum. Algoritma dersinden önce algoritmik düşüncenin ne olduğunu bilmemiz gerek. TDK’da iyi tanımlanmış kuralların ve işlemlerin adım adım uygulanmasıyla bir sorunun giderilmesi veya sonuca en hızlı biçimde ulaşılması işlemi olarak tanımlanıyor. Aslında çok güzel bir tanım. Bir diğer tanımı da Harezmi yolu. Çünkü El Harezmi günümüz algoritmasının temelinde yatan isim. Kendisi yaptığı bir çok makineyi, icadı ve deneyleri Harezmi yoluyla yaptı. Yani algoritmik düşünerek. Neyi, Nasıl yapacağına karar vererek, adımlarını belirleyerek ve bu adımları deneyerek. Eğer yanlış adım atarsa bunu düzelterek istediği sonuca ulaştı ve icatlarını yaptı. Bizlerde günlük hayatımızda algoritmik düşünerek hareket ediyoruz. Belki bunun farkında bile değiliz ama öyle. En basitinden sabah yatağımızdan kalkarken, yemek yerken bile neler yapacağımıza aklımızdan karar veriyoruz ve daha sonra bunu uyguluyoruz. Mesela yemek yerken önce bir parça ekmek alacağımızı sonra annemizin yapmış olduğu o güzel incir reçeline bıçağımız ile uzanacağımızı daha sonra ise ekmeğimize süreceğimizi sonrada ısırıp yiyeceğimizi beynimiz her gün düşünüp uyguluyor. İşte bu dahi algoritmik düşünce demektir. Ne yapmak istiyorsun? Nasıl yapacaksın? Bunları Adım adım basit ve sade bir şekilde düşünüp uygulamaktan ibaret. Algoritma dersinde de soruları anlamıyorsanız, yapamıyorsanız bunun en temel sebebi algoritmik düşünememektir. Bu sebeble yapacağımız ilk iş algoritmik düşünme yeteneği kazanmak. Sorulara, olaylara algoritmik düşünerek yaklaşmak bu sayede çözümü veya çözüme nasıl ulaşabileceğimizi bulabiliriz. Hadi o zaman ben algoritma dersine nasıl çalışıyorum? nasıl çalışmalıyız? bunlardan bahsedelim biraz.
Algoritma dersine nasıl çalışmalıyız?
Algoritma dersinde ilk olarak akış şemaları konusu işlenir. Bunun sebebi asıl kodlamaya geçtiğimiz zaman ne yapmamız gerektiğini düşünebilme yeteneği kazanmaktır. Benim hocam hep derdi akış şemasını hallettikten sonra kodlama çok basit gelecektir. Bende kendi kendime -hadi oradan, bu şemalar nereye kodlar nereye?- derdim. Ama hocamın bu kadar haklı olacağını hiç beklemiyordum. Hakikaten kod yazarken ne yazmam gerektiğini, çözmüş olduğum akış şemaları sayesinde tahmin edebiliyordum. Burada bir değişkene ihtiyacım var, bu koşul sağlanınca artacak falan filan bunları zihnimde düşünebiliyordum. Ondan sonra koda dökmek gerçekten çok daha kolay oldu. O yüzden ilk tavsiyem akış şeması konusuna çok önem verin. Benim gibi ilk başta çok gereksiz çok saçma demek yerine ilk başta çok önemli olduğunu benimseyin. Akış şemalarında neden sorusunu hocanıza bol bol sorun çünkü istediğiniz cevabı almak için önce doğru soruyu sormanız gerekir. Hocam değişkenin değerini burada neden arttırdık?, neden döngünün içinde işlem yaptık?, neden dışında yapmadık? Durmadan kafanıza takılan her şeyi çekinmeden sorun. Böyle algoritmik düşünme yeteneğinizi arttırın. Hocanız anlamayan var mı? diye sorduğunda anlamadım demesini bilin. Sonra tüm sınıf anladım deyip algoritma sınıf ortalaması 10 olmasın.
Akış şemalarını yarım yamalak anladık. Geldik asıl kısma kodlama bölümüne. Benim en zevk aldığım bölüm burası. Arkadaşlar kodlamada ki kuralımız bu: Hoca derste kodu anlatırken DÜŞÜNEREK DİNLE, anlayacağınız dilden NOT ALIN ve eve varınca KODU YAZIN. Bunu yaptığınız takdirde ben çoğumuzun bu dersi geçeceğine inanıyorum. Ben algoritma derslerime bilgisayarımı alıp gidiyorum. Masamın
üstünde bir yanda bilgisayarım bir yanda da kodları yazdığım, notlar aldığım ajandam bulunuyor. (Eğer bilgisayarınız yoksa bir an önce temin etmeye çalışın. Maddi gücünüz yoksa eğer o zamanda kağıtlara kodları sınıftayken hatasız yazın eve gidince yeni bir boş kağıdı önünüze alıp çalışın.) Önce hocamı dinliyorum sonra gerekli yerleri anladığım dilden not alıyorum ve hemen kodu yazıyorum. Sonrada kodu çalıştırıyorum evet kodu da çalıştırıyorum çünkü hocalarımızda hatalı yazabiliyor. Çokça şahit oldum. İşte asıl mesele bu hataları kendimiz bulup düzeltebilmek. Ardından eve gidince bir daha kodu baştan yazıyorum. Sonra bir daha taki anlayana kadar. Daha sonra kodda küçük oynamalar yapıyorum. Bazı yerleri değiştiriyorum, bakıyorum, kendim keşfediyorum böyle yapsam ne olur diye. Sizde bol bol kendiniz keşfedin. Sizlere ikinci tavsiyem algoritma dersinde asla hocanızla aynı hızda gitmeyin hep ondan bir ders önde olun. Kendiniz deneyerek çabalayarak bunu yapın çünkü derse girdiğiniz zaman derse tamamen yabancı olmak yerine çok hafif bir bilgi ile gitseniz en azından -ya bu hoca ne yazıyor böyle?- demezsiniz. O yüzden hocanızın verdiğinden fazlasına kendiniz erişmeye çalışın. Size verilen tüm ödevleri ilk olarak kendiniz yapmaya çalışın. Yapamazsanız bırakmayın internetten bakın, yapabilen arkadaşlarınıza yapışın ve kodu elinde sonunda çalıştırmayı başarın. Benim algoritma dersim perşembe günü hocam ödev verince eve gidip masanın başına oturduğumda ilk olarak gün içindeki kodları tekrar eder bir daha yazarım. Sonra ödevler üzerinde saatlerce düşünürüm, denerim olmayınca tekrar düşünür tekrar denerim haftaya perşembeye kadar her gün bir daha denerim. En sonunda çoğunu yapmış olurum, yapamadıklarımı öğrenmiş olurum. Kodları kendiniz çalıştırmayı deneyin. Emin olun her gün düzenli bir şekilde 45 dakikalık çalışma size yeterli olacaktır. Zaten zamanla çalışma sürenizi de kendiniz arttıracaksınız. Sizlere son tavsiyem de pes etmeden durmadan YAZ‘ın.
algoritma, algoritma dersi, algoritma dersi nasıl, algoritma dersi nasıl geçilir, algoritmik, algoritmik düşünce, algoritmik düşünce nedir, algoritmik nasıl düşünülür, etiketçilere s.a