Ödevler Genel Bilgi

Ö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

  1. Kullanıcıdan iki sayı alıp toplama/çıkarma/çarpma/bölme işlemlerini yapan bir “hesap makinesi” yazınız.
  2. Aşağıdakilerden en az üçü için dönüşüm menüsü oluşturunuz:
    • cm → m, m → cm
    • Celsius ↔ Fahrenheit
    • kg ↔ g
    • W ↔ kW
  3. Hatalı girişlerde kullanıcıyı bilgilendiriniz (ör. tip hatası).
  4. Çı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

KriterAçıklama
Doğrulukİşlemler ve dönüşümler doğru hesaplanıyor mu?
KullanılabilirlikMenü akışı ve mesajlar anlaşılır mı?
Hata YönetimiHatalı girişlerde uygun uyarı veriliyor mu?
TemizlikKod düzeni, yorumlar, dosya adı/formatı uygun mu?

Ö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

  1. Kullanıcıya seçenekler sunan bir menü hazırlayınız (ör. üçgen türü belirleme, not harfi hesaplama, gerilim bölücü).
  2. Her seçenek için uygun koşul bloklarını tasarlayınız ve açıklamalı çıktı veriniz.
  3. 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

KriterAçıklama
DoğrulukKarar blokları doğru sonuç üretiyor mu?
AkışMenü ve yönlendirmeler tutarlı mı?
Hata YönetimiYanlış seçimlerde uygun uyarı var mı?

Ö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. 1’den N’e kadar toplam ve çarpım tablosu.
  2. Asal sayı listeleme (N’ye kadar) ve sayaç.
  3. 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

KriterAçıklama
DoğrulukDöngüler ve sonuçlar doğru mu?
Veri SunumuTablo/biçim anlaşılır mı?

Ö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

  1. Örnek CSV dosyasını okuyup hatalı kayıtları tespit etme (sayısal olmayan girişler).
  2. Temizlenmiş veriden ortalama, min, max, std raporu oluşturma.
  3. 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

KriterAçıklama
DoğrulukOkuma/temizleme/özet doğru mu?
SağlamlıkHata yakalama uygun mu?
RaporMetin çıktısı anlaşılır mı?

Ö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

  1. Sensor sınıfı: ad, birim, değer alanları.
  2. Değer güncelleme, ölçüm yazdırma metotları.
  3. İ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

KriterAçıklama
TasarımSınıf yapısı ve metotlar yerinde mi?
KullanımNesne örnekleri doğru kullanılmış mı?
TemizlikKod düzeni ve yorumlar yeterli mi?

Ö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

  1. Rastgele 100 ölçüm üretip ortalama/std hesaplama.
  2. Zamana bağlı basit sinyal üretip çizdirme.
  3. 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

KriterAçıklama
DoğrulukHesaplamalar ve grafik doğru mu?
OkunabilirlikEksenler, başlık ve grid uygun mu?
SunumNotebook düzeni ve açıklamalar yeterli mi?