| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| WTK-108 | NESNE TABANLI PROGRAMLAMA | Seçmeli Ders Grubu | 1 | 2 | 4,00 |
Önlisans
Öğrencilere nesne yönelimli programlama (OOP) paradigma ve ilkelerini kavratmak; Sınıf (Class), Nesne (Object), Kapsülleme (Encapsulation), Kalıtım (Inheritance), Çok Biçimlilik (Polymorphism) ve Soyutlama (Abstraction) ilkelerini kullanarak modüler, sürdürülebilir ve yeniden kullanılabilir yazılımlar geliştirme becerisi kazandırmaktır.
Öğr. Gör. Hilmi Bahadır TEMUR
| 1 | Prosedürel programlama ile Nesne Tabanlı Programlama (OOP) arasındaki farkları ve OOP'nin avantajlarını açıklar. |
| 2 | Gerçek dünya nesnelerini analiz ederek uygun Sınıf (Class) yapısını, niteliklerini (field/property) ve davranışlarını (metot) kurgular. |
| 3 | Kapsülleme (Encapsulation) ilkesini ve erişim belirleyicileri kullanarak veri güvenliğini sağlar. |
| 4 | Kalıtım (Inheritance) mekanizması ile kod tekrarını önler ve hiyerarşik sınıf yapıları oluşturur. |
| 5 | Çok Biçimlilik (Polymorphism), Soyut Sınıflar (Abstract Class) ve Arayüzler (Interface) kullanarak esnek ve genişletilebilir mimariler tasarlar. |
| 6 | Çalışma zamanı hatalarını yönlendirmek için İstisna Yönetimi (Exception Handling) bloklarını etkin bir şekilde uygular. |
Birinci Öğretim
-
Öğrencilerin temel Programlama Temelleri veya Algoritma ve Programlama dersini almış ve temel veri tipleri ile akış kontrol yapılarını biliyor olması önerilir.
Nesne yönelimli programlama kavramları; Sınıf ve Nesne mimarisi; Yapıcı (Constructor) ve Yıkıcı (Destructor) metotlar; Erişim Belirleyiciler (Access Modifiers); Kapsülleme (Encapsulation); Kalıtım (Inheritance); Metot Aşırı Yükleme (Overloading) ve Ezme (Overriding); Çok Biçimlilik (Polymorphism); Soyut Sınıflar (Abstract Classes) ve Arayüzler (Interfaces); İstisna Yönetimi (Exception Handling); Koleksiyonlar (Collections) ve Temel Tasarım Desenlerine (Design Patterns) giriş.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | OOP Paradigmasına Giriş: Prosedürel programlama vs OOP, Sınıf (Class) ve Nesne (Object) kavramları | ||
| 2 | Sınıf Mimarisi: Nitelikler (Fields/Properties), Metotlar ve Nesne Örneği Oluşturma (new anahtar sözcüğü) | ||
| 3 | Yapıcı Metotlar (Constructors): Default, Parametreli yapıcılar, this kullanımı ve Bellek Yönetimi (Heap/Stack) | ||
| 4 | Erişim Belirleyiciler (public, private, protected, internal) ve Kapsülleme (Encapsulation) | ||
| 5 | Metot Detayları: Parametre aktarımı (Ref/Out kavramları), Metot Aşırı Yükleme (Method Overloading) | ||
| 6 | Kalıtım (Inheritance) Temelleri: Türetilmiş sınıflar, base / super anahtar sözcüklerinin kullanımı | ||
| 7 | Sanal Metotlar (Virtual Methods) ve Metot Ezme (Method Overriding) | ||
| 8 | Ara Sınav / Vize Haftası | ||
| 9 | Çok Biçimlilik (Polymorphism): Tip dönüşümleri (Casting), is ve as operatörlerinin kullanımı | ||
| 10 | Soyutlama (Abstraction): Soyut Sınıflar (Abstract Classes) ve Soyut Metot kullanımı | ||
| 11 | Arayüzler (Interfaces): Interface tanımlama, çoklu arayüz kalıtımı ve Dependency Injection temelleri | ||
| 12 | İstisna Yönetimi (Exception Handling): try-catch-finally blokları, Özel İstisna (Custom Exception) sınıfları | ||
| 13 | Dinamik Veri Yapıları ve Koleksiyonlar: List, Dictionary, ArrayList yapıları ve Generics kavramı | ||
| 14 | Temel Tasarım Desenlerine (Design Patterns) Giriş (Singleton, Factory) ve Dönem Sonu Proje Sunumları |
- Head First Object-Oriented Analysis and Design - Brett McLaughlin, Gary Pollice, David West -:C# / Java ile Nesne Tabanlı Programlama - Akademik ve Güncel Yayınlar - Microsoft C# / Oracle Java Dokümantasyonları ve W3Schools.
Yüz yüze/çevrim içi teorik anlatım, bilgisayar laboratuvarında canlı kodlama (live-coding) egzersizleri, haftalık kodlama problemleri, vize sınavı ve dönem sonu OOP projesi.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
-
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 2 | 28 |
| Bireysel Çalışma | 14 | 4 | 56 |
| Ara Sınav İçin Bireysel Çalışma | 7 | 2 | 14 |
| Final Sınavı içiin Bireysel Çalışma | 7 | 2 | 14 |
| Toplam İş Yükü (saat) | 114 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | |
| ÖÇ 1 | 5 | 4 | |||||||
| ÖÇ 2 | 5 | 5 | 1 | ||||||
| ÖÇ 3 | 5 | 4 | 2 | ||||||
| ÖÇ 4 | 5 | 4 | |||||||
| ÖÇ 5 | 5 | 5 | 2 | ||||||
| ÖÇ 6 | 5 | 4 |