Hataları Ayıklıyor, Yazılımı Tanıyoruz
Algoritmamızdaki hataları ayıklayıp kullanıma hazır hâle getiriyor; ardından yazılım geliştirme sürecinin bileşenlerini tanıyoruz.
- Algoritma Test Etme ve Geri Bildirim Alma
- Yazılımda Kullanılan Bileşenler
Öğrenme çıktıları
BTY.5.6.2 Algoritma oluşturmada test edebilme - hata ayıklayabilme
- b) Hataları ayıklayarak algoritmayı kullanıma hazır hâle getirir.
BTY.5.6.3 Yazılım geliştirme sürecinde kullanılan bileşenlerden yararlanabilme
- a) Yazılım geliştirme sürecinin bileşenlerini tanımlar.
Düşünelim, konuşalım
- 1Oyununuzdaki bir hatayı programcılar nasıl düzeltiyor olabilir?
Öğretmen için: olası cevaplar
Olası cevaplar: "Kodu değiştiriyorlar", "tekrar yazıyorlar", "güncelleme gönderiyorlar".
Varılacak nokta: Programcılar hatayı yeniden oluşturur, adım adım izler, düzeltir ve tekrar test eder; buna hata ayıklama denir.
Cevap gelmezse: "Bisikletinizin zinciri sürekli çıkıyorsa ilk ne yaparsınız?" diye sorun. Gerekirse: "Önce ne zaman çıktığına bakarız, sonra nedenini buluruz, düzeltip yeniden deneriz. Programcılar da böyle yapar."
- 2Bir uygulama neden sık sık "güncelleme" istiyor?
Öğretmen için: olası cevaplar
Olası cevaplar: "Yeni özellik için", "hataları düzeltmek için", "güvenlik için".
Varılacak nokta: Güncellemelerin önemli bir sebebi, bulunan hataların ayıklanıp düzeltilmiş sürümün yayınlanmasıdır.
Cevap gelmezse: "Güncelleme notlarında en sık hangi cümle yazar?" diye sorun. Gerekirse: "'Hata düzeltmeleri ve iyileştirmeler.' Programcılar hataları ayıklayıp yeni sürüm gönderir."
- 3Bir yazılımda hangi parçalar vardır sizce?
Öğretmen için: olası cevaplar
Olası cevaplar: "Kod", "resimler", "butonlar", "karakterler", "menüler".
Varılacak nokta: Yazılımın yapı taşları sabit, değişken, operatör ve komuttur.
Cevap gelmezse: "Bir oyunda puanınız nerede saklanıyor? Karakter '10 adım ilerle' talimatını nereden alıyor?" diye sorun. Gerekirse: "Puan bir değişkende saklanır, talimat bir komuttur. Bugün bu yapı taşlarını tanıyacağız."
- 4Bir hatayı düzeltirken başka bir şeyi bozmak mümkün mü?
Öğretmen için: olası cevaplar
Olası cevaplar: "Evet", "olabilir"; bazıları "hayır, düzeltince düzelir" der.
Varılacak nokta: Bir düzeltme başka bir yeri bozabilir; bu yüzden düzeltmeden sonra yeniden test ederiz.
Cevap gelmezse: "Bir rafı düzeltirken üstündeki vazoyu düşürebilir misiniz?" diye sorun. Gerekirse: "Evet. Programda da bir düzeltme başka bir yeri bozabilir; bu yüzden her düzeltmeden sonra tekrar test ederiz."
Hata ayıklama adımları
- Hatayı yeniden oluştur: hangi girdide oluyor?
- Adım adım takip et: hangi adımda beklenen dışına çıkıyor?
- Düzelt: adımı değiştir, ekle ya da çıkar.
- Tekrar test et: düzeltme başka yeri bozdu mu?
Hata avı
Algoritmalardaki hatayı bulun, sonra açın.
Ortalama: 1) Başla 2) İki notu al 3) Notları çarp 4) 2'ye böl 5) Sonucu yaz 6) BitirCevabı göster
Yanlış işlem: notlar çarpılmaz, toplanır.
Işık: 1) Başla 2) Hava karanlık mı? Evet → Lambayı kapat, Hayır → Lambayı aç 3) BitirCevabı göster
Ters karar: karanlıksa lamba açılmalı. Evet ve Hayır yolları yer değiştirmiş.
Sayaç: 1) Başla 2) sayac = 0 3) sayac = sayac + 1 4) 3. adıma dönCevabı göster
Bitmiyor: döngüden çıkış koşulu yok. "sayac 10 oldu mu? Evet → Bitir" kararı eklenmeli.
Yazılımın bileşenleri
Program boyunca değişmeyen değer: π sayısı, bir haftadaki gün sayısı.
Değeri değişebilen, adı olan bir kutu: puan, can, sıcaklık.
İşlem işaretleri: +, −, ×, ÷ ve karşılaştırma: >, <, =
Bilgisayara ne yapacağını söyleyen talimat: ilerle, yaz, bekle.
Hangi bileşen?
Hata Avcıları
Gruplar hatalı algoritmaları bulup düzeltir.
- Hatalı algoritma kartlarını dağıtın.
- Hatayı bulun ve düzeltilmiş hâlini yazın.
- Düzeltmeyi test tablosuyla kanıtlayın.
Kendimizi sınayalım
Bugün neler öğrendik?
- Hata ayıklama: oluştur → takip et → düzelt → tekrar test et.
- Yazılım bileşenleri: sabit, değişken, operatör, komut.
- hata ayıklama
- sabit
- değişken
- operatör
- komut
Gelecek derse hazırlık
Futbol maçında değişmeyenler (saha boyu) ve değişenler (skor) neler? Listeleyin.
Defterime yazıyorum
Sınavdan önce tekrar etmek için defterine yaz. Başlığı ve tarihi unutma!
1. Hata ayıklama adımları
Testte bulunan hatayı düzeltme işine hata ayıklama denir. Dört adımda yapılır:
- Hatayı yeniden oluştur: Hata hangi girdide oluyor? Aynı girdiyle tekrar dene.
- Adım adım takip et: Algoritmayı tek tek adımlarla izle; hangi adımda beklenenin dışına çıkıyor?
- Düzelt: Hatalı adımı değiştir, eksik adımı ekle ya da fazla adımı çıkar.
- Tekrar test et: Düzeltme işe yaradı mı? Başka bir yeri bozdu mu?
2. Hata türleri
| Hata | Örnek | Düzeltme |
|---|---|---|
| Yanlış işlem | Ortalama için notları çarpmak | Notlar toplanır, sonra sayıya bölünür. |
| Ters karar | Karanlıksa lambayı kapat | Evet ve Hayır yolları yer değiştirilir. |
| Bitmeyen döngü | sayac = sayac + 1 ve başa dön (çıkış yok) | "sayac 10 oldu mu? Evet → Bitir" eklenir. |
| Eksik adım | Suyu kaynatmadan çayı demlemek | Eksik adım doğru yere eklenir. |
Dikkat: Bir uygulamanın sık sık güncelleme istemesinin sebeplerinden biri, programcıların bulunan hataları ayıklayıp düzeltilmiş sürümü yayınlamasıdır.
3. Yazılım geliştirme süreci
Bir yazılım şu adımlarla geliştirilir: problemi belirle → girdi ve çıktıyı belirle → algoritmayı yaz ve akış şemasını çiz → kodla → test et → hata ayıkla → kullan ve geliştir. Bu süreçte yazılımın yapı taşları olan dört bileşeni kullanırız.
4. Yazılımın bileşenleri
| Bileşen | Anlamı | Örnek |
|---|---|---|
| Sabit | Program boyunca değişmeyen değer | Bir haftadaki gün sayısı (7), bir yıldaki ay sayısı (12) |
| Değişken | Değeri değişebilen, adı olan bir kutu | Oyundaki puan, can, kalan süre |
| Operatör | İşlem ve karşılaştırma işaretleri | +, −, ×, ÷, >, <, = |
| Komut | Bilgisayara ne yapacağını söyleyen talimat | "10 adım ilerle", "Merhaba de" |
5. Bileşenleri ayırt etmek
- Hata ayıklama
- Programdaki hatayı bulup düzeltme.
- Sabit
- Değişmeyen değer.
- Değişken
- Değeri değişebilen adlandırılmış kutu.
- Operatör
- İşlem ya da karşılaştırma işareti.
- Komut
- Bilgisayara verilen talimat.
- Değeri program çalışırken değişiyorsa değişkendir (puan, süre).
- Değeri hiç değişmiyorsa sabittir (kale genişliği).
- İki değer arasında bir işlem ya da karşılaştırma yapıyorsa operatördür.
- Bir eylem yaptırıyorsa komuttur.
- Hata ayıklama: yeniden oluştur → adım adım takip et → düzelt → tekrar test et.
- Yazılım bileşenleri: sabit, değişken, operatör, komut.
- Bitmeyen döngünün sebebi genellikle çıkış koşulunun olmamasıdır.
- Hata ayıklamanın dört adımını yaz.
- Düzeltmeden sonra neden tekrar test yaparız?
- "Karanlıksa lambayı kapat" algoritmasındaki hata nedir? Düzelt.
- Sabit ve değişkeni örnekle karşılaştır.
- Üç operatör ve iki komut örneği yaz.
- Hiç bitmeyen bir döngü nasıl düzeltilir?
Kendimi deniyorum — cevap anahtarı (yalnız öğretmen)
5. Sınıf Bilişim · 29. Hafta: Hataları Ayıklıyor, Yazılımı Tanıyoruz — Kendimi deniyorum cevap anahtarı
Hata ayıklamanın dört adımını yaz.
1. Hatayı yeniden oluştur. 2. Adım adım takip et. 3. Düzelt. 4. Tekrar test et.
Düzeltmeden sonra neden tekrar test yaparız?
Düzeltmenin işe yarayıp yaramadığını ve başka bir yeri bozup bozmadığını görmek için.
"Karanlıksa lambayı kapat" algoritmasındaki hata nedir? Düzelt.
Ters karar hatası vardır: karanlıkta lamba yanmalıdır. Düzeltme: Evet ve Hayır yolları yer değiştirilir; "Karanlık mı? Evet → lambayı yak, Hayır → lambayı kapat."
Sabit ve değişkeni örnekle karşılaştır.
Sabit program boyunca değişmez: bir haftadaki gün sayısı (7). Değişken program çalışırken değişebilir: oyundaki puan.
Üç operatör ve iki komut örneği yaz.
Operatörler: +, >, = (−, ×, ÷, < da olur). Komutlar: "10 adım ilerle", "Merhaba de".
Hiç bitmeyen bir döngü nasıl düzeltilir?
Döngüye bir çıkış koşulu eklenir. Örnek: "sayac 10 oldu mu? Evet → Bitir."
# başlık · - madde · **kalın** · boş satır = yeni paragraf. Not yalnız bu tarayıcıda saklanır; başka tahtaya taşımak için Öğretmen alanındaki "Dışa aktar"ı kullanın.
Haftanın videosu
Bu hafta için hazır bir video yok. Kendi seçtiğiniz bir videoyu ekleyebilirsiniz.
Ders hazırlığı ve materyaller
Dersten önce
- "Sabit-Değişken" sunumunu EBA'dan açın.
- Hatalı algoritma kartları hazırlayın (Hata avı bölümündeki örnekler kullanılabilir).
Önerilen ders akışı
- 5 dk Dikkat çekme
- 10 dk Hata ayıklama adımları + hata avı
- 25 dk Etkinlik: Hata Avcıları
- 15 dk Yazılımın bileşenleri + hangi bileşen?
- 5 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
- Sabit-Değişken Sunum kılavuz s. 212
- Futbol Sahası Sabit-Değişken kılavuz s. 214
- Hikâyemdeki Sabit ve Değişkenler kılavuz s. 215
Ölçme ve değerlendirme formları
Ölçme ve değerlendirme
Öz değerlendirme formu.
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 24 ders saati.
- Alan becerileri
- BTYAB2. Bilgi İşlemsel Düşünme (BTYAB2.1. Algoritmik Düşünme, BTYAB2.4. Test Etme-Hata Ayıklama)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)
- Eğilimler
- E1.2. BağımsızlıkE1.4. Kendine İnanma (Öz Yeterlilik)E2.5. OyunseverlikE3.3. YaratıcılıkE3.6. AnalitiklikE3.7. SistematiklikE3.8. Soru SormaE3.10. Eleştirel Bakma
- Sosyal-duygusal öğrenme becerileri
- SDB1.1. Kendini Tanıma (Öz Farkındalık)SDB1.2. Kendini Düzenleme (Öz Düzenleme)SDB2.1. İletişimSDB2.2. İş BirliğiSDB3.2. EsneklikSDB3.3. Sorumlu Karar Verme
- Değerler
- D1. AdaletD3. ÇalışkanlıkD5. DuyarlılıkD9. MerhametD10. Mütevazılık
- Okuryazarlık becerileri
- OB1. Bilgi OkuryazarlığıOB2. Dijital Okuryazarlık
- Disiplinler arası ilişkiler
- Görsel SanatlarMatematikSosyal BilgilerTürkçe
Zenginleştirme (erken kavrayanlar için)
- Kurt–kuzu–ot bulmacasının daha çok öge ve kural içeren bir sürümünü çözüp çözüm yolunu anlatma.
- Okuldaki bir soruna (kütüphane düzeni, duyuru) yazılım fikri geliştirme.
- Aynı problemi iki farklı algoritmayla çözüp karşılaştırma.
Destekleme (zorlananlar için)
- Akış şeması ve Frayer diyagramıyla algoritmayı görselleştirme.
- Günlük bir problemi (okula hazırlanma) algoritma adımlarına bölme.
- Küçük gruplarda tek bir bloğu ekleyerek görev tamamlama; başarıyı hemen görme.