İçeriğe geç
Ders MerkeziDP Pano
6. Sınıf · 21. Hafta 22–26 Şubat 2027 6. Tema · Yazılım Tasarımı ve Programlama

Kodu İyileştir, Fonksiyonla Sadeleştir

Blok tabanlı ortamdaki yazılım bileşenlerini değerlendiriyor, karmaşık kodlarda tekrarları bulup döngü ve fonksiyonlarla sadeleştiriyoruz.

  • Blok Tabanlı Programlama Ortamına Giriş
Öğrenme çıktıları

BTY.6.6.1 Blok tabanlı ortamda yazılım geliştirme sürecinde kullanılan bileşenlerden yararlanabilme

  • c) Blok tabanlı ortamda yazılım geliştirme süreci bileşenlerini değerlendirir.
Vergi Haftası
Dikkat Çekme

Düşünelim, konuşalım

  1. 1
    Uzun bir kodu okurken nerede kaybolursunuz?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Aynı bloklar çok tekrar edince", "ne yaptığını anlamayınca", "adlar Kukla1, Kukla2 olunca".

    Varılacak nokta: Tekrarlar, anlamsız adlar ve düzensiz kod okumayı zorlaştırır; sadeleştirme bunları giderir.

    Cevap gelmezse: Tahtaya aynı iki satırı dört kez alt alta yazın ("ilerle, dön"). Gerekirse: "Kaç kez tekrar ettiğini saymak bile zor. Bunu '4 kez tekrarla' ile tek satıra indirebiliriz."

  2. 2
    İyi bir kodun özellikleri nelerdir?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Çalışması", "kısa olması", "anlaşılır olması", "hatasız olması".

    Varılacak nokta: İyi kod doğru çalışır, sadedir, okunurdur ve düzenlidir.

    Cevap gelmezse: "Çalışan ama kimsenin anlamadığı bir kod iyi midir?" diye sorun. Gerekirse: "Tam değil. İyi kod doğru çalışmanın yanında sade, okunur ve düzenli olmalıdır."

  3. 3
    Kodunuzu bir arkadaşınız anlayabilir mi?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Evet", "belki", "Hayır, çok karışık".

    Varılacak nokta: Okunabilirlik, kodu yazan dışında birinin (ya da bir ay sonra bizim) kolayca anlayabilmesidir; anlamlı adlar bunu güçlendirir.

    Cevap gelmezse: İki öğrencinin kodlarını yer değiştirip bir dakika incelemelerini isteyin. Gerekirse: "Adlar 'Kedi', 'puan' olunca hemen anlaşılıyor; 'Kukla1', 'a' olunca anlaşılmıyor."

  4. 4
    Odanızı toplarken eşyaları gruplara ayırmak neden işi kolaylaştırır?
    Öğretmen için: olası cevaplar

    Olası cevaplar: "Aradığımızı bulmak kolaylaşır", "daha hızlı toplanır", "düzenli olur".

    Varılacak nokta: Kodlar da kuklaya ve olaya göre gruplanınca düzenli olur ve aranan bölüm kolayca bulunur.

    Cevap gelmezse: "Kitaplar, oyuncaklar ve kıyafetler aynı yığında olsa çorabınızı nasıl bulurdunuz?" diye sorun. Gerekirse: "Zor bulurduk. Kodu da kuklasına ve olayına göre gruplarız; buna düzenli kod denir."

Konu

İyi kodun özellikleri

ÖzellikAçıklama
Doğru çalışırBeklenen sonucu verir.
SadeGereksiz tekrar içermez; döngü ve fonksiyon kullanır.
OkunurAnlamlı kukla, değişken ve fonksiyon adları vardır.
DüzenliKodlar ilgili kuklaya ve olaya göre gruplanmıştır.
Konu

Hata ayıklama ve sadeleştirme

Bu etkileşimli bölüm için tarayıcıda JavaScript açık olmalıdır.

Konu

Kodu sadeleştirme adımları

  1. Tekrarı bul: Arka arkaya ya da farklı yerlerde aynı blok dizileri var mı?
  2. Arka arkaya tekrar → döngü: "ilerle, dön" 4 kez yazılmışsa "4 kez tekrarla" kullan.
  3. Farklı yerlerde tekrar → fonksiyon: aynı iş birden çok olayda yapılıyorsa fonksiyon tanımla.
  4. Adlandır: kukla, değişken ve fonksiyonlara ne yaptığını söyleyen ad ver.
  5. Test et: sadeleşen kod eskisiyle aynı sonucu veriyor mu?
EBA materyali Kodları İyileştir Fonksiyonla Sadeleştir Görseli EBA'da aç
Konu

Önce / sonra

DurumÖnceSonraBlok sayısı
Kare çizmekilerle, dön × 4 kez alt alta4 kez tekrarla { ilerle, dön }8 → 3
Üç engelde zıplamakzıplama blokları 3 yerdezıpla fonksiyonu + 3 çağrı30 → 13
Kukla adlarıKukla1, Kukla2Kedi, TopAynı ama okunur
Konu

Döngü mü, fonksiyon mu?

Döngü
  • Aynı adım 10 kez arka arkaya
  • Yıldızın sürekli dönmesi
Fonksiyon
  • Aynı ses efekti üç farklı olayda
  • "Oyunu sıfırla" hem başta hem kaybedince
Etkinlik 1

Kod Dedektifleri: Karmaşık Kodda Fonksiyon Avı

25 dk Grup

Gruplar karmaşık bir koddaki tekrar eden parçaları fonksiyona dönüştürür.

  1. Tekrar eden blok dizilerini işaretleyin.
  2. Bunlar için fonksiyon tanımlayın.
  3. Blok sayısını önce/sonra karşılaştırın.
EBA materyali Fonksiyon Kullanarak Kod Geliştirme ve İyileştirme Sunumu EBA'da aç
Öğrenci bilgisayarı yoksa: tahta ve kâğıtla

Karmaşık kodun çıktısını dağıtın; gruplar tekrar eden blokları renkli kalemle işaretleyip fonksiyona çevirir ve blok sayısını önce/sonra sayar.

Etkinlik 2

Fonksiyonlu Proje Taslağı

25 dk Grup

Gruplar fonksiyon içeren küçük bir proje fikri planlar.

  1. Fonksiyon Planlama Formunu doldurun (EBA).
  2. Hangi işler fonksiyon olacak?
Pekiştirme

Kendimizi sınayalım

  1. Kodu sadeleştirmek için hangisi kullanılır?

    • Aynı blokları kopyalamak
    • Döngü ve fonksiyon
    • Daha çok kukla eklemek
    • Renkleri değiştirmek
  2. Aynı iş programın farklı yerlerinde yapılıyorsa hangisi uygundur?

    • Fonksiyon
    • Döngü
    • Yeni dekor
    • Ses
  3. "Kukla1" yerine "Kedi" adını vermek hangi özelliği güçlendirir?

    • Okunabilirlik
    • Hız
    • Renk
    • Ses
Özet

Bugün neler öğrendik?

  • İyi kod: doğru, sade, okunur, düzenli.
  • Arka arkaya tekrar → döngü; farklı yerlerde tekrar → fonksiyon.
  • Sadeleştirmeden sonra kod tekrar test edilir.
  • sadeleştirme
  • tekrar
  • okunabilirlik
  • fonksiyon

Gelecek derse hazırlık

Günlük hayattan yazılımla çözülebilecek bir problem düşünün.

Ders notu

Defterime yazıyorum

Sınavdan önce tekrar etmek için defterine yaz. Başlığı ve tarihi unutma!

6. Sınıf Bilişim · 21. Hafta: Kodu İyileştir, Fonksiyonla SadeleştirTarih: ....../....../20....

1. İyi kodun özellikleri

ÖzellikAçıklama
Doğru çalışırBeklenen sonucu verir
SadeGereksiz tekrar içermez; döngü ve fonksiyon kullanır
OkunurAnlamlı kukla, değişken ve fonksiyon adları vardır
DüzenliKodlar ilgili kuklaya ve olaya göre gruplanmıştır

Dikkat: Kodun okunabilirliği, onu yazan kişi dışında birinin (ya da bir ay sonra bizim) kolayca anlayabilmesidir.

2. Sadeleştirme

Sadeleştirme, kodun yaptığı işi değiştirmeden gereksiz tekrarları kaldırıp daha kısa ve anlaşılır hâle getirmektir.

  • Tekrarı bul: aynı blok dizileri var mı?
  • Arka arkaya tekrar → döngü: "4 kez tekrarla".
  • Farklı yerlerde tekrar → fonksiyon: bir kez tanımla, her yerde çağır.
  • Adlandır: Kukla1 yerine Kedi, a yerine puan.
  • Test et: sadeleşen kod aynı sonucu veriyor mu?

3. Önce / sonra

DurumÖnceSonraBlok sayısı
Kare çizmekilerle, dön × 4 alt alta4 kez tekrarla { ilerle, dön }8 → 3
Üç engelde zıplamakzıplama blokları 3 yerdezıpla fonksiyonu + 3 çağrı30 → 13
Kukla adlarıKukla1, Kukla2Kedi, TopAynı ama okunur

4. Döngü mü, fonksiyon mu?

DöngüFonksiyon
Aynı iş arka arkaya tekrarlanıyorsaAynı iş programın farklı yerlerinde yapılıyorsa
Aynı adım 10 kez arka arkayaAynı ses efekti üç farklı olayda
Yıldızın sürekli dönmesi"Oyunu sıfırla" hem başta hem kaybedince

5. Kod dedektifliği

Karmaşık bir kodu incelerken önce tekrar eden blok dizilerini işaretleriz, sonra bunları döngüye ya da fonksiyona dönüştürür ve blok sayısını önce/sonra karşılaştırırız. Kod kısalmış ama sonuç değişmemişse sadeleştirme başarılıdır.

Sadeleştirme
Kodu, yaptığı işi değiştirmeden kısaltıp anlaşılır yapma.
Tekrar
Aynı blok dizisinin birden çok kez yazılması.
Okunabilirlik
Kodun kolayca anlaşılabilmesi.
Fonksiyon
Bir işi yapan, adı olan blok grubu.
Unutma!
  • İyi kod: doğru, sade, okunur, düzenli.
  • Arka arkaya tekrar → döngü; farklı yerlerde tekrar → fonksiyon.
  • Sadeleştirmeden sonra kod test edilir.
Kendimi deniyorum
  1. İyi kodun dört özelliğini yaz.
  2. Sadeleştirme nedir? Adımlarını yaz.
  3. Hangi durumda döngü, hangi durumda fonksiyon kullanılır?
  4. Kare çizen 8 bloklu kodu döngüyle kaç bloğa indirirsin?
  5. Anlamlı ad vermek hangi özelliği güçlendirir?
  6. Sadeleştirmeden sonra neden test yaparız?
Kendimi deniyorum — cevap anahtarı (yalnız öğretmen)

6. Sınıf Bilişim · 21. Hafta: Kodu İyileştir, Fonksiyonla Sadeleştir — Kendimi deniyorum cevap anahtarı

  1. İyi kodun dört özelliğini yaz.

    Doğru çalışır, sadedir, okunurdur, düzenlidir.

  2. Sadeleştirme nedir? Adımlarını yaz.

    Sadeleştirme, kodun yaptığı işi değiştirmeden gereksiz tekrarları kaldırıp daha kısa ve anlaşılır hâle getirmektir. Adımlar: tekrarı bul, arka arkaya tekrarı döngüye çevir, farklı yerlerdeki tekrarı fonksiyona çevir, anlamlı adlar ver, test et.

  3. Hangi durumda döngü, hangi durumda fonksiyon kullanılır?

    Aynı iş arka arkaya tekrarlanıyorsa döngü; aynı iş programın farklı yerlerinde yapılıyorsa fonksiyon kullanılır.

  4. Kare çizen 8 bloklu kodu döngüyle kaç bloğa indirirsin?

    3 bloğa indiririm: 4 kez tekrarla { ilerle, dön }.

  5. Anlamlı ad vermek hangi özelliği güçlendirir?

    Okunabilirliği güçlendirir.

  6. Sadeleştirmeden sonra neden test yaparız?

    Sadeleşen kodun hâlâ aynı sonucu verdiğinden emin olmak için; kısaltırken bir şeyi bozmuş olabiliriz.

Video

Haftanın videosu

Bu hafta için hazır bir video yok. Kendi seçtiğiniz bir videoyu ekleyebilirsiniz.

Bağlantı yalnız bu tarayıcıda saklanır, sunucuya gönderilmez. Video, siz Oynat'a basana kadar yüklenmez (youtube-nocookie.com). Okul ağı YouTube'u engelliyorsa video açılmaz; EBA bağlantıları aşağıdadır.

Yalnız öğretmen

Ders hazırlığı ve materyaller

Dersten önce

  • "Kodları İyileştir, Fonksiyonla Sadeleştir" görselini EBA'dan açın.

Önerilen ders akışı

  1. 5 dk Dikkat çekme
  2. 10 dk İyi kod + sadeleştirme adımları
  3. 25 dk Kod Dedektifleri
  4. 5 dk Döngü mü fonksiyon mu?
  5. 25 dk Fonksiyonlu Proje Taslağı
  6. 10 dk Pekiştirme

EBA materyalleri (kılavuz kitaptaki karekodlar)

Bağlantılar yeni sekmede açılır ve EBA girişi ister — tahtada öğretmen hesabınızla oturum açın. EBA bu içeriklerin başka bir sayfaya gömülmesine izin vermez.

Ders materyalleri

Ölçme ve değerlendirme formları

Ölçme ve değerlendirme

Öz değerlendirme formu ve "Ne Öğrendim, Ne Kazandım?" gözlem formu (EBA).

Kendi içeriklerim

Her bölümün altındaki "Bu bölüme görsel ekle" ile kendi görsellerinizi ekleyin, aşağıdaki düğmeyle görselleri sunuma ayrı slayt olarak katın; "Defterime yazıyorum" bölümünde kendi ders notunuzu yazın.

Yükleniyor…

Görseller ve notlar sunucuya gönderilmez; yalnız bu tarayıcıda saklanır. Tarayıcı verisi silinirse kaybolur: düzenli olarak Dışa aktar ile yedek alın, dosyayı başka tahtada İçe aktar ile açın. Öğrenci fotoğrafı ya da kişisel bilgi içeren görsel eklemeyin (KVKK).

Sınıf ortamı

İşaretlerseniz bilgisayar gerektiren etkinliklerdeki "tahta ve kâğıtla" alternatifleri açık gelir. Simülasyonlar tek bir tahta ekranında sınıfça yapılabilecek şekilde tasarlandı. Tercih bu tarayıcıda hatırlanır.

Maarif Modeli: 6. tema künyesi

Kaynak: Bilişim Teknolojileri ve Yazılım Dersi Öğretim Programı (TYMM). Tema toplam 34 ders saati.

Alan becerileri
BTYAB3. Yazılım Geliştirme (BTYAB3.2. Yazılım Geliştirme Sürecinde Kullanılan Bileşen/Yapı/ Yöntemlerinden Yararlanma, BTYAB3.3. Yazılım Geliştirme Sürecini Yönetme, BTYAB3.4. Yazılım Geliştirme Sürecinde Mekanik/Robotik ve Ürün veya Sistem Ortaya Koyma)
Eğilimler
E1.1. MerakE2.1. Empati
Sosyal-duygusal öğrenme becerileri
SDB1.2. Kendini Düzenleme (Öz Düzenleme)SDB1.3. Kendine Uyarlama (Öz Yansıtma)SDB2.1. İletişimSDB2.2. İş BirliğiSDB3.3. Sorumlu Karar Verme
Değerler
D1. AdaletD3. ÇalışkanlıkD6. DürüstlükD12. Sabır
Okuryazarlık becerileri
OB1. Bilgi OkuryazarlığıOB2. Dijital Okuryazarlık
Disiplinler arası ilişkiler
Görsel SanatlarMatematikMüzikSosyal BilgilerTürkçe

Zenginleştirme (erken kavrayanlar için)

  • Yapay zekâ kullanan bir mesleği araştırıp yapay zekânın o alandaki etkisini sunma.
  • Açık veri setiyle basit bir sınıflandırma modeli (meyve, yaprak sağlıklı/hastalıklı) deneme.
  • Yapay zekâ destekli turist rehberi uygulamalarını araştırıp raporlama.

Destekleme (zorlananlar için)

  • Değişken, döngü ve koşul kavramlarını görsel materyal ve videolarla pekiştirme.
  • Adım adım yönergeli küçük projeler (karakteri hareket ettirme) tamamlama.
  • Daha basit bir blok tabanlı araçla başlayıp zorlanılan konular için soru-cevap oturumu yapma.