Programlamaya yeni başladığınızda ekrana yazdırdığımız ilk Hello World ile beynimiz dopamin salgılamaya başlıyor. Yani diyor ki: “Evet, herkes gibi bunu sen de yapabilirsin! Ahan da yaptın, geri kalanı ne kadar zor olabilir ki?”
Sonra döngüler, fonksiyonlar ve hayatınızda daha önce hiç görmediğiniz bilumum karmaşık kavramlar mantar gibi etrafta türemeye başlıyor. İstikrarlısınız ve belki gerçekten öğrenmeyi başarıyorsunuz. Peki, ama tüm bu öğrendikleriniz ne işe yarayacak?
Programlama öğrenmeye yeni başlayanlar için verilen en büyük tavsiye: “Bir yerlerde kullan” şeklinde vuku buluyor. İyi ama nerede? İşte, bu soruya yanıt vermek için naçizane ufak bir derleme yaparak programlama öğrenmeye merak salmış herkese ufaktan fikir vermek ufuk açmak istedim.
Sizden ricam: Programlama dilli öğrenirken aynı yolu izlemiş olanlardansanız, yorumlarınızla listeye katkıda bulunmanız olacaktır.
01 - Hesap Makinesi (Joker)
PHP’den Swift’e varıncaya dek geçerli bir tavsiye: Hesap makinesi. Hesap makinesi gündelik hayatta hala faydalandığımız ve insanlık varolduğu sürece kullanılmaya devam edilecek bir gereç.
Dahası, programlamaya yeni merak salmışlar için muhteşem bir başlangıç projesi olabilir. Çoğu programlama dilinde temelleri öğrendikten sonra bile bir hesap makinesi tasarlamaya başlayabilirsiniz. Bir de bundan sonra başkalarının değil, “kendi” tasarladığınız hesap makinenizi kullanacağınızı düşünürseniz, sağlam bir dopamin seviyesi sizi bekliyor demektir.
02 - Satranç Oyunu
Tarihin kendisi kadar eski bir oyun: Satranç! Satranç oyununda sürekli aynı kurallar takip edilir. Mantığı sabittir ve zihninizi geliştirmek için harika faydaları vardır; e tabii, programlama öğrenmek için de!
Öğrendiğiniz programlama dillerinin temellerini kaptığınız anda kendi satranç oyununuzu tasarlamak için kollarınızı sıvayabilirsiniz. Önce tüm satranç tahtasını, sonra diğer parçaları tasarlamalısınız. Son olarak ise asıl kilit nokta olan karakterlerin hareket kapasitelerini tanımlamalısınız. Fiziksel düşünüp programlamaya dökebileceğiniz projeler içinde satranç en başarılı örneklerden biridir. Java öğreniyorsanız, hemen yukarıya yerleştirdiğim videodan da destek alabilirsiniz.
03 - Bir Soundboard Uygulaması
İmlecin durmaksızın size göz kırptığı sayfalardan pek hoşlanmıyorsanız daha görsel alternatiflere yönelebilirsiniz. Hemen aşağıdaki videodaki arkadaş, MIT App Inventor’u kullanarak sade bir UI üzerinden nasıl ilk Android uygulamanızı yapabileceğinize dair güzel bir örnek sunuyor.
Soundboard uygulaması yapmak, üstelik videodaki gibi bir şeyler tasarlamak gerçekten çocuk oyuncağı. Yine de birgün faydasını görebilir, en azından kafanızdaki “hayali canlandırma mekanizması”nı etkin hale getirebilirsiniz. Bu bile tek başına yeterli bir sebep olabilir.
04 - Yapılacaklar Listesi Uygulaması
Üzerinde profesyonel ekiplerin aylarca uğraştığı tarzda bir şey yapmanıza gerek yok. Bunu sizden bekleyen de yok. Amacınız öğrendiğinizi bir şekilde kullanmaksa, basit bir yapılacaklar listesi aracı hazırlamak daima işe yarar. Bir yapılacaklar uygulaması hazırlamak için ister masaüstü, ister web isterse de mobil tarafta minimum çaba sonuç almanız için yeterli olacaktır.
Hemen yukarıdaki videodaki arkadaş HTML, CSS ve JavaScript’den faydalanarak oldukça başarılı bir yapılacaklar listesi uygulaması tasarlıyor. Üstüne biraz ekstradan eğilirseniz bu tarz bir uygulama portföyünüze katacağınız güzel bir örnek çalışma olabilir.
05 - Çevirici / Çevrim Aracı Tasarlayın
Yapılacaklar listesinde olduğu gibi basit adımları takip ederek çeviri aracı kodlayabilirsiniz. Peki bu araç ne mi çevirecek? Ölçü birimleri, veri ölçü birimleri veya siz neye ilgi duyuyorsanız onu. Hesaplama üzerinden biraz ilerlediğinizde pratik hayatta işinize yarayacak minik teknolojiler de tasarlayabilirsiniz. Mesela, arabanızın litre bazında yakıt tüketimini hesaplayan bir araç kodlamak size kendinizi nasıl hissettirirdi?
Eğer bu tarz bir şey geliştirmeyi düşünüyorsanız, yukarıdaki video sizin için güzel bir örnek referans olabilir. Kendi hayal gücünüzü konuşturarak daha işlevsel ve gündelik hayat için kullanışı olacak bir hesaplama aracı da geliştirebilirsiniz.
06 - Taş Kağıt Makas Oyunu
Kullanıcı girdisi ve rastgele değerlerin işin içine girdiği bir proje geliştirmek istiyorsanız, bir taş kağıt makas oyunu geliştirmeyi düşünebilirsiniz. El hareketleriyle oynanabilen bazı meşhur diğer oyun türlerini de bu kategoriye dahil edebiliriz. Basit ve etkili bir projeyle kendinizi sınamak ve geliştirmek için gerçekten iyi bir fırsat olabilir.
Yukarıdaki örnekte bir YouTuber; HTML, CSS ve JavaScript’i kullanarak nasıl böyle bir proje meydana getireceğinizi de tane tane anlatmış. Belki faydası dokunabilir.
07 - SOS Oyunu
Taş kağıt makas oyunu gibi ama biraz daha üst düzey bir projeyle başlangıcı yapmak isterseniz SOS oyunu tasarlayabilirsiniz. SOS oyunu, taş kağıt makas oyunu gibi basit kodlarla oluşturulabiliyor fakat burada işin içerisine bir parça strateji de dahil oluyor.
Yukarıdaki videoda bir başka arkadaş JavaScript’i kullanarak nasıl bir SOS oyunu geliştireceğinizi açıklamış. Eğer web geliştirme alanındaki dilleri öğreniyorsanız bu ders sizin için oldukça faydalı olabilir.
08 - Otomatikleştirilmiş Bir Araç
Programlama yapabilmenin belki en güzel yanı; diğer insanların uzun süre harcayarak yapmak zorunda olduğu bir işi sizin sadece birkaç satır kodla halledebilecek olmanızdır. Hemen her dil bu amaca hizmet etmesine rağmen Python’un botlar konusundaki başarısı malumunuz. Yeni trendin peşine takılıp Python öğrenenlerdenseniz, gündelik işlerinizde size yardımcı olacak otomatikleştirilmiş bir bot veya Web Scraping (veri çekme) aracı geliştirebilirsiniz.
Yukarıdaki video giriş seviyesinde Python bilen arkadaşların kendilerine nasıl bir Web Scraping aracı oluşturabileceklerini anlatıyor. Benzer projeler türeterek HTML ve XML verilerini otomatik olarak bir CVS dosyasının içerisine yazdırmak gibi harika şeyler yapabilirsiniz. Yaptıklarınızı gündelik hayatınızda da kullanabilecek olmanız işin zevkli yanını açığa çıkaracaktır.
09 - Basit Bir HTML5 İnternet Sayfası Tasarlayın
HTML ve CSS öğrenerek web programlamaya temelden dalıyorsanız hiç beklemenize gerek yok! Kendi yeteneklerinizi sergileyebileceğiniz bir portföy sitesi veya gerçekten insanların işine yarayacak amatör bir proje için kollarınızı sıvayabilirsiniz. Öğrendiğinizi uygulamak, hafızanızı canlı tutmanıza yardımcı olurken diğer yandan karşınıza yeni sorunlar çıkaracaktır. Sorun demek çözüm bulmanız demek ki, bu da en iyi pratik yapma şekillerinden biridir.
Yukarıdaki videodaki arkadaş, nereden başlayacağını kestiremeyen yeni başlayanlar için gayet başarılı bir proje örneği ortaya çıkarmış. Kendi başınıza projenize gömülmeden önce belki göz atmak isteyebilirsiniz.
10 - Yılan Oyunu
Temelleri yalayıp yuttuktan sonra kendi ikonik yılan oyununuzu tasarlamak işten bile olmayabilir. Belki daha önce başkalarının kodladığı yılan oyunlarıyla vakit öldürmüş olabilirsiniz, bu kez ise kendi oyununuzu tasarlayacak ve kendi tasarladığınız oyununuzla vaktinizi değerlendireceksiniz.
Yukarıdaki videoda bir başka yazılımcı, herhangi bir motor veya kütüphaneden faydalanmadan sadece JavaScript kullanarak nasıl kendi yılan oyununuzu tasarlayacağınız konusunda güzel bir örnek ortaya koymuş. Ve projenin tamamlama süresi neredeyse 5 dakika. Daha n’olsun?
Büyük Düşünün Küçük Başlayın!
Dünyayı değiştiren yazılımcıların hiçbiri yıldız projeleriyle işe başlamadılar. Birçoğu bizlerin geçtiği yolları takip ederek kendi yollarını inşa ettiler. Siz de basitten başlayarak işi bir üst çıtaya taşıyabilirsiniz. Küçük başlayın ama hep büyük düşünün.