Ödevler, dersin öğrenme hedeflerini pekiştirmek için hazırlanmıştır. Teslimler GitHub Classroom, LMS veya e-posta üzerinden duyurulacaktır.
Kodda yeterli açıklama (yorum satırı), düzenli çıktı ve talep edilen dosya yapısı beklenir.
Ödev 1 — Birim Dönüşümleri ve Basit Hesap Makinesi Hafta 2
Açıklama: Kullanıcıdan veri alma, tip dönüşümü, temel aritmetik ve yaygın birim dönüşümlerini uygulama.
Öğrenme Hedefleri
input kullanımı ve tip dönüşümleri
temel aritmetik işlemler
birim dönüşümlerinin kodlanması
hata/istisna durumlarını yönetme (temel)
Görevler
Kullanıcıdan iki sayı alıp toplama/çıkarma/çarpma/bölme işlemlerini yapan bir “hesap makinesi” yazınız.
Aşağıdakilerden en az üçü için dönüşüm menüsü oluşturunuz:
cm → m, m → cm
Celsius ↔ Fahrenheit
kg ↔ g
W ↔ kW
Hatalı girişlerde kullanıcıyı bilgilendiriniz (ör. tip hatası).
Çıktıları anlaşılır ve etiketli biçimde yazdırınız.
Teslim
Biçim: .py veya .ipynb
Dosya adı: odev1_ad_soyad.py veya odev1_ad_soyad.ipynb
Son tarih: dd.mm.yyyy 23:59
Değerlendirme
Kriter Açıklama
Doğruluk İşlemler ve dönüşümler doğru hesaplanıyor mu?
Kullanılabilirlik Menü akışı ve mesajlar anlaşılır mı?
Hata Yönetimi Hatalı girişlerde uygun uyarı veriliyor mu?
Temizlik Kod düzeni, yorumlar, dosya adı/formatı uygun mu?
Dosyalar
İlgili haftalar: 1–2
Ödev 2 — Koşullar ve Karar Yapıları ile Uygulamalar Hafta 4
Açıklama: Karar yapılarıyla kullanıcıdan gelen verilere göre farklı çıktılar üretme.
Öğrenme Hedefleri
if/elif/else ile çoklu karar akışları
basit doğrulama kontrolleri
menü tabanlı uygulama tasarlama
Görevler
Kullanıcıya seçenekler sunan bir menü hazırlayınız (ör. üçgen türü belirleme, not harfi hesaplama, gerilim bölücü).
Her seçenek için uygun koşul bloklarını tasarlayınız ve açıklamalı çıktı veriniz.
Hatalı seçim veya eksik veri girişinde uyarı mesajları gösteriniz.
Teslim
Biçim: .py veya .ipynb
Dosya adı: odev2_ad_soyad.py
Son tarih: dd.mm.yyyy 23:59
Değerlendirme
Kriter Açıklama
Doğruluk Karar blokları doğru sonuç üretiyor mu?
Akış Menü ve yönlendirmeler tutarlı mı?
Hata Yönetimi Yanlış seçimlerde uygun uyarı var mı?
Dosyalar
İlgili haftalar: 3–4
Ödev 3 — Döngülerle Mühendislik Hesaplamaları Hafta 6
Açıklama: for/while ve sayma/toplama örüntüleri ile mühendislik bağlamında tekrar eden hesaplar.
Öğrenme Hedefleri
for/while döngüleri ve kontrol ifadeleri
kümülatif hesaplama ve tablo çıktısı
Görevler
1’den N’e kadar toplam ve çarpım tablosu.
Asal sayı listeleme (N’ye kadar) ve sayaç.
RC devresinin birkaç farklı R,C kombinasyonu için zaman sabiti tablosu üretme.
Teslim
Biçim: .py veya .ipynb
Dosya adı: odev3_ad_soyad.py
Değerlendirme
Kriter Açıklama
Doğruluk Döngüler ve sonuçlar doğru mu?
Veri Sunumu Tablo/biçim anlaşılır mı?
Dosyalar
İlgili haftalar: 4–6
Ödev 4 — Dosya/CSV Okuma, Temizleme ve Özetleme Hafta 9
Açıklama: Dosya işlemleri, basit veri temizleme ve raporlama.
Öğrenme Hedefleri
txt/csv dosyası okuma-yazma
try/except ile hata yönetimi
özet istatistikler üretme
Görevler
Örnek CSV dosyasını okuyup hatalı kayıtları tespit etme (sayısal olmayan girişler).
Temizlenmiş veriden ortalama, min, max, std raporu oluşturma.
Sonucu metin dosyasına yazma ve ekrana özet yazdırma.
Teslim
Biçim: .py veya .ipynb + test CSV
Dosya adı: odev4_ad_soyad.py
Değerlendirme
Kriter Açıklama
Doğruluk Okuma/temizleme/özet doğru mu?
Sağlamlık Hata yakalama uygun mu?
Rapor Metin çıktısı anlaşılır mı?
Dosyalar
İlgili haftalar: 8–10
Ödev 5 — Nesne Tabanlı Programlama: Sensör Sınıfı Hafta 11
Açıklama: Sınıf tasarımı, veri kapsülleme ve basit metotlar.
Öğrenme Hedefleri
class, __init__, self kullanımı
özellik/metot tasarımı
nesneler arası etkileşim (isteğe bağlı)
Görevler
Sensor sınıfı: ad, birim, değer alanları.
Değer güncelleme, ölçüm yazdırma metotları.
İsteğe bağlı: Multimeter gibi başka bir sınıf ile etkileşim.
Teslim
Biçim: .py veya .ipynb
Dosya adı: odev5_ad_soyad.py
Değerlendirme
Kriter Açıklama
Tasarım Sınıf yapısı ve metotlar yerinde mi?
Kullanım Nesne örnekleri doğru kullanılmış mı?
Temizlik Kod düzeni ve yorumlar yeterli mi?
Dosyalar
İlgili haftalar: 10–12
Ödev 6 — NumPy & Matplotlib ile Veri Analizi ve Görselleştirme Hafta 13
Açıklama: Basit veri üretimi/okuması, özet istatistik ve görselleştirme.
Öğrenme Hedefleri
NumPy dizileriyle temel işlemler
Matplotlib ile çizim
grafik bileşenlerini etiketleme
Görevler
Rastgele 100 ölçüm üretip ortalama/std hesaplama.
Zamana bağlı basit sinyal üretip çizdirme.
Grafik başlık, eksen adları, ızgara ekleme.
Teslim
Biçim: .ipynb (tercih) veya .py + PNG çıktı
Dosya adı: odev6_ad_soyad.ipynb
Değerlendirme
Kriter Açıklama
Doğruluk Hesaplamalar ve grafik doğru mu?
Okunabilirlik Eksenler, başlık ve grid uygun mu?
Sunum Notebook düzeni ve açıklamalar yeterli mi?
Dosyalar
İlgili haftalar: 12–14