Ana içeriğe atla

BIM 112 - Nesne Tabanlı Programlama

Mühendislik ve Doğa Bilimleri Fakültesi · Bilgisayar Mühendisliği · Lisans

AKTS: 4 T+U+L: 2+0+2 Zorunlu
Koordinatör: Dr. Öğr. Üyesi Rezzan Nisa ER

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ı

  1. Nesne tabanlı programlamaya ait temel kavramları açıklar.
  2. Sınıf (class) ve nesne (object) yapıları kullanarak C++ programları yazar.
  3. Constructor ve destructor mekanizmalarını kullanarak nesne ilklendirme ve sonlandırma işlemlerini gerçekleştirir.
  4. Veri gizliliği ve veri bütünlüğü ilkelerini (encapsulation) sınıf yapıları üzerinde uygular.
  5. Dinamik bellek yönetimini (new, delete) ve nesnelere işaretçi kullanımını uygular.
  6. Kalıtım (inheritance) kullanarak sınıflar arası ilişkiler kurar.
  7. Çok biçimlilik (polymorphism) ve sanal fonksiyonları kullanarak program geliştirir.
  8. Soyut sınıflar ve arayüz (interface) mantığını kullanarak program tasarımı yapar.
  9. Operatör overloading ve hata yönetimi (exception handling) yapılarını temel düzeyde kullanır.

Öğretim Yöntem ve Teknikleri

AnlatımSoru-CevapTartışmaAlıştırma ve UygulamaGösterimGösterip YaptırmaBireysel ÇalışmaProblem Çözme

Ölçme ve Değerlendirme

Performans Görevi (Uygulama / Laboratuvar / Atölye / Arazi Çalışması / Seminer / Sunum / Bitirme Çalışması / Tez)Sınav (Yazılı Sınav / Test: Doğru-Yanlış Testi, Çoktan Seçmeli Testi, Kısa Cevaplı Test, Eşleştirmeli Test)

AKTS / İş Yükü

EtkinlikSayıSüre (saat)Toplam İş Yükü
Ders Süresi (Sınav Haftası Dahil)15115
Sınıf Dışı Ders Çalışma Süresi15460
Ara Sınav122
Kısa Sınav000
Ödev000
Uygulama15230
Final122

Ders Akışı

HaftaKonuÖn Hazırlık
1Nesneye Dayalı Programlamaya Giriş.
2C++ Daha iyi bir C (C / C++ farkları).
3Struct ve Class Kavramı.
4Sınıflar ve Nesneler.
5Sınıflar ve Nesneler (Devam).
6Yapıcı ve Yokedici (Constructor ve Destructor).
7Kapsülleme (Encapsulation ).
8Ara Sınav.
9Dinamik Bellek ve Nesnelere İşaretçi.
10Kalıtım (Inheritance).
11Kalıtım (Inheritance) devam.
12Çok Biçimlilik (Polymorphism).
13Soyut Sınıflar ve Interface Mantığı.
14Operatör Aşırı Yükleme (Operator Overloading).
15Hata Yakalama (Exception Handling).
16Final Sınavı.