ldraw-nova: AI agent'lar LEGO modellerini Python koduyla tasarlıyor
ldraw-nova'da modeller ham koordinat yerine bir plan ve Python generator yazıyor; ama fiziği ya da dengeyi hiçbir şey test etmiyor.
Harvard’ın CS50’sini online öğrencilerin %1’inden azı bitiriyor. Çoğunun neden bıraktığı ve CS50x ile CS50 Web’i bitirmemi sağlayan alışkanlıklar.

Her yıl 150.000 kişi Harvard’ın CS50 kursuna kaydoluyor.
Bitirenlerin oranı %1’in altında.
Ben iki kez bitirdim: CS50x ve CS50 Web. İnsanların çoğunun neden bıraktığını ve benim nasıl bırakmadığımı anlatıyorum.
CS50, Harvard Üniversitesi’nin bilgisayar bilimine giriş dersi. Ücretsiz, online ve muhtemelen dünyanın en ünlü programlama kursu.
Dersin hocası David J. Malan, bir üniversite dersini edX’te 6 milyonu aşkın kayıtla küresel bir fenomene dönüştürdü.
Harika görünüyor, değil mi?
Öyle. Ama bir sorun var.

Her problem seti 10–20 saat sürüyor. 10–20 dakika değil. Saat.
Kurs “12 hafta” olarak tanıtılıyor ama online öğrencilerin çoğu kursu 6–12 ayda tamamlıyor. Toplam zaman yatırımı 200 saatin üzerinde.
Bu bir kurs değil. Bu yarı zamanlı bir iş.
Harvard kampüsünde öğrencilerin %99,6’sı CS50’yi tamamlıyor. Online’da mı? %1’in altında.
Aynı içerik. Aynı ödevler. Aynı hoca.
Fark ne? Kampüste teslim tarihleriniz, asistanlarınız, sınıf arkadaşlarınız ve sosyal baskı var. Online’da ise elinizde… bir tek siz varsınız.
Kimse işi yapıp yapmadığınızı kontrol etmiyor. Bırakırsanız kimsenin umurunda olmuyor. Tek hesap verebilirlik kendi disiplininiz.
1. hafta idare edilebilir geliyor. 4. haftaya geldiğinizde C kodu yazıyor, pointer’larla boğuşuyor ve sizi buraya getiren her hayat kararını sorguluyorsunuz.
Kurs hiç geri durmuyor. Size ilk günden bir Harvard öğrencisi gibi davranıyor.
Aynı problem setinde geçmeden önce üç kez başarısız oldum. Her deneme saatler sürdü. Hayal kırıklığı gerçekti.

CS50x’e ilk denememde 3. haftadan sonra bıraktım. C dili beni yıktı.
Altı ay sonra tekrar denedim. Bu sefer yaklaşımımı değiştirdim:
Her gün 1 saate söz verdim. Hafta sonları 5 saat değil. Bir saat, her gün. İstikrar yoğunluğu yendi.
İlerlememi başkalarıyla kıyaslamayı bıraktım. Bazıları 3 ayda bitiriyor. Ben 8 ayda bitirdim. Fark etmez. Bitirmek bitirmektir.
Lastik ördek yöntemini kullandım. Takıldığımda kodumu yüksek sesle anlattım. Kulağa saçma geliyor. Ama işe yarıyor.
CS50x’ten sonra CS50 Web’in daha kolay olacağını düşündüm.
Yanılmışım.
Farklı zorluklar, aynı yoğunluk. Django, SQL, JavaScript, React; hepsi 6 projeye sığdırılmış.
Ama bu sefer CS50x’ten kalma bir disiplin kasım vardı. Sinir bozucu haftaları nasıl atlatacağımı biliyordum.
İkinci kurs 5 ayımı aldı.

Teknik beceriler önemli. Ama çalışma şeklimi değiştiren şey bunlar olmadı.
CS50 sizi gerçek koddan önce pseudocode yazmaya zorluyor. İlk başta zaman kaybı gibi geldi. Şimdi bunu otomatik olarak yapıyorum.
Bug’ların çoğu yazım hatalarından değil, net olmayan düşünceden kaynaklanır. Pseudocode onları daha var olmadan yakalar.
CS50’den önce debug yöntemim şuydu: çalışana kadar rastgele şeyleri değiştir.
CS50’den sonra: problemi binary search ile daralt. Print ifadeleri ekle. Değişkenleri izole et. Bozulan satırı tam olarak bul.
Bu tek beceri debug süremi yarıya indirdi.
CS50 Python ile değil, C ile başlıyor. Bellek yönetimini, pointer’ları ve bilgisayarların gerçekte nasıl çalıştığını öğretiyor.
Bu ilk başta gereksiz geldi. “Ben sadece web sitesi yapmak istiyorum.”
Ama C’yi anlamak JavaScript’i anlamlı kıldı. Belleğin nasıl çalıştığını anlamak beni daha iyi bir React geliştiricisi yaptı.
Alt katmanda ustalaşmanız gerekmiyor. Ama onun var olduğunu bilmek düşünme şeklinizi değiştiriyor.
Dürüst cevap: Duruma göre.
CS50’yi alın, eğer:
CS50’yi atlayın, eğer:
CS50 geliştirici olmanın en hızlı yolu değil. Ama belki de en derini.
Sertifika LinkedIn’de güzel duruyor. Ama asıl önemli olan bu değil.
CS50’yi bitirmek kendinize bir şey kanıtlar:
Başınızda bir öğretmen olmadan zor şeyler öğrenebilirsiniz. 6 saat debug edip pes etmeyebilirsiniz. Kimse izlemezken disiplinli kalabilirsiniz.

Tutorial cehennemi ve yarım bırakılmış kurslarla dolu bir dünyada, bitirmek nadirdir.
Bu yüzden sadece %1 bitiriyor.
Ve tam da bu yüzden yapmaya değer.
Ben Hüseyin, 5+ yıllık deneyime sahip bir Full Stack Engineer’ım. Büyük ölçekli e-ticaret sistemleri geliştiriyor, ara sıra öğrenme ve yazılım geliştirme üzerine yazıyorum. LinkedIn’de bağlantı kuralım.
Bu yazı İngilizce aslından Türkçeye çevrilmiştir.