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
Bilgisayar Programlama II CMPE 241 Güz 03+00+02 Zorunlu 4 6
Akademik Birim: Bilgisayar Mühendisliği Bölümü
Öğrenim Türü: Örgün Eğitim
Ön Koşullar CMPE 140
Öğrenim Dili: İngilizce
Dersin Düzeyi: Lisans
Dersin Koordinatörü: Fabio STROPPA
Dersin Amacı: Bu ders, programcılar ve yazılım mühendisleri için temel niteliktedir. Öğrencilere temel bilgisayar programlama ve kodlama kavramlarını tanıtır ve problem çözme becerilerini geliştirir. Öğrenciler, bilgisayar mimarisi, sayı tabanları ve bellek yönetimi gibi bilgisayar biliminin temel konularını öğrenir. Öğrenciler en önemli programlama dillerinden biri olan C++ dilini öğrenir. Öğrenciler işaretçileri kullanmayı, belleği dinamik olarak ayırmayı ve dosyalarla çalışmayı öğrenir; ayrıca nesne yönelimli programlamayla kısaca tanışır.
Dersin İçeriği: Bilgisayar programlamaya giriş, bir programın yapısı, derleyiciler, sayı tabanları, Boole işleçleri, C++ temelleri, deyimler ve akış denetimi, bilgisayar mimarisi, fonksiyonlar, isim görünürlüğü, diziler, katarlar, işaretçiler, dinamik bellek yönetimi, dosyalarla G/Ç, önişlemci, başlık dosyaları, aşırı yükleme, şablonlar, istisna işleme, veri yapıları ve nesne yönelimli programlama (OOP).
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- Problem çözme becerilerini geliştirir
  • 2- Verilerin bellekte nasıl temsil edildiğini ve programların bellekte nasıl çalıştığını bilir
  • 3- Kodlamanın temellerini bilir ve ileri konulara tamamen hazır olur
  • 4- Belleği dinamik olarak ayırmak ve dosyalardan okuma/yazma yapmak için işaretçileri kullanır
  • 5- Nesne yönelimli programlamayı öğrenir
  • 6- C++ ile yazılım ve projeler geliştirir
Dersin Öğrenme Yöntem ve Teknikleri Sınıf içi tartışmalar ve bilgisayar laboratuvarı çalışmaları.


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık
1 Giriş, Merhaba Dünya, Verilerin Bellekte Saklanması, C++ Temelleri Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
2 Fonksiyonlar, Bellekte Fonksiyonlar, Şablonlar Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
3 İsim Görünürlüğü, Diziler, Matrisler, İstisnalar, Başlık Dosyaları Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
4 Karakterler, Katarlar, Önişlemci Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
5 İşaretçiler Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
6 Dinamik Bellek Ayırma Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
7 Dosyalarla G/Ç Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
8 Veri Yapılarının Temelleri Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
9 Nesne Yönelimli Programlama Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
10 Nesne Yönelimli Programlama Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
11 Proje Hazırlığı Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
12 Proje Hazırlığı Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
13 Proje Hazırlığı Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler
14 Proje Hazırlığı Ders materyali, ders kitabı, laboratuvar alıştırmaları, ödevler


ZORUNLU ve ÖNERİLEN OKUMALAR

• Herbert Schildt. "C++: The complete reference". McGraw-Hill Education; 4. baskı (10 Aralık 2002).

• Paul J. Deitel ve Harvey M. Deitel. "C++: how to program". Pearson; 10. baskı (29 Şubat 2016).• Bjarne Stroustrup. "The C++ Programming Language". Addison-Wesley Professional; 4. baskı (9 Mayıs 2013)


DİĞER KAYNAKLAR

• C++ tam başvuru kaynağı: https://www.cplusplus.com
• Çevrimiçi derleyici: https://app.coderpad.io/sandbox


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 2 90
Final Sınavı 1 10
Total: 3 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati14228
Laboratuvar14228
Uygulama89189
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar224
Final Sınavı111
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
OC1 3   3 3 3         2    
OC2 2   2 3 2         1    
OC3 2   3 3 3   2     3    
OC4 2   3 3 3   2          
OC5 3   2 2 3   3     1    
OC6 3   3 3 3     1   2