Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Nesneye Dayalı Tasarım ve ModellemeBLM511137.5300
ÖnkoşullarYok
YarıyılGüz
Dersin DiliTürkçe
Dersin SeviyesiYüksek Lisans
Dersin TürüSeçmeli @ Bilgisayar Mühendisliği ABD Bilgisayar Mühendisliği Yüksek Lisans Programı
Seçmeli @ Bilgisayar Mühendisliği ABD Bilgisayar Mühendisliği Yüksek Lisans Programı (Tezsiz)
Seçmeli @ Bilgisayar Mühendisliği ABD Bilgisayar Mühendisliği Doktora Programı
Ders KategorisiTemel Meslek Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimBilgisayar Mühendisliği Bölümü
Dersin KoordinatörüYunus Emre Selçuk
Dersi Veren(ler)Yunus Emre Selçuk
Asistan(lar)ı
Dersin AmacıNesne yönelimli yaklaşım kullanılarak yapılan modelleme, tasarım ve gerçekleme çalışmalarının üzerinde ortak kanıya varılmış ilkelere göre doğru ve iyi yapılması yeteneğinin kazandırılması
Dersin İçeriğiDörtlü çetenin tasarım kalıpları, kod kusurları (code smells), refactoring
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Refactoring: Improving the Design of Existing Code, Martin Fowler. Addison-Wesley, 1999
  • Design Patterns – Elements of Reusable OO Software, Erich Gamma et.al (Gang of Four), Addison-Wesley, 1994
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Öğrenciler nesneye yönelik programlardaki kusurları belirleme yeteneği kazanır.
  2. Öğrenciler gerçek dünya problemleri üzerinde nesneye yönelik analiz ve tasarım görevlerini yerine getirebilme yeteneği kazanır.
  3. Öğrenciler nesneye yönelik analiz ve tasarım sırasında dörtlü çetenin temel tasarım kalıplarını kullanabilme yeteneği kazanır.
  4. Öğrenciler nesneye yönelik programları refactor edebilme yeteneği kazanır.
  5. Öğrenciler gerçek dünya problemleri üzerinde nesneye yönelik tasarım görevlerini yerine getirebilme yeteneği kazanır.

Ders Öğrenim Çıktısı & Program Çıktısı Matrisi

DÖÇ-1DÖÇ-2DÖÇ-3DÖÇ-4DÖÇ-5

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

HaftaKonularÖn Hazırlık
1Tasarım kalıplarına giriş, MVC kalıbı
2Sınıf belirtmeden nesne oluşturabilmeye yönelik kalıplar
3Nesne gerçeklemesine diğer nesnelerin bağımlılığını azaltmaya yönelik kalıplar
4Algoritmik bağımlılığı azaltmaya yönelik kalıplar
5Gevşek ilişkilendirmeye yönelik kalıplar
6Nesne birleştirmeye yönelik kalıplar
7Sınıfları rahat değiştirmeye yönelik kalıplar
8Ara Sınav 1 / Uygulama veya Konu Tekrarı
91. ara sınav
10Seçme kod kusurları ve bunların giderilmesine yönelik yeniden düzenleme eylemleri
11Seçme kod kusurları ve bunların giderilmesine yönelik yeniden düzenleme eylemleri
12Seçme kod kusurları ve bunların giderilmesine yönelik yeniden düzenleme eylemleri
13Ara Sınav 2
14Bütünsel bir kod örneği üzerinde yeniden düzenleme eylemlerinin yürütülmesi
15Final

Değerlendirme Sistemi

EtkinliklerSayıKatkı Payı
Devam/Katılım
Laboratuar
Uygulama
Arazi Çalışması
Derse Özgü Staj
Küçük Sınavlar/Stüdyo Kritiği
Ödev
Sunum/Jüri
Projeler00
Seminer/Workshop
Ara Sınavlar240
Final160
Dönem İçi Çalışmaların Başarı Notuna Katkısı
Final Sınavının Başarı Notuna Katkısı
TOPLAM100

AKTS İşyükü Tablosu

EtkinliklerSayıSüresi (Saat)Toplam İşyükü
Ders Saati133
Laboratuar
Uygulama
Arazi Çalışması
Sınıf Dışı Ders Çalışması134
Derse Özgü Staj
Ödev
Küçük Sınavlar/Stüdyo Kritiği
Projeler00
Sunum / Seminer00
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)245
Final (Sınav Süresi + Sınav Hazırlık Süresi)140
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarGüncel bir nesneye yönelimli programlama dilinin temel kavramlarının bilinmesi ve UML sınıf şemalarına aşinalık gerekmektedir.