| 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 | 
		  
		| Dersi Veren(ler): | Fabio STROPPA | 
	
  
    | Dersin Amacı: | Bu ders, programcılar ve yazılım mühendisleri için temel teşkil eder. Öğrencilere temel bilgisayar programlama ve kodlama kavramlarını tanıtacak ve problem çözme becerilerini geliştirecektir. Öğrenciler, bilgisayar biliminin temel konularını öğreneceklerdir; bunlar arasında bir bilgisayarın mimarisi, sayısal tabanlar ve bellek yönetimi bulunmaktadır. Öğrenciler, en önemli programlama dillerinden biri olan C++'ı öğreneceklerdir. Öğrenciler, işaretçilerin nasıl kullanılacağını ve belleğin nasıl dinamik olarak tahsis edileceğini, dosyalarla nasıl çalışılacağını öğrenecek ve nesne yönelimli programlamaya kısa bir giriş yapılacaktır. | 
  
    | Dersin İçeriği: | Bilgisayar programlamaya giriş, bir programın yapısı, derleyiciler, sayısal tabanlar, Boolean operatörleri, C++'ın temelleri, ifadeler ve akış kontrolü, bilgisayar mimarisi, fonksiyonlar, isim görünürlüğü, diziler, karakter dizileri, işaretçiler, dinamik bellek yönetimi, dosyalarla giriş/çıkış işlemleri, ön işlemci, başlık dosyaları, aşırı yüklemeler, şablonlar, istisna işleme, veri yapıları ve nesne yönelimli programlama | 
  
    | Dersin Öğrenme Çıktıları (ÖÇ): | 1- Problem çözme becerilerini geliştirme becerisi2- Verilerin bellekte nasıl temsil edildiğini ve programların bellekte nasıl çalıştığını bilme becerisi3- Kodlamanın temellerini öğrenme becerisi ve ileri düzey konulara tamamen hazırlık4- Belleği dinamik olarak tahsis edebilme ve dosyalara okumak/yazmak için işaretçileri kullanabilme becerisi5- Nesne Yönelimli Programlamayı öğrenme6- C++'da yazılım ve projeler geliştirebilme becerisi
 | 
    
    | Dersin Öğrenme Yöntem ve Teknikleri | Sınıfta ders anlatımı ardından bilgisayar laboratuarında uygulama. | 
| Hafta | Konular | Ön Hazırlık | 
	| 1 | Giriş, Merhaba Dünya, Verileri Bellekte Depolama, Temel C++ | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 2 | Fonksiyonlar, Bellekteki Fonksiyonlar, Şablonlar | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 3 | İsim Görünürlüğü, Diziler, Matris, İstisnalar, Başlıklar | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 4 | Karakterler, Dizeler, Önişlemci | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 5 | İşaretçiler (Pointers) | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 6 | Dinamik Bellek Tahsisi | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 7 | Dosyalarla Giriş/Çıkış işlemleri | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 8 | Veri Yapılarının Temelleri | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 9 | Nesne Yönelimli Programlama | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 10 | Nesne Yönelimli Programlama | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 11 | Proje Hazırlığı | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 12 | Proje Hazırlığı | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 13 | Proje Hazırlığı | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
	| 14 | Proje Hazırlığı | Ders materyali, Ders kitabı, Laboratuvardaki alıştırmalar, Ödevler | 
     Kadir Has Üniversitesi'nde bir dönem 14 haftadır, 15. ve 16. hafta sınav haftalarıdır.
	
	
	
		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 |  |  | 
		
		
		    Katkı Düzeyi:  1 Düşük, 2 Orta, 3 Yüksek