Herkese selam,

Aslında bu yazı bir video olacaktı ancak yapmış olduğum 5165466132 çekimden hiçbirini beğenmediğim için yazı olarak yazayım dedim. İlk video da yazılım geliştirmeye nereden başlanır, en kolay hangi dildir gibi sorulara cevap vermeye çalışmıştım. Videoya aşağıda bulunan linkten ulaşabilirsiniz.

Bu yazıda ele alacağım konular basit algoritmaya giriş ve sorduğunuz sorular 🙂

Öncelikle sorulardan başlayalım.

1- Bilgisayar önerir misiniz ?

Arkadaşlar bilgisayar tabii ki öneririz ancak hangi alanda geliştirme yapmak istediğinizi belirlerseniz daha sağlıklı bir seçim yapabilirsiniz. Bu vesile ile alanları da sayalım hemen ;

Web Programcılığı
Veritabanı Programcılığı
Mobil Uygulama Geliştirme
Yapay Zeka
Siber Güvenlik
Oyun Programlama
Görüntü İşleme

tabii birkaç alanda da geliştirme yapabilirsiniz ancak gidip oyun geliştireceğim diyerek yüksek performanslı bir bilgisayar alıp sonradan sadece web tarafına dönerseniz pek mantıklı olmaz onun için bunu iyi analiz etmek gerekir :).

Bir de bilgisayar seçimi konusunda bir makale buldum işinize yarayabilir bir göz atın 🙂

https://www.kodcuherif.com/yazilim-yapmak-icin-uygun-bilgisayar.html

2- Yazılım kursları önerir misiniz ?

Tabii.Öyle reklam filan algılanmasın ücretsiz bir kurs sağlamıyorlar bana ama bildiklerimi yazayım.

2.1- Açık Akademi

Microsoft’un uzman geliştirici ünvanına sahip kişiler tarafından hazırlanan eğitim serilerine özellikle başlamak isteyen arkadaşlara göz atmalarını tavsiye ederim.

https://www.acikakademi.com/portal/default.aspx

Açık Akademi’ye ücretsiz üye olabilir, facebook hesabınızla bağlanıp dersleri izleyebilirsiniz. Ayrıca soru-cevap bölümünden benzer sorunlara bakıp çözüme ulaşabilir bulamıyorsanız kendiniz sorup cevap arayabilirsiniz.

2.2- Udemy

Udemy’de yazılım dünyasına ait ücretli/ücretsiz kurslar bulabileceğiniz gibi farklı alanlar için kurslarda bulabilirsiniz. Ödemeden sonra 1 yıl boyunca geçerli diye biliyorum. Ama farklılık olabilir kurstan kursa. Bazı dönemler inanılmaz indirimler veya ücretsiz kurslar gelebiliyor takip edin derim.

https://www.udemy.com/

2.3 – edX


EdX bünyesinde MIT, Berkeley ve Harward üniversitelerinde öğretilen bazı derslerin çevrimiçi hali bulunuyor. Bu derslere tamamen mekan ve kısmen zaman bağımsız olarak katılabiliyorsunuz. Bu “açık” dersler tamamen ücretsiz ve ön kabul olarak bir üniversite bitirme gerekliliği de bulunmuyor.

Ayrıca gördüğüm kadarıyla Udemy’e göre daha çok ücretsiz kurs ve birçok kursa ait sertifikayı ücretini ödeyip alabiliyorsunuz.

https://www.edx.org/

Son olarak, seçtiğiniz alana uygun Youtube’de bulunan kanallardan faydalanabilirsiniz.

3.Hangi programlama dilini öğrenmeliyim?

Bunu yukarıda belirttim ama yine belirteyim. Projenize göre dili seçmek daha sağlıklı olacaktır.

Hadi biraz algoritmaya bakalım 🙂

Algoritma bana göre hayattır. Bir sorun vardır ve çözüm adımlarını sırayla bilmeniz ve uygulamanız gerekmektedir. Her sabah kalkıp yapılacak işlerimize bakıyoruz arada ek olanlar aniden geldiği için ona göre tekrar ayarlıyoruz planımızı bu bana göre büyük bir algoritma örneğinir.

Peki rituel açıklamaya göre algoritma nedir ?

Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir.

Algoritmayı üç temelde açıklayabiliriz :

1-Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı olmamalıdır.
2-Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.
3-Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır.

Algoritma mantığını oturtamazsanız yazılım geliştirme ile ilgilenirken çok sağlıklı sonuçlar alamazsınız. Hatta işler daha sarpa sarabilir.Şu şekilde ileryebiliriz. Sorun > Algoritma Sırası > Akış Şeması. Bir örneğe bakalım :

Soru: İki sayının farkını ve bölümünü bulup ekrana yazdıran algoritmayı yazınız.

Algoritma Sırası :

A:Birinci sayı
B:İkinci sayı
D:İki sayının farkını (A-B)
E:İki sayının bölümünü(A/B)

Adım 1-Başla
Adım 2-A’yı oku
Adım 3-B’yi oku
Adım 4-D=A-B
Adım 5-E=A/B
Adım 6-D’yi yaz
Adım 7-E’yi yaz
Adım 8-Dur

Akış Şeması :

Bu tip örnekleri internetten bulabilir akış şemasını oluşturmak için ücretsiz ve kurulum gerektirmeyen https://www.draw.io/ sitesini kullabilirsiniz.

Diğer algoritma türlerini tamamen açıklayamayacağım ama başlık olarak belirteyim;

Arama algoritmaları
Bellek yönetimi algoritmaları
Bilgisayar grafiği algoritmaları
Birleşimsel algoritmalar
Çizge algoritmaları
Evrimsel algoritmalar
Genetik algoritmalar
Kripto algoritmaları veya kriptografik algoritmalar
Kök bulma algoritmaları
Optimizasyon algoritmaları
Sıralama algoritmaları
Veri sıkıştırma algoritmaları

Merak ettiklerinizi internetten araştırabilirsiniz :).

Arkadaşlarınıza tavsiye etmeyi unutmayın. Ayrıca :

http://instagram.com/cagriel

http://twitter.com/cagriell

üzerinden belirtebilir, sorabilirsiniz 🙂

Kahveniz şekersiz, kodlarınız bugsuz olsun 🙂

Top