Ders Genel Tanıtım Bilgileri

Ders Kodu: YAZ116
Ders İsmi: Nesne Yönelimli Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
6
Öğretim Dili: Turkish
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üy. MUHAMMED DAVUD
Dersi Veren(ler): Dr. Öğr. Üyesi Gürsan ÇOBAN
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Dersin amacı; öğrencilere nesneye yönelik programlama kavramlarını öğreterek, yazılım geliştirme sürecini daha etkin ve düzenli hale getirmelerini sağlamak ve OOP prensiplerini uygulayarak güçlü ve ölçeklenebilir yazılım sistemleri tasarlamalarını sağlamaktır.
Dersin İçeriği: Dersin içeriği; C++ ortamında nesne yönelimli programlama uygulamasının altında yatan ilkeler tanıtılacaktır. Öğrenciler, program tasarımı ilkelerini ve algoritma geliştirme stratejilerinin yanı sıra sınıfları, nesneleri, veri üyelerini, yöntemleri, soyut veri türlerini, operatör aşırı yüklemesini, veri soyutlama, bilgi gizleme, kalıtımı, polimorfizmi ve şablonları öğreneceklerdir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Nesne Tabanlı C++ yaklaşımlarında sınıfları ve üye işlevleri etkin bir şekilde kodlayabilir, algoritma geliştirebilir.
2) Sınıf yapılarında operatörlerin aşırı yüklenmesi ile ilgili programlama prensiplerini bilir/kodlayabilir.
3) Nesne tabanlı yaklaşımlarda çok biçimliliğe ve şablonlara ait özelliklerin kodlanması prensiplerini bilir.
4) Karmaşık Yazılım projelerinde işlevsel ve ölçeklenebilir nesne tabanlı yazılım mimarileri oluşturur ve kodlayabilir.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Nesne Yönelimli Programlamaya Giriş: Sınıflar, nesneler, üye işlevler ve veri üyeleri
2) Sınıflar: Sınıf alanı, yardımcı fonksiyonlar, kurucular ve bozucular, arkadaş fonksiyonlar ve arkadaş sınıflar, “this” işaretçisi, statik sınıf üyeleri, veri soyutlama ve bilgi gizleme
3) Operatör Aşırı Yüklemesi – Bölüm I: Operatör yüklemenin temelleri, sınıf üyeleri olarak operatör fonksiyonlarına karşı küresel fonksiyon, akış ekleme ve akış çıkarma operatörleri
4) Operatör Aşırı Yüklemesi – Bölüm II: Tekli operatörlerin aşırı yüklenmesi, ikili operatörlerin aşırı yüklenmesi, dinamik bellek yönetimi
5) Kalıtım – Bölüm I: Kalıtıma giriş, temel sınıflar ve türetilmiş sınıflar, “protected” üyeler.
6) Kalıtım – Bölüm II: Temel sınıflar ile türetilmiş sınıflar arasındaki ilişki, “public”, “protected” ve “private” kalıtım
7) Kalıtım – Bölüm III: Kalıtım uygulamaları
8) Ara Sınav
9) Polimorfizm – Bölüm I: Polimorfizme giriş, sanal fonksiyonlar, dinamik bağlanma, polimorfizm örnekleri
10) Polimorfizm – Bölüm II: Soyut sınıflar ve sanal işlevler
11) Polimorfizm – Bölüm III:Çok biçimlilik uygulamaları
12) Şablonlar – Bölüm I: Şablonlara, işlev şablonlarına, sınıf şablonlarına giriş
13) Şablonlar – Bölüm II
14) Akış Giriş/Çıkış: Akışlar, akış çıkışı, akış girişi, akış düzenleyicileri

Kaynaklar

Ders Notları / Kitaplar: C++ How to Program, 10/E, Paul Deitel, Harvey Deitel, ISBN-13: 9780134448237, Pearson.
Diğer Kaynaklar: Bjarne Stroustrup, “Programming: Principles and Practice Using C++”, 2nd Edition, Pearson

online sources: https://cplusplus.com/doc/tutorial/
o https://cplusplus.com/
o https://github.com/pdeitel
o https://github.com/pdeitel/CPlusPlusHowToProgram10e

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ara Sınavlar 1 % 40
Final 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 13 39
Laboratuvar 13 26
Sınıf Dışı Ders Çalışması 13 26
Ara Sınavlar 3 22
Final 4 27
Toplam İş Yükü 140