Programlama Temelleri
Bu kitap programlamayı ilk kez öğrenecek öğrenciler için yazıldı. Dönem boyunca Python dilini kullanacağız. Daha önce hiç kod yazmamış olmanız sorun değil.
Bu derste ne öğreneceksiniz?
Bir dersten aldığınız üç notun ortalamasını hesaplayıp dersi geçip geçmediğinizi söyleyen bir program düşünün. Bu işi kâğıt üzerinde siz de yaparsınız: notları toplar, üçe böler, sonucu 50 ile karşılaştırırsınız. Bilgisayara aynı işi yaptırmak için bu adımları tek tek ve doğru sırayla yazmanız gerekir. Bir işi yapmak için izlenen bu sıralı adımlara algoritma, algoritmanın bilgisayarın çalıştırabileceği bir dilde yazılmış hâline program denir.
Python’ın yazım kurallarını (söz dizimi) öğrenmek işin yalnız bir parçası. Bu kitapta şunları da yapabilir hâle geleceksiniz:
- Ortalama problemini “notları al, topla, böl, 50 ile karşılaştır” gibi küçük adımlara ayırmak.
- Birkaç satırlık bir kodun ne yaptığını kendi cümlelerinizle anlatmak.
- Kodu çalıştırmadan önce ekrana ne yazacağını tahmin etmek.
- Program yanlış sonuç verdiğinde hatanın hangi satırda olduğunu adım adım aramak.
- Programı 49, 50 ve 51 gibi değerlerle deneyip gerçekten doğru çalıştığını göstermek.
Bölümler nasıl ilerler?
Her bölüm tanımlarla değil, bir soruyla açılır. Kavramları o soruyu cevaplarken, gerek duyduğumuz yerde tanımlarız.
Her bölümde aynı parçalar vardır:
| Parça | Ne işe yarar |
|---|---|
| Bu bölümün kapsamı | Sınavda neyin sorulacağını, neyin yalnız bilgi için verildiğini ayırır |
| Açılış sorusu | Haftanın konusunu tek soruda toplar |
| Etkinlikler | Tahmin et, çalıştır, incele ve düzelt, değiştir, üret |
| Sınav provası | Sınavdakiyle aynı biçimde, beş seçenekli sorular |
| Tek sayfa özet | Sınavdan önce okunacak kısa liste |
| Bu bölümün kazanımları | Bölümü bitirince yapabilmeniz gerekenler |
Alıştırmalar çoğunlukla şu sırayla ilerler:
Oku/Tahmin Et → Çalıştır → İncele/Düzelt → Değiştir → Üret
Sitedeki bazı kod kutularında Run Code düğmesi bulunur. Bu kutulara kod hücresi denir. Hücredeki kod tarayıcıda çalışır, bunun için bilgisayarınıza bir şey kurmanız gerekmez. Kodu değiştirip Run Code düğmesiyle sonucu görebilirsiniz. Bazı alıştırmalarda ipucu, çözüm ve kodunuzu kontrol eden otomatik geri bildirim de açılır.
PDF sürümünde aynı alıştırmalar var, ama hücreler çalışmaz. Kodu kendi bilgisayarınıza kurduğunuz Python ile deneyebilirsiniz (kurulumu 1. bölümde yapacağız). Kod okuma ve çıktı tahmini alıştırmalarını PDF üzerinden de çözebilirsiniz.
Sınav provasının cevap anahtarı yalnız doğru şıkkı söylemez. Her yanlış şıkkın neden doğru gibi göründüğünü ve neden yanlış olduğunu da açıklar. Yanlış şıklar rastgele yazılmadı. Bu konularda öğrencilerin gerçekten yaptığı hatalardan seçildi. Soruyu çözdükten sonra anahtarı okumadan geçmeyin. En çok şeyi orada öğrenirsiniz.
Bölüm başındaki kapsam kutusu
Her bölüm, kapsamı ikiye ayıran bir kutuyla başlar:
- Sınavda sorulur: bölümün ana konuları, sınav soruları bunlardan gelir.
- Sınav dışı (bilgi amaçlı): konuyu genişleten ama ezberlemeniz beklenmeyen ayrıntılar.
Bir kodu çalıştırıp doğru sonucu görmek, onu anladığınızı göstermez. Özellikle ilk bölümlerde her kodu çalıştırmadan önce ekrana ne yazacağını tahmin edin. Tahmininiz tutmazsa kodun hangi satırını yanlış okuduğunuzu bulun.
Haftalar
Bölümleri dönem boyunca bu sırayla işleyeceğiz. Her bölümün başlığının üstündeki gezinme çubuğuyla önceki ya da sonraki haftaya geçebilir, 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, kodu satır satır izleme ve sık yapılan döngü hataları.
Hafta 5
for, range ve döngü problem kalıpları
Sayma, arama ve özetleme kalıpları, girişin bittiğini bildiren özel değer (sentinel) ve tekrarlanan işlemlerle problem çözme.
Hafta 6
Fonksiyonlara giriş
Fonksiyon tanımlama ve çağırma, 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 (iki adın aynı listeyi göstermesi) ve sığ kopya.
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 ve CSV dosyalarını okuma, dosyaya yazma ve dosyadaki veriyle küçük hesaplar.
Hafta 13
İstisnalar, modüller ve hata ayıklama
Program çalışırken çıkan hataları yakalama (istisnalar), kodu ayrı dosyalara (modüllere) bölme ve hatanın yerini adım adım bulma.
Hafta 14
Bütünleştirici mikro uygulama
Dönem boyunca öğrendiklerinizi küçük bir uygulamada bir arada kullanma.
Ek çalışmalar
Bu sayfalar isteğe bağlıdır ve yeni konu öğretmez. Bölümlerdeki alıştırmaları bitirdikten sonra çıktı tahmini, hata bulma ve sınır değerleri üzerine tekrar yapmak için kullanabilirsiniz.
- Çıktı tahmini soruları: 14 bölümün her biri için beş kısa soru ve açılır cevaplar.
- Hatalı kod vakaları: sınır, tür dönüşümü, aliasing, sonsuz döngü, kapsam ve indeks ya da anahtar hatalarını içeren 25 vaka.
- Aliasing ve kopyalama alıştırmaları: 9. bölüm için referans ve kopyalama üzerine 15 soru.
- Sınır değeri kontrol kartı: bir kuralı “sınırın altı / kendisi / üstü” diye üç değerle deneme alışkanlığı için dönem boyunca bakabileceğiniz kısa sayfa.
- Üç aşamalı not takip uygulaması: aynı programı 7. bölümden sonra fonksiyonlarla, 11. bölümden sonra kayıtlarla, 13. bölümden sonra dosya ve istisnalarla büyüttüğünüz çalışma.
Çıktı tahmini ve hatalı kod sorularında ilk denemenizi çalıştırmadan yapın. Çözümü açtığınızda yalnız doğru cevabı not etmeyin. Hangi satırda yanıldığınızı bir cümleyle yazın.
İlk bölümde bir çözüm fikrinin önce açık adımlara, sonra çalıştırılabilir koda nasıl dönüştüğünü göreceğiz.