DERS TANITIM ve UYGULAMA BİLGİLERİ

Dersin Adı Kodu Yarıyıl T+U+L (saat/hafta) Türü (Z / S) Yerel Kredi AKTS
İleri Programlama Teknikleri BP 252 Bahar 03+00+00 Zorunlu 3 6
Akademik Birim:
Öğrenim Türü: Örgün eğitim
Ön Koşullar Yok
Öğrenim Dili: Türkçe
Dersin Düzeyi: Seviye Belirtilmemiş
Dersin Koordinatörü: Mesut ÇEVİK
Dersin Amacı: Nesneye yönelik programlama yönteminin ileri kavramlarını ve özelliklerini öğretmek. Bu yöntemlerin iyi bir program yazmak için etkin bir biçimde nasıl kullanılacağını C++ programlama dili ile göstermek.
Dersin İçeriği: C++ temelleri, Fonksiyonel özyineleme, Yordamsal özyineleme, Kapsamlı özyineleme ve özyinelemeli geri izleme, Özyinelemeli veri, bağlı listeler, Nesneler ve sınıflar, Algoritmaların analizi, büyük O, Editör tamponu, Sıralama, Hızlı sıralama, şablonlar, yığınlar, kuyruklar, Sembol tabloları, özetleme, İleri C, void *.
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- Nesneye yönelik programlamanın temellerini anlayabilmeli.
  • 2- Soyutlama ve arayüzleri kullanarak daha büyük sorunlara nesneye yönelik çözümler tasarlayabilmeli.
  • 3- Kalıtım kullanarak kodu uygun bir şekilde yeniden kullanabilmeli.
  • 4- Nesneye yönelik programlama sisteminde sınıfların tasarımıyla ilgili sorunları anlayabilmeli.
  • 5- İyi tasarlanmış Nesneye Yönelik programlar ile kötü tasarlanmış Nesneye Yönelik programlar arasında ayrım yapabilmeli.
  • 6- Sınıf tasarımlarında en yaygın tasarım şablonlarının farkında olabilmeli ve en uygununu kullanabilmeli.
  • 7- En yaygın algoritma tasarım yöntemlerini ve bunların güçlü ve zayıf yönlerini anlayabilmeli.
  • 8- Ne zaman mevcut algoritmaları seçip kullanmak , ne zaman yeni algoritmalar tasarlamak gerektiğini anlayabilmeli.
  • 9- Bir dizi sorunu çözebilmek için makul algoritmaları tasarlayabilmeli.
  • 10- Bir stil rehberini takip edebilme ve etkili kod gözden geçirme yapabilmeli.
  • 11- Ekip çalışması yapabilmeli.
  • 12- Bir Tümleşik Geliştirme Ortamı ( Integrated Development Environment) kullanabilmeli.
  • 13- C++'da program yazabilmeli.
  • 14- C++'da bellek ve işaretçilerin kullanımını iyi bir şekilde anlayabilmeli.
  • 15- Bağlı listeler gibi dinamik veri yapılarını oluşturma ve kullanabilmeli.
Dersin Öğrenme Yöntem ve Teknikleri Anlatım, soru ? cevap, tartışma, uygulama


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık
1 Ders tanıtımı, C++ a geçiş Önerilen metinlerin okunması
2 Daha fazla C++ Önerilen metinlerin okunması
3 Fonksiyonel özyineleme Önerilen metinlerin okunması
4 Yordamsal özyineleme Önerilen metinlerin okunması
5 Kapsamlı özyineleme ve özyinelemeli geri izleme Önerilen metinlerin okunması
6 Özyinelemeli veri, bağlı listeler Önerilen metinlerin okunması
7 Nesneler ve sınıflar Önerilen metinlerin okunması
8 Algoritmaların analizi, büyük O Önerilen metinlerin okunması
9 Editör tamponu Önerilen metinlerin okunması
10 Sıralama Önerilen metinlerin okunması
11 Hızlı sıralama, şablonlar Önerilen metinlerin okunması
12 Daha fazla şablonlar, yığınlar, kuyruklar Önerilen metinlerin okunması
13 Sembol tabloları, özetleme Önerilen metinlerin okunması
14 İleri C, void * Önerilen metinlerin okunması


ZORUNLU ve ÖNERİLEN OKUMALAR

?C++ Dersi: Nesne-Tabanlı Programlama?
Turhan, Ç., Serçe, F.C. (2014),
Dumat Ofset, 2. Baskı, 513



DİĞER KAYNAKLAR

?C ve C++ ?,
Harvey M. Deitel & Paul J. Deitel
Sistem Yayıncılık


DEĞERLENDİRME SİSTEMİ

Yarıyıl İçi ÇalışmalarıSayıKatkı Payı (%)
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar 1 40
Final Sınavı 1 60
Total: 2 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati14342
Ödev5420
Dersle İlgili Sınıf Dışı Etkinlikler14228
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar13030
Final Sınavı13030
Toplam İş Yükü (saat):150


PROGRAM YETERLİLİKLERİ (PY) ve ÖĞRENME ÇIKTILARI (ÖÇ) İLİŞKİSİ

# PY1 PY2 PY3 PY4 PY5 PY6 PY7 PY8 PY9 PY10 PY11 PY12 PY13
OC1   3 3   3                
OC2   3 3   3                
OC3   3 3   3                
OC4   3 3   3                
OC5   3 3   3                
OC6   3 3   3                
OC7       3                  
OC8       3                  
OC9       3                  
OC10   3 3   3                
OC11           2 3            
OC12   3 3 3                  
OC13   3 3 3                  
OC14   3 3 3                  
OC15   3 3 3