Programlama Temelleri
Bu kitap, programlamayla ilk kez karşılaşan öğrenciler için Python ile algoritmik düşünme ve temel programlama becerilerini geliştirmek amacıyla hazırlanmıştır.
Buradaki amaç yalnızca Python sözdizimini öğrenmek değildir. Bir problemi küçük adımlara ayırmayı, kısa bir kodun ne yaptığını açıklamayı, programın çıktısını çalıştırmadan önce tahmin etmeyi, hataları sistematik biçimde araştırmayı ve çözümünüzü örneklerle doğrulamayı da öğreneceksiniz.
Bu kitap nasıl kurgulandı?
Her bölüm bir tanım listesiyle değil, bir soruyla başlar. Haftanın kavramları o soruyu cevaplarken, ihtiyaç duyulduğu anda tanımlanır.
Her bölümde aynı parçalar bulunur:
| Parça | Ne işe yarar |
|---|---|
| Bu bölümün kapsamı | Neyin sınavda sorulacağını, neyin bilgi amaçlı olduğunu baştan ayırır |
| Açılış sorusu | Haftanın tamamını tek bir soruya indirger |
| Etkinlikler | Tahmin et, çalıştır, incele ve düzelt, değiştir, üret |
| Sınav provası | Sınavdaki biçimiyle, beş şıklı maddeler |
| Tek sayfa özet | Sınav öncesi okunacak madde listesi |
| Bu bölümün kazanımları | Bölümü bitirince yapabilmeniz beklenenler |
Uygulamalar mümkün olduğunda şu sırayı izler:
Oku/Tahmin Et → Çalıştır → İncele/Düzelt → Değiştir → Üret
Web sürümündeki Python hücreleri tarayıcı içinde çalışır. Kod üzerinde değişiklik yapabilir, Run Code ile sonucu görebilir ve bazı alıştırmalarda ipucu, çözüm ve otomatik geri bildirim kullanabilirsiniz.
PDF sürümünde aynı etkinlikler statik olarak yer alır. Kodu kendi Python ortamınızda çalıştırabilir veya kod okuma ve çıktı tahmin etme görevlerini doğrudan kitap üzerinden yapabilirsiniz.
“Sınav provası” maddelerinin cevap anahtarı yalnız doğru şıkkı söylemez; her yanlış şıkkın neden cazip ve neden yanlış olduğunu açıklar. Çeldiriciler uydurma değil, bu konularda gerçekten yapılan hatalardır. Maddeyi çözdükten sonra anahtarı okumadan geçmeyin — asıl öğrenme orada.
Kapsam işaretleri
Her bölümün başında kapsam ikiye ayrılır:
- Sınavda sorulur: çekirdek içerik ve ölçme kapsamı.
- Sınav dışı (bilgi amaçlı): bağlamı genişleten, ezberlenmesi beklenmeyen ayrıntılar.
Bir örneği çalıştırmak, onu anladığınız anlamına gelmez. Özellikle başlangıç bölümlerinde çalıştırmadan önce çıktıyı tahmin etmeyi alışkanlık hâline getirin.
Haftalar
Aşağıdaki sıra dönem boyunca izleyeceğimiz öğrenme yolunu gösterir. Bir bölümü tamamladıktan sonra bölüm başlığının üstündeki gezinme çubuğuyla önceki haftaya, sonraki haftaya veya bu sayfaya dönebilirsiniz.
Hafta 1
Program, algoritma ve ilk Python programı
Programlamanın amacı, algoritma–program ayrımı, sözde kod, girdi–işlem–çıktı ve ilk Python programı.
Hafta 2
Değişkenler, türler ve ifadeler
Değişkenler, temel veri türleri, kullanıcı girdisi, tür dönüşümü ve ifadeler.
Hafta 3
Koşullar ve girdi doğrulama
if, elif, else, bileşik koşullar, sınır değerleri ve geçersiz girdileri ele alma.
Hafta 4
while, koşullu tekrar ve kod izleme
Koşula bağlı tekrar, sayaç ve biriktirici kullanımı, yürütme izleme ve yaygın döngü hataları.
Hafta 5
for, range ve döngü problem kalıpları
Sayma, arama, özetleme, sentinel yaklaşımı ve tekrarlanan işlemlerin problem çözmede kullanımı.
Hafta 6
Fonksiyonlara giriş
Fonksiyon tanımı ve çağrısı, parametre, dönüş değeri ve problemi küçük parçalara ayırma.
Hafta 7
Fonksiyon tasarımı ve doğrulama
Kapsam, varsayılan parametreler, saf fonksiyonlar, fonksiyon sözleşmeleri, assert ve sınır durumları.
Hafta 8
String işlemleri
İndeksleme, dilimleme, arama, dönüştürme, biçimlendirme ve metin doğrulama.
Hafta 9
Listeler, demetler ve referans sezgisi
Liste ve demet işlemleri, değiştirilebilirlik, aliasing ve sığ kopya sezgisi.
Hafta 10
Sözlükler, kümeler ve koleksiyon seçimi
Anahtar–değer modeli, üyelik, benzersizlik, frekans sayımı ve uygun koleksiyonu seçme.
Hafta 11
İç içe kayıtlar ve küçük veri işleme
İç içe koleksiyonlarla kayıt tutma; filtreleme, gruplama, güncelleme ve özetleme.
Hafta 12
Dosyalar ve basit CSV
Metin dosyaları ve CSV verisiyle okuma, yazma ve küçük veri işleme görevleri.
Hafta 13
İstisnalar, modüller ve hata ayıklama
İstisnaları ele alma, kodu modüllere ayırma ve hataları sistematik biçimde araştırma.
Hafta 14
Bütünleştirici mikro uygulama
Dönem boyunca öğrenilen kavramları küçük bir uygulamada birlikte kullanma.
Ek çalışma merkezi
Bölümlerdeki temel etkinlikleri tamamladıktan sonra aşağıdaki sayfaları ek tekrar için kullanabilirsiniz. Bu sayfalar yeni konu öğretmekten çok, çıktı tahmini, hata bulma ve sınır durumlarını tekrar ettirmek amacıyla hazırlanmıştır.
- Çıktı tahmin havuzu — 14 bölümün her biri için beş kısa soru ve açılır cevaplar.
- Bozuk kod havuzu — sınır, tür dönüşümü, aliasing, sonsuz döngü, kapsam ve indeks/anahtar hatalarını kapsayan 25 vaka.
- Aliasing ve kopyalama çalışmaları — 9. bölüm için 15 yoğun referans/kopyalama sorusu.
- Sınır değeri kontrol kartı — “altı / kendisi / üstü” test alışkanlığını bütün dönem boyunca kullanmak için kısa başvuru sayfası.
- Kademeli not takip uygulaması — 7., 11. ve 13. bölümlerden sonra aynı programı fonksiyonlar, kayıtlar, dosya ve istisnalarla büyüten üç aşamalı çalışma.
Çıktı tahmin ve bozuk kod sorularında ilk denemenizi çalıştırmadan yapın. Çözümü açtıktan sonra yalnız doğru cevabı not etmek yerine, ilk düşüncenizin hangi satırda bozulduğunu bir cümleyle açıklayın.
İlk bölümde, bir çözüm fikrinin nasıl açık adımlara ve ardından çalıştırılabilir koda dönüştüğünü inceleyerek başlayacağız.