Mühendislik ve Doğa Bilimleri Fakültesi · Bilgisayar Mühendisliği · Lisans
Dersin Amacı
Bu dersin amacı, öğrencilere nesne tabanlı programlama yaklaşımının temel kavramlarını öğretmek ve bu kavramları kullanarak etkili, modüler, yeniden kullanılabilir ve sürdürülebilir yazılımlar geliştirme becerisi kazandırmaktır. Ders kapsamında sınıf, nesne, kapsülleme, kalıtım, çok biçimlilik, soyut sınıf, arayüz, kurucu/yıkıcı fonksiyonlar, operatör aşırı yükleme ve hata yönetimi gibi temel konular ele alınarak öğrencilerin gerçek dünya problemlerini nesne tabanlı düşünme yapısıyla çözebilmesi hedeflenmektedir.
Ders İçeriği
Nesne tabanlı programlama kavramları, C++ programlama diline giriş, sınıf ve nesne yapıları, veri gizliliği ve bütünlüğü, yapıcı - yokedici, dinamik bellek yönetimi, kalıtım ve çok biçimlilik, soyut sınıflar, operatör overloading, hata yönetimi.
Zorunlu Kaynaklar
Robert Lafore – Nesne Yönelimli C++ Programlama Klavuzu
Yardımcı : Muhammed Mastar & Süha Eriş - C++
Dersin Öğrenme Çıktıları
- Nesne tabanlı programlamaya ait temel kavramları açıklar.
- Sınıf (class) ve nesne (object) yapıları kullanarak C++ programları yazar.
- Constructor ve destructor mekanizmalarını kullanarak nesne ilklendirme ve sonlandırma işlemlerini gerçekleştirir.
- Veri gizliliği ve veri bütünlüğü ilkelerini (encapsulation) sınıf yapıları üzerinde uygular.
- Dinamik bellek yönetimini (new, delete) ve nesnelere işaretçi kullanımını uygular.
- Kalıtım (inheritance) kullanarak sınıflar arası ilişkiler kurar.
- Çok biçimlilik (polymorphism) ve sanal fonksiyonları kullanarak program geliştirir.
- Soyut sınıflar ve arayüz (interface) mantığını kullanarak program tasarımı yapar.
- Operatör overloading ve hata yönetimi (exception handling) yapılarını temel düzeyde kullanır.
Öğretim Yöntem ve Teknikleri
Ölçme ve Değerlendirme
AKTS / İş Yükü
| Etkinlik | Sayı | Süre (saat) | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi (Sınav Haftası Dahil) | 15 | 1 | 15 |
| Sınıf Dışı Ders Çalışma Süresi | 15 | 4 | 60 |
| Ara Sınav | 1 | 2 | 2 |
| Kısa Sınav | 0 | 0 | 0 |
| Ödev | 0 | 0 | 0 |
| Uygulama | 15 | 2 | 30 |
| Final | 1 | 2 | 2 |
Ders Akışı
| Hafta | Konu | Ön Hazırlık |
|---|---|---|
| 1 | Nesneye Dayalı Programlamaya Giriş | . |
| 2 | C++ Daha iyi bir C (C / C++ farkları) | . |
| 3 | Struct ve Class Kavramı | . |
| 4 | Sınıflar ve Nesneler | . |
| 5 | Sınıflar ve Nesneler (Devam) | . |
| 6 | Yapıcı ve Yokedici (Constructor ve Destructor) | . |
| 7 | Kapsülleme (Encapsulation ) | . |
| 8 | Ara Sınav | . |
| 9 | Dinamik Bellek ve Nesnelere İşaretçi | . |
| 10 | Kalıtım (Inheritance) | . |
| 11 | Kalıtım (Inheritance) devam | . |
| 12 | Çok Biçimlilik (Polymorphism) | . |
| 13 | Soyut Sınıflar ve Interface Mantığı | . |
| 14 | Operatör Aşırı Yükleme (Operator Overloading) | . |
| 15 | Hata Yakalama (Exception Handling) | . |
| 16 | Final Sınavı | . |


