Yazılımcılar İçin Algoritma Nedir, Ne İşe Yarar?

Bu yazıya erişmek için neler yaptınız? Google arama motoruna “algoritma nedir” araması mı yaptınız veya Instagram, LinkedIn, Telegram üzerinden mi ulaştınız? Bu soruları neden soruyorum? Çünkü şu an da okuduğunuz bu içeriğe erişmek için siz de bir algoritma uygulayarak ulaştınız. Şimdilik bunu bilelim ve aklımızda tutalım.

Bu terim, her ne kadar matematik ve bilgisayar bilimleri ile özdeşleşse de aslında günlük hayatımızın hemen her alanında da uygulanmaktadır. Fakat çoğu insan, yaptıklarının algoritma temeline dayandığının farkında değildir.

Algoritma Nedir?

Kelime anlamı ile “Algoritma, belli bir amaca ulaşmak için veya bir problemi ortadan kaldırmak için tasarlanan yol” anlamına gelmektedir.

Bir bütün olan meseleleri ‘pasta’ gibi düşünelim. Tek seferde koca bir pastayı yiyebilen birini tanıyor musunuz? Ben tanımıyorum, zaten böyle bir durum hem fizik kurallarına hem de insan doğasına aykırı bir durumdur(Popkek gibi örnekler sakın aklınıza gelmesin 🙂 ) Gerçek, orta ve büyük boyutlardaki yaş pastayı gözünüzde canlandırın lütfen.) Peki, biz pastayı nasıl yeriz? Dilimlere ayırır ve o şekilde yeriz. Değil mi? 🙂

İşte algoritma da tıpkı böyledir. Bütüne varmak için adım adım ilerlemek gerekmektedir. Dolayısıyla günlük yaşantımızı, matematiği, programlamayı kolaylaştıran bir olgudur algoritma. Genel itibari ile insanlar özellikle “matematik” kelimesini gördüğü andan itibaren bunun çok zor bir konu olduğunu düşünüyoruz. Aslında olayları basite indirgeme manasına da gelen algoritma, sanılanın aksine hiç de zor bir konu değildir. Mantığını kavradıktan, çözdükten sonra artık hiçbir şey eskisi kadar zor olmayacaktır. Her konuda olduğu gibi burada da önemli olan husus, istikrar ve planlı çalışmadır. Bruce Lee’nin çok sevdiğim bir sözü vardır;

“10 bin tekmeyi bir kez çalışandan korkmam da, bir tekmeyi 10 bin kez çalışandan korkarım.”

Sürekliliğin sağlanması halinde her geçen gün, bir öncekine göre daha başarılı olacaksınızdır.

Günlük Yaşantımızda Algoritma

Hadi! Hemen şimdi bir gününüz boyunca neler yaptığınızı düşünün. İşe gidiyor musunuz? Okula gidiyor musunuz?(Pandemi sürecinde pek de olağan bir durum değil ama…)

Şimdi bir gününüzden bir kesit alalım ve bunu basit bir algoritmaya dökelim.

İşe gitmek için neler yaparız?

  • 1: İşe gitmek için hazırlan
  • 2: Evden çık
  • 3: Otobüs durağına git
  • 4: Otobüsü bekle
  • 5: Otobüs geldiğinde, bin
  • 6: İneceğin durağı takip et
  • 7: Durakta in
  • 8: Şirkete yürü
  • 9: Şirkete gir

Günlük yaşantımızda sıradan ve basit bir algoritma örneğini incelemiş olduk. Pratik yapmanız açısından, bu gibi örnekleri sizler de bir kağıda veya Word dosyasına yazabilirsiniz. Hatta harika bir fikrim var! Neden yorumlara bir algoritma örneği de siz bırakmıyorsunuz? Böylece hepimiz farklı algoritma fikirleri ve örneklerini görebilir, etkileşime geçebiliriz. Yazının sonunda yorumlarda buluşalım. 🙂

Algoritmanın Önemi

Mantığını kavradıktan sonra artık her şey daha kolay ve planlı olacaktır. Böylece gerek normal yaşantımızda gerekse de programlama ve matematikte büyük oranda ilerleme sağlayabilir ve kendimizi geliştirebiliriz.

Bu yazıyı okuyanlar arasında çok yüksek ihtimalle öğrenci olanlarımız vardır. Merak ettiğim bir soru var arkadaşlar. Genel olarak, sınava kaç gün kala çalışıyorsunuz? Ülkemizde öğrencilerin büyük bir çoğunluğu sınava ortalama 1 hafta kala çalışmaya başlayacağım der fakat çalışma son 3 güne hatta son güne bırakılır :). Bu durum kesinlikle bir algoritma hatasıdır. Algoritmaya uygun olanı, günlük düzenli tekrar ve çalışmaktan geçmektedir. Böylece başarı istatistiklerimizi olumlu yönde, yukarılara taşıyabiliriz.

algoritmanın önemi, algoritma neden önemli,

Programlamayı öğrenmek mi istiyorsunuz? Yazılıma nereden başlayacağınızı bilmiyor musunuz? İşte size cevabı… Algoritma.

Unutmayın ki yazılımın, programlamanın temelinde algoritma vardır. Eğer yeni başlayan veya başlamayı düşünen biriyseniz, yol haritanızı(algoritmanızı) yavaş yavaş oluşturabilirsiniz.

Algoritma ve Programlama

Geçenlerde programlamaya yeni başlamış fakat algoritmadan haberi olmayan takipçilerimden biri bana şöyle dedi; “Programlama zaten yeterince zorluyor. Bir de başıma algoritma mı çıktı?” Hayır. Hiç merak etmeyin. Çünkü programlama da algoritma da düşündüğünüz kadar zor değil, buna sizi temin ederim. Şöyle düşünelim;

Programlama, belirli komut dizeleri sonucu oluşturulan, hayatı kolaylaştıran, sorunlara çözüm üreten bir sürecin genel ismidir. Peki, bu süreç nasıl işler? Kafamıza göre, gelişigüzel bir biçimde kimse kod yazmaz, yazamaz da zaten. Çünkü pek olasılığı yoktur bu durumun. Öncelikle ne yazacağımıza karar verir, ardından planımızı oluşturur ve sonrasında da sırası ile oluşturduğumuz yol haritamıza uygun bir şekilde çalışmalarımızı gerçekleştiririz. Sonuç olarak programlamayı yöneten, devam ettiren algoritma mantığıdır. Algoritma olmaksızın maalesef programlama dillerinin herhangi bir işlevselliği olmayacaktır.

Yazılıma nereden başlayacağınızı merak ediyorsanız, size yardımcı olabilirim. Rehber niteliğindeki bu içeriğimi ziyaret edebilirsiniz. 🙂

Akış Diyagramları

Bir görsel, bin anlam. Derler. Akış diyagramları, bir problemin çözümüne giden aşamaların, adımların görsel olarak ifade ediliş biçimidir. Örneğin bir program kodlamayı planlıyorsunuz. İlk olarak ne yaparsınız? Bu gibi soruları sürekli sorarak, hafızanızda, algoritmanın kalıcı olarak yer edinmesini hedefliyorum. İlk olarak algoritmamızı yani yol haritamızı oluşturmalıyız. Hadi bunu görsel olarak, şekiller ile yapalım.

Öncelikle akış diyagramlarında, hangi geometrik şekil ne anlama geliyor, bunu öğrenelim.

akış diyagramı nedir, algoritma akış şemaları,

Akış diyagramlarını oluştururken dikkat etmeniz gereken muhakkak elips ile başlayıp, elips ile bitirmelisiniz? Bu ne anlama mı geliyor? Elipsin görevi neydi? “Başla/Bitir(SON)” değil mi? Evet. Öyleyse başlangıcını verdiğimiz bu yolun, sonunu da bildirmemiz gerekmektedir. Bir diğer husus ise “ok işaretleri” ile yolumuzu gösteren sembolü muhakkak kullanmalıyız.

Sosyal Medya Platformlarında Algoritma

Evet… Size harika bir sorum daha var :). Hangimizin Instagram, Facebook, Twitter, YouTube, LinkedIn hesabı yok? Hiçbir sosyal medya mecrasını kullanmayan arkadaş(lar)ımız aramızda varsa, lütfen yorumlara yazsın. Gerçekten tanışmak isterim. Gündemden, toplumdan, gelişmelerden anlık olarak haberdar olabiliyorlar mı? Üniversite sınavına girecek olan arkadaşlarımı bu durumdan tenzih ederim. Odaklanmak için kullanmayabilirler. Çünkü ben de bundan seneler öncesinde öyle yapmıştım. 🙂

5 yaşındaki kardeşimizden 70 yaşındaki dedelerimize kadar neredeyse herkesin sosyal medya platformlarının bir veya birden fazlasında üyeliği mevcuttur. Peki, hiç düşündünüz mü bu sosyal medya mecraları neye göre çalışmaktadır? Cevabı peşinen söyleyeyim; “Algoritmalara göre çalışmaktadır.” Örneğin instagram keşfetinizde çıkan gönderiler, reels videoları sizin hangi sayfalarda vakit geçirdiğinize, hangi tür gönderileri beğendiğinize göre listelenmektedir. Hatta internette yapmış olduğunuz “kot ceket” araması sonucu, instagramda gezinirken sponsorlu reklam olarak kot ceket reklamlarını görmeniz… Hepsi algoritmaya göre çıkmaktadır. Benzer durumlar diğer sosyal medya uygulamaları, mecraları için de geçerlidir.

Durumun farkında olan bazı reklam verenler, doğrudan influencer veya sektörüne katkı sağlayacak büyük sayfalar ile reklam anlaşması yapmaktadır.

Örneğin, kadınlara özgü bir sayfa düşünün. Bir kadın giyim butik markası, bu sayfada kadınların yani hedef müşteri kitlesinin olduğunu bilerek reklam vermektedir. Bu çalışma da bir algoritma örneğidir.

Hemen bir başka örneğe daha göz atalım;

YouTube de oyun kanallarını takip ettiğinizi ve milyonluk bir kitlesi olan bir youtuberın kanalının hayranı olduğunuzu varsayalım. Bu youtuberın önerdiği bilgisayar sistemlerini, mouse, klavye vb. ekipmanlarını kesinlikle dikkate alırsınız değil mi? Keza oynadığı, önerdiği oyunları da büyük ihtimalle oynarsınız. İşte bu durum da reklam verenlerin algoritma analizlerine dayanmaktadır.

Olayların özüne indiğimiz zaman, neredeyse her şeyin algoritmaya bağlandığını görebiliriz.

Algoritmamı Geliştirmek İçin Ne Yapmalıyım?

Bu içeriğim ile birlikte temel bir algoritma eğitimini de tamamlamış oldunuz. Daha ileri seviyelerde çalışmalar yapmak için, algoritmanızı geliştirmek için neler yapacağınızı merak ediyorsanız, bunun için şimdi sizlere birkaç öneride bulunacağım.

algoritma ve programlama,

Algoritma kabiliyetinizi arttırmanın en önemli noktası; sürekli tekrar yapmaktır. Zaten mantığını oturttuğunuz zaman, hiçbir şey eskisi kadar zaman almayacak ve daha seri bir şekilde yolunuza devam edebileceksiniz.

  • YouTube üzerinde algoritma eğitimi veren kanalları bulabilirsiniz,
  • Udemy üzerinde akış diyagramları ve algoritma ile ilgili birçok ücretli ve ücretsiz eğitime erişebilirsiniz,
  • Google de araştırma yapıp, bu konuda bilgi sağlayan, eğitim sunan web sitelerini tespit edebilirsiniz,
  • Yabancı kaynakları da araştırıp, farklı kazanımlar elde edebilirsiniz. Örneğin, medium sitesinde bir araştırma yapabilirsiniz.

Eğer gerçekten kararlı ve azimliyseniz, başaracağınıza adım kadar eminim. Konu ile ilgili herhangi bir probleminizde dilediğiniz zaman benimle iletişim kurabilirsiniz. Yardımcı olmaktan mutluluk duyarım.

Yorumlarda fikirlerinizi, görüşlerinizi belirtmekten lütfen çekinmeyin. Merakla bekliyorum.

İşinize Yarayabilir

ibm qradar nedir,

Topla, Analiz Et, Koru: QRadar Nedir?

4 gün önceki gününüzün her dakikasında ne yaptığınızı bir kağıda yazmanızı istesem, bunu yapabilir misiniz? …

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir