SEDS 504
Yazılım İnşası
Bu ders yazılım geliştirme için gerekli temel bilgileri kapsar. Nesne Temelli Programlama, Sınıflar ve Metotlar, Kalıtım, Polimorfizm, Abstrakt Sınıflar ve Arayüz Sınıfları, İstisna Yönetimi, Kolleksiyonlar, Jenerikler, Nesne Temelli Analiz ve Tasarım, UML Diagramları.
Referans kitap(lar):
• Absolute Java, Global Edition, 6/E, Walter Savitch, Kenrick Mock, Pearson, 2016
• Starting Out with Java: From Control Structures through Objects, Global Edition, 6/E, Tony Gaddis, Pearson, 2016
Dersin Amaçları: Yazılım inşasının temellerini tanıtmak.
| Hafta | Konular |
| 1 | Nesne Temelli Programlamaya Giriş |
| 2 | Akış Denetimi |
| 3 | Sınıf Kavramı I |
| 4 | Sınıf Kavramı II |
| 5 | Nesne Temelli Programlamada Lineer Veri Yapıları |
| 6 | Nesne Temelli Programlamada Özyinelemeli Veri Yapıları |
| 7 | Kalıtım |
| 8 | Polimorfizm |
| 9 | Abstrakt Sınıflar ve Arayüz Sınıfları |
| 10 | İstisna Yönetimi |
| 11 | Kolleksiyonlar |
| 12 | Jenerikler |
| 13 | Nesne Temelli Analiz ve Tasarım |
| 14 | UML Diagramları |
Notlandırma:
Final Sınavı %40
Ara Sınav %30
Proje %30
Ders Öğrenme Çıktıları
ÖÇ1 Mühendislik problemlerini formule edip yazılım ile çözebilme
ÖÇ2 Sınıfları tasarlayabilme ve kullanabilme
ÖÇ3 Nesne temelli tasarımı kodlayabilme
ÖÇ4 Nesne temelli yazılımı tasarlayabilme
Program Öğrenme Çıktılarının Katkısı:
| PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | |
| CO1 | 1 | 1 | 1 | 1 | |||
| CO2 | 1 | 1 | 1 | 1 | |||
| CO3 | 1 | 1 | 1 | 1 | |||
| CO4 | 1 | 1 | 1 | 1 |
Dersin Gerekçesi:
Bu ders, Yazılım Mühendisliği ve Veri Bilimi Yüksek Lisans Programının temel derslerinden biridir ve önemli Yazılım Mühendisliği temel derslerinden biridir. Yazılım mühendisliğinde kullanılacak yazılım geliştirme için gerekli altyapıyı sağlar.
Derslerle örtüşen veya onları tamamlayan konular:
Bu ders, tüm Yazılım Mühendisliği derslerinin temelini oluşturur. Bu ders, Programlama ve Veri Yapıları dersini takip eder.

