| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| BİLM-202 | ALGORİTMALAR | Ders | 2 | 4 | 6,00 |
Lisans
Türkçe
Bu dersin amacı, öğrencilere algoritma tasarımı ve analizi konusunda temel ve ileri düzey bilgi kazandırmaktır. Öğrencilerin problem çözme becerilerini geliştirerek, farklı algoritmik yaklaşımları kullanabilmeleri hedeflenir. Ders kapsamında, algoritmaların doğruluğu, zaman ve uzay karmaşıklıkları analiz edilir ve farklı çözümler performans açısından karşılaştırılır. Ayrıca, sıralama, arama, çizge ve string algoritmaları gibi temel konular ele alınarak, öğrencilerin gerçek dünya problemlerine etkin ve verimli çözümler geliştirebilmesi amaçlanır.
Dr. Öğretim Üyesi Sercan KÜLCÜ
| 1 | Öğrenci, verilen algoritmaların zaman ve uzay karmaşıklıklarını analiz eder, Big-O, Big-Ω ve Big-Θ notasyonlarını kullanarak algoritmalar arasında karşılaştırma yapar ve en uygun algoritmayı değerlendirir. |
| 2 | Öğrenci, farklı sıralama algoritmalarını (Quick Sort, Merge Sort, Heap Sort vb.) uygular, bu algoritmaların çalışma prensiplerini açıklar ve farklı veri setleri için uygun algoritmayı seçer. |
| 3 | Öğrenci, doğrusal ve ikili arama algoritmalarını uygular, performanslarını analiz eder ve veri yapısına göre en verimli arama yöntemini belirler. |
| 4 | Öğrenci, gerçek dünya problemlerini çizge yapıları ile modelleyerek, BFS, DFS, Dijkstra ve minimum kapsayan ağaç algoritmalarını uygular ve sonuçlarını yorumlar. |
| 5 | Öğrenci, metin işleme problemlerini analiz ederek KMP ve Rabin-Karp gibi string eşleme algoritmalarını uygular, algoritmaların doğruluğunu ve verimliliğini değerlendirir. |
Birinci Öğretim
Yok
Yok
Bu derste algoritma tasarımı ve analizi konularına giriş yapılır. Asimptotik analiz, zaman ve uzay karmaşıklığı (Big-O, Big-Ω, Big-Θ) kavramları ele alınır. Temel algoritma tasarım teknikleri incelenir. Sıralama algoritmaları (Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort) ve arama algoritmaları (doğrusal arama, ikili arama) analiz edilir. Çizge algoritmaları kapsamında BFS, DFS, en kısa yol ve minimum kapsayan ağaç algoritmaları işlenir. Ayrıca, string (metin) algoritmaları ve desen eşleme yöntemleri (KMP, Rabin-Karp) ele alınır. Ders boyunca algoritmaların doğruluğu, verimliliği ve gerçek dünya problemlerine uygulanabilirliği üzerinde durulur.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | Algoritmalara giriş, temel kavramlar, problem çözme ve algoritma geliştirme yaklaşımları | ||
| 2 | Asimptotik analiz, zaman ve uzay karmaşıklığı, Big-O, Big-Ω, Big-Θ notasyonları | ||
| 3 | Algoritma analizine örnekler, en iyi/ortalama/en kötü durum analizleri | ||
| 4 | Temel sıralama algoritmaları: Bubble Sort, Selection Sort, Insertion Sort | ||
| 5 | Gelişmiş sıralama algoritmaları: Merge Sort (Böl ve Yönet) | ||
| 6 | Gelişmiş sıralama algoritmaları: Quick Sort ve Heap Sort | ||
| 7 | Arama algoritmaları: Doğrusal arama, İkili arama, performans karşılaştırmaları | ||
| 8 | Çizge (Graph) kavramları, gösterim yöntemleri, | ||
| 9 | Çizge (Graph) kavramları, gösterim yöntemleri, BFS ve DFS algoritmaları | ||
| 10 | En kısa yol algoritmaları: Dijkstra, Bellman-Ford | ||
| 11 | Minimum kapsayan ağaç algoritmaları: Kruskal ve Prim | ||
| 12 | Ağ akış algoritmaları: Ford-Fulkerson, Edmonds-Karp | ||
| 13 | String (metin) algoritmaları: KMP, Rabin-Karp, desen eşleme | ||
| 14 | Genel tekrar, örnek problem çözümleri ve sınav hazırlığı |
Introduction to Algorithms Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Veri Yapıları ve Algoritmalar, Ders Notları, Mustafa Ege. https://sercankulcu.github.io/teaching/algorithms
Yok
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 3 | 42 |
| Bireysel Çalışma | 5 | 21 | 105 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 15 | 15 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 16 | 16 |
| Toplam İş Yükü (saat) | 180 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | |
| ÖÇ 1 | 5 | 5 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ÖÇ 2 | 5 | 5 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ÖÇ 3 | 5 | 5 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ÖÇ 4 | 5 | 5 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ÖÇ 5 | 5 | 5 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |