| Akademik Birim: | Bilgisayar Mühendisliği Bölümü | 
  
    | Öğrenim Türü: | Örgün Eğitim | 
  
    | Ön Koşullar | CMPE 241 | 
  
    | Öğrenim Dili: | İngilizce | 
  
    | Dersin Düzeyi: | Lisans | 
  
    | Dersin Koordinatörü: | - - | 
	
  
    | Dersin Amacı: | Bu dersin temel amacı öğrenciye problem çözmenin temelleri ile ilgili gerekli bilgiyi ve bilgisayar bilimleri ve hesapsal problemlerde yaygın olarak kullanılan ayrık veri yapılarının ve algoritmaların tasarım ve gerçekleştirimi becerisini kazandırmaktır. | 
  
    | Dersin İçeriği: | Veri yapıları ve algoritmalara giriş. Asimtotik notasyon ve analiz araçlarına genel bir bakış. Özyineleme ve bilgisayar bilimlerinde problem çözüm uygulaması. Bağlı listeler, çift bağlı listeler, yığıtlar, kuyruklar gibi önemli soyut veri tiplerinin tasarım ve gereçekleştirimi. Verimli sıralama, arama algoritmalarının ve ikili arama ağaçları gibi ayrık arama yapılarının tasarımı ve gereçekleştirimi. | 
  
    | Dersin Öğrenme Çıktıları (ÖÇ): | 1- doğruluk için algoritmaları veya bilgisayar kodunu analiz etmek2- verimlilik açısından algoritmaları ve bilgisayar kodunu değerlendirmek3- en önemli veri yapılarını öğrenmek4- en önemli veri yapılarının nasıl uygulanacağını öğrenmek5- sorunları çözmek için veri yapılarının nasıl kullanılacağını öğrenmek6- bazı gelişmiş algoritmaları öğrenmek7- problem çözme becerilerini geliştirmek8- kaba kuvvet yaklaşımını kullanmadan sorunları nasıl çözeceğinizi öğrenmek9- bir kodlama görüşmesi için (neredeyse) hazır olmak
 | 
    
    | 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ş, Soyut Veri Tipleri | Goodrich-Tamassia Bölüm 1, 2 | 1 | 
	| 2 | Hesaplamalı Karmaşıklık Analizi | Goodrich-Tamassia Bölüm 4 Skiena Bölüm 2.1, 2.2, 2.3, 2.4, 2.6, 2.7, 5.1 | 2, 4, 5, 6 | 
	| 3 | Statik ve Dinamik Diziler, STL | Goodrich-Tamassia Bölüm 3.1, 6.1, 6.2 Skiena Bölüm 3.1.1 | 2, 4, 5, 6 | 
	| 4 | Özyineleme | Goodrich-Tamassia Bölüm 3.5 | 1, 3, 4, 5 | 
	| 5 | Bağlantılı Listeler | Goodrich-Tamassia Bölüm 3.2, 3.3 Skiena Bölüm 3.1 | 1, 2, 3, 6 | 
	| 6 | Yığınlar, Kuyruklar | Goodrich-Tamassia Bölüm 5.1, 5.2 Skiena Bölüm 3.2 | 1, 2, 3, 6 | 
	| 7 | Proje 1 |  | 1, 2, 3, 6 | 
	| 8 | Grafikler, Ağaçlar, İkili Ağaçlar, Çapraz Ağaçlar (1) | Goodrich-Tamassia Bölüm 13.1, 13.2, 13.3, 7 Skiena Bölüm 7 | 1, 2, 3, 6 | 
	| 9 | Grafikler, Ağaçlar, İkili Ağaçlar, Çapraz Ağaçlar (2) | Goodrich-Tamassia Bölüm 10.1 Skiena Bölüm 3.4 | 1, 2, 3, 6 | 
	| 10 | Öncelikli Kuyruklar ve Yığınlar | Goodrich-Tamassia Bölüm 8 Skiena Bölüm 3.5 | 1, 2 | 
	| 11 | Hash Tabloları | Goodrich-Tamassia Bölüm 9 Skiena Bölüm 3.7 | 1, 2 | 
	| 12 | Sıralama Algoritmaları | Goodrich-Tamassia Bölüm 11.1, 11.2 Skiena Bölüm 4 | 1, 2, 3, 4 | 
	| 13 | Son Ek Dizileri ve LCP Dizileri (Geçici) |  | 1, 3, 6, 4 | 
	| 14 | Final sınavı için En İyi Uygulamalar ve Özet |  | 1, 6, 4, 5 | 
     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 | 2 | 2 | 3 | 1 | 2 | 2 |  | 3 |  |  |  |  | 
| OC2 | 2 | 3 | 3 | 1 | 3 | 3 |  | 3 |  |  |  |  | 
| OC3 | 2 | 2 | 3 | 1 | 3 | 2 |  | 3 |  |  |  |  | 
| OC4 | 2 | 3 | 3 | 2 | 3 | 2 |  | 3 |  |  |  |  | 
| OC5 | 2 | 2 | 3 | 2 | 2 | 2 |  | 3 |  |  |  |  | 
| OC6 | 2 | 2 | 3 | 2 | 2 | 3 |  | 3 |  |  |  |  | 
| OC7 | 2 | 2 | 3 | 2 | 2 | 3 |  | 3 |  |  |  |  | 
| OC8 | 2 | 2 | 3 | 2 | 2 | 3 |  | 3 |  |  |  |  | 
| OC9 | 2 | 2 | 3 | 2 | 3 | 2 |  | 3 |  |  |  |  | 
		
		
		    Katkı Düzeyi:  1 Düşük, 2 Orta, 3 Yüksek