Algo-I
9 Metotlar Portfolyo KT2

Metotlar II: Kapsam, Yığın Diyagramı, Artımlı Geliştirme ve KT2 Teslimi

Metot çağrıldığında bellekte ne olur: yığın diyagramıyla adım adım izleme, kapsam kuralları ve büyük programı küçük adımlarla yazma disiplini. Ara sınav haftası; tarih bölümce ilan edilecek. KT2 teslim haftası: 27 Kasım Cuma 23.59.

Teori
Cuma 20 Kasım · A 09.15 / B 13.15
Laboratuvar
A Çarşamba 25 Kasım 13.15 · B Perşembe 26 Kasım 15.15(teoriden bir hafta sonra) Lab içeriği ↓
Ders planı
Değişken kapsamı ve yerel değişkenler, çağrı yığını ve yığın diyagramları, artımlı geliştirme ve test etme alışkanlığı; ara sınav haftası

Teori

Öğrenme hedefleri

Bu haftanın sonunda:

  • 1 Yerel değişken ve kapsam kurallarını açıklar; kapsam hatasını tanır.
  • 2 Bir metot çağrı zincirini yığın diyagramıyla çizer ve değişken değerlerini izler.
  • 3 Artımlı geliştirme ile bir problemi küçük, test edilen adımlarla çözer.
  • 4 Kod izleme sorusunda metot çağrısının dönüş değerini doğru bulur.
  • 5 KT2: ana akışı gözcü değerle biten bir menü döngüsünde çalışan ve girdi doğrulama döngüsü içeren sürümü 27 Kasım Cuma 23.59'a kadar push eder.

Haftanın Bulmacası

Kağıt yığını: her metot çağrısı için bir kağıt, üstteki kağıt aktif; return olunca kağıt atılır. Üç metotlu bir program tahtada kağıtlarla “çalıştırılır”; hangi değişken hangi kağıtta?

Ders Notları

İşlenecek başlıklar:

  • Kapsam (scope): yerel değişkenler, blok kapsamı, aynı ad farklı metot
  • Çağrı yığını ve yığın diyagramları (Think Java 4.5)
  • Metot içinde değişken değiştirmek çağıranı etkiler mi? (değer ile geçirme)
  • Artımlı geliştirme: mesafe hesabı örneği adım adım (Think Java 4.9)
  • Test: bilinen cevaplı girdilerle metot doğrulama
  • Kod tekrarını metotla giderme; iyi metot adı
  • Ara sınav haftası: tarih ve yer bölümce ilan edilecek; kırmızı bölge
  • Ara sınava hazırlık: kod izleme, boşluk doldurma, portfolyodan 10 puanlık soru
  • KT2: gözcü değerle biten menü döngüsü, girdi doğrulama (27 Kasım Cuma 23.59)

Temel Kavramlar

  • Kapsam (scope): Bir değişkenin görülebildiği kod bölgesi.
  • Yerel değişken: Metot içinde tanımlanan, metot bitince yok olan değişken.
  • Çağrı yığını (call stack): Aktif metot çağrılarının üst üste dizildiği bellek bölgesi.
  • Değer ile geçirme: Argümanın kopyası gönderilir; ilkel tiplerde çağıranın değişkeni değişmez.
  • Artımlı geliştirme: Her seferinde küçük bir parça ekleyip test etme.

Sahadan Örnekler

  • StackOverflowError: bir metodun kendini sonsuz çağırması yığını taşırır; Stack Overflow sitesinin adı buradan gelir.
  • Profesyonel ekiplerde her metot için otomatik test yazılır (JUnit); artımlı geliştirme bu alışkanlığın ilk adımıdır.

Laboratuvar

Bu haftanın laboratuvarı bir hafta sonra yapılır (A Çarşamba 13.15, B Perşembe 15.15): Lab 9. Tarihler için Ders Hakkında sayfasındaki takvime bakın.

Bu haftanın araçları

  • Java Playground
  • JDK 21
  • VS Code
  • Java Visualizer

Etiketler:kapsamyığınstackartımlı geliştirmetestara sınavKT2

Laboratuvar · Hafta 9

Lab 9 · Yığın Diyagramı, Artımlı Geliştirme ve KT2 Teslimi (Ara Sınav Haftası)

Metot çağrı zincirlerini yığın diyagramıyla izleme, Java Visualizer ile doğrulama, artımlı geliştirme alıştırması ve ara sınava hazırlık; portfolyonun döngülü sürümünün (KT2) teslimi.

Yürüten
Arş. Gör. Ömer Miraç Kökçam
Laboratuvar sorumlu hocası
Tarihler (teoriden bir hafta sonra)
A Çarşamba 25 Kasım 13.15
B Perşembe 26 Kasım 15.15

Lab hedefleri

  • 1 Verilen programların yığın diyagramını çizer ve dönüş değerlerini elle bulur.
  • 2 Bir problemi dört küçük adımda, her adımı test ederek çözer.
  • 3 Ara sınav tarzı kod izleme ve boşluk doldurma sorularını kağıtta çözer.
  • 4 KT2: gözcü değerle biten menü döngüsü ve girdi doğrulama içeren sürümü 27 Kasım Cuma 23.59'a kadar push eder.

Bu lab neyi uyguluyor?

9. haftanın teorisini. Laboratuvar teoriden bir hafta sonra yapılır: A şubesi Çarşamba 13.15, B şubesi Perşembe 15.15; tarihler Ders Hakkında takviminde.

Görevler

Teslim

Görev dosyalarınızı Classroom 50 bağlantısıyla açılan Lab 9 deponuza push edin (bağlantı lab günü verilir; depo adı algo1-lab09-KULLANICIADI). Otomatik kontrol sonucunu deponun Releases sayfasında görür, düzeltip tekrar push edebilirsiniz. Son teslim: lab haftasının Cuma 23.59’u. Lab’da lab sorumlu hocanıza 30 saniyede bir görevi anlatın. Portfolyo (KT2) ayrı bir depodur: kilometre taşı sürümünü lab deposuna değil, Classroom 50 ile verilen portfolyo deponuza push edin; 27 Kasım Cuma 23.59’da toplanır. Yapay zeka sarı bölge: soru sorabilirsiniz, kod kopyalayamazsınız.

Lab araçları

  • JDK 21
  • VS Code
  • Java Visualizer
  • Git

Lab sırasında kodu kendi bilgisayarınızda ya da Java Playground'da çalıştırabilirsiniz.