GERİ DÖN

Ders Öğretim Planı


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
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek