Algoritma öğrenmek nedir ben burayı anlamadım. Yani siz kodlama öğrenmek için bana lütfen Udemy kursu önerir misin diyen birisine doğrudan algoritma öğren gibi gepgenis bir alan sunuyorsunuz. Nedir yani algoritma öğrenmek, bu adam işte binary Search mu öğrensin decision tree çalışma prensibi mi öğrensin? Vektörize yaklaşım mı öğrensin? Yoksa if else ile yazabileceği şeyi öğrenip geçsin mi? Bu işi bilen birisi için bunlar çok açık olabilir ama soruya öğrenmek istediği dille girecek kadar acemi birisine algoritma öğren demek gerçekten çok garip bence.
Aslında algoritmalardan önce programlama dili öğrenmesini dile getirerek algoritmalar öğrensin dedim çünkü bazı istisna diller hariç her dilde if else, else if, while, for gibi temel şeyler var ve bunlar klasikleşmiştir (yani herhangi (istisnalar hariç, ki onlara programlama dili demiyoruz bile) bir programlama dili öğrenirse bu temel yapıları öğrenir). Algoritmalar konusuna gelirsek bahsettiğim Atıl hocanın
Veri Yapıları ve Algoritmalar eğitimi var, ki benim başta öğrendiğim konuların genelini ve daha fazlasını kapsıyor (zaten o yüzden bi ara bakmak istediğimden bahsettim). Özetlemek gerekirse;
1- Programlama dili öğrensin (tavsiyem 6 ay içinde iş edinme derdi yoksa, üniversitesiyle birlikte çalışacaksa C dilini öğrensin, bazı şeyleri cidden eskide kaldı ama çok temel şeyleri güzel öğreten bir dil diye düşünüyorum)(tabi dip not: eğer üniversite C ile başlamıyorsa ne ile başladıklarını öğrenip o dilden başlamak daha doğru olur, ilk 2 dönem ders içeriklerine baksa yeter)
2- O programlama dilinde başlangıç antrenmanları yapsın mesela şu kaynak C dilinde çok iyi temel atıyor:
Programiz C Examples (bunu yapmasındaki maksat programlama mantığını geliştirip pseudo code yazabilmeyi öğrenmek çünkü dil değiştirdiğimizde C bilgimiz(en azından ona özel olanlar) anlamını yitirecek)
3- Artık sıra Algoritmalar ve Veri Yapılarına giriş yapıp birşeyler öğrenmekte, yalnız bunların hepsini öğrendiğin dilde de yazman gerek çünkü ancak öyle pekişiyor. mesela sort, search vb. algoritmaları; Diziler, Listeler, Queue, Stack, Graph vb. gibi Veri Yapıları öğrenebilir, bunlar potansiyelini arttıran, değerli bilgilerdir (bildiğim kadarıyla mülakatlarda da sormayı çok seviyorlarmış bu tür şeyleri ama daha iş hayatına atılmadığımdan bilmiyorum
)
4- artık C de kod yazabilen ve gerektiğinde bir Pseudo Code (yalancı kod: bir dilden bağımsız, yalnız algoritma bilgisi barındıran kod) yazabilecek duruma gelmiş biri olarak istediğiniz yöne gidebilirsiniz, grafik tasarımcı olmayacak veya oyun yazmayacaksanız (ki oyun motoru yazmak hariç, oyun motorlarını yazmak aşırı sağlam algoritma bilgisi gerektiriyor, ancak Unity falan kullanacaksan algoritmalar anlamını çoğunlukla yitiriyor) bu temeller her yerde işinize yarar ve fikir havuzunuzu genişletir.
Bu bahsettiğim benim kullandığım bir yol ve şunu söyleyebilirim, sektör bazında durumumu bilmesemde ders bazında 1. Sınıf branş derslerim AA idi ki derslere hafif katılıp sınava girerken bakmadım bile, ha bu arada Bilgisayar Mühendisliği okuyorum.
İnşallah bu yazım daha yararlı olmuştur.