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.