CS50’yi Neden Sadece %1 Bitiriyor (Ben Nasıl İki Kez Bitirdim)

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.

Koyu degrade arka plan üzerinde büyük beyaz harflerle “THE 1%” yazısı ve daha küçük “CS50 | Harvard” alt başlığı; minimal, editoryal bir teknoloji stili.

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 nedir?

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.

İnsanların %99’u Neden Bırakıyor

Loş ışıklı, karanlık bir odada ekranında kod açık bir dizüstü bilgisayar; yalnızlığı ve bilgisayar bilimini online öğrenmenin zorluğunu temsil ediyor.

1. Zaman Yükü Acımasız

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ş.

2. Kimse Elinizden Tutmuyor

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.

3. Zorluk Sert Bir Şekilde Artıyor

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.

İki Kez Nasıl Bitirdim

Yumuşak doğal ışık altında dizüstü bilgisayar, defter ve kahve bulunan minimal bir çalışma alanı; disiplini ve istikrarlı öğrenmeyi simgeliyor.

CS50x: Introduction to Computer Science

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.

CS50 Web: Python and JavaScript

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ı.

CS50 Bana Gerçekte Ne Öğretti

Bilgisayar biliminin temellerini, sistemleri ve modern yazılımın altındaki katmanları temsil eden soyut, koyu bir teknoloji görseli.

Teknik beceriler önemli. Ama çalışma şeklimi değiştiren şey bunlar olmadı.

Kodlamadan Önce Düşün

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.

Sistematik Debug Et

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.

Bir Alt Katmanı Anla

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.

CS50’yi Almalı mısınız?

Dürüst cevap: Duruma göre.

CS50’yi alın, eğer:

  • Sadece kod yazmayı değil, bilgisayar bilimini anlamak istiyorsanız
  • 6–12 ay boyunca ayırabileceğiniz 200+ saatiniz varsa
  • Dışarıdan bir hesap soran olmadan disiplinli kalabiliyorsanız

CS50’yi atlayın, eğer:

  • Gelecek ayki bir iş için hızlı, pratik becerilere ihtiyacınız varsa
  • Rehberli, adım adım yönlendirilen bir öğrenmeyi tercih ediyorsanız
  • Kolay bir sertifika arıyorsanız

CS50 geliştirici olmanın en hızlı yolu değil. Ama belki de en derini.

Bitirmenin Gerçek Değeri

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.

Ortasında “Completion is rare” yazan minimal, koyu bir arka plan; azmi ve uzun vadeli bağlılığı vurguluyor.

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.

İlk yayın: Medium ↗