Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Tasarım Desenleri SWE 303 5 3 + 0 3 5
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Doç.Dr. VEYSEL HARUN ŞAHİN
Dersi Verenler Doç.Dr. VEYSEL HARUN ŞAHİN,
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Yaygın yazılım tasarım problemlerininin çözümlerini anlamak.

Dersin İçeriği

Giriş, Tasarım Desenlerine Giriş, Observer Tasarım Deseni, Decorator Tasarım Deseni, Factory Tasarım Deseni, Singleton Tasarım Deseni, Command Tasarım Deseni, Adapter ve Facade Tasarım Desenleri, Template Method Tasarım Deseni, Iterator ve Composite Tasarım Deseni, State Tasarım Deseni, Proxy Tasarım Deseni, Bileşik Tasarım Desenleri, Gerçek Hayatta Tasarım Desenleri

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Yazılım tasarım problemlerini öğrenir Anlatım, Beyin Fırtınası,
2 Tasarım desenlerini öğrenir Beyin Fırtınası, Anlatım,
3 Tasarım desenlerini uygulamayı öğrenir Gözlem, Tartışma, Beyin Fırtınası, Anlatım,
Hafta Ders Konuları Ön Hazırlık
1 Tasarım Desenlerine Giriş
2 Tasarım Desenlerine Giriş
3 Yaratımsal Tasarım Desenleri
4 Yaratımsal Tasarım Desenleri
5 Yaratımsal Tasarım Desenleri
6 Yapısal Tasarım Desenleri
7 Yapısal Tasarım Desenleri
8 Yapısal Tasarım Desenleri
9 Davranışsal Tasarım Desenleri
10 Davranışsal Tasarım Desenleri
11 Davranışsal Tasarım Desenleri
12 Reaktif ve Eş Zamanlı Desenler
13 Reaktif ve Eş Zamanlı Desenler
14 Deyimler ve Anti Desenler
Kaynaklar
Ders Notu

Kotlin Design Patterns and Best Practices: Build scalable applications using traditional, reactive, and concurrent design patterns in Kotlin, 2nd Edition, Alexey Soshin, Packt Publishing

Ders Kaynakları

Kotlin Design Patterns and Best Practices: Build scalable applications using traditional, reactive, and concurrent design patterns in Kotlin, 2nd Edition, Alexey Soshin, Packt Publishing

Dive into Design Patterns, Alexander Shvets (https://refactoring.guru)

Head First Design Patterns: Building Extensible and Maintainable Object-oriented Software, 2nd Ed., 2021, O'Reilly,  Eric Freeman, Elisabeth Robson

Design Patterns: Elements of Reusable Object-Oriented Software, 1st Ed., 1995, Addison Wesley, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi.
2 Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
3 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
4 Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. X
5 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6 Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık.
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
8 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. X
9 Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
10 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
12 Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12
1 Yazılım tasarım problemlerini öğrenir
2 Tasarım desenlerini öğrenir
3 Tasarım desenlerini uygulamayı öğrenir
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 90
1. Ödev 10
Toplam 100
1. Yıl İçinin Başarıya 50
1. Final 50
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 3 48
Ara Sınav 1 8 8
Ödev 1 8 8
Final 1 12 12
Toplam İş Yükü 124
Toplam İş Yükü / 25 (Saat) 4,96
Dersin AKTS Kredisi 5