Ders Genel Tanıtım Bilgileri

Ders Kodu: COE206
Ders İsmi: Algoritma Analizi
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
6
Öğretim Dili: İngilizce
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM
Dersi Veren(ler): Dr. Öğr. Üyesi Ali Asghar Pour Haji Kazem
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, öğrencilere algoritmaların etkinliğini ve performansını nasıl değerlendireceklerini öğretir. Öğrenciler, zaman karmaşıklığı, alan karmaşıklığı ve asimptotik analiz gibi algoritmaları analiz etmek için çeşitli teknikler öğrenirler. Bu stratejileri ve teknikleri çalışarak, öğrenciler belirli bir problemi çözmek için en uygun yaklaşımı seçmeyi ve çözümlerinin performansını analiz etmeyi öğrenirler.
Dersin İçeriği: Ders, sıralama, arama ve graf algoritmaları gibi farklı türdeki algoritmaları, ayrıca algoritma tasarımında kullanılan yaygın veri yapılarını kapsar. Öğrenciler, böl ve fethet, azalt ve fethet, dönüştür ve fethet, dinamik programlama, açgözlü algoritmalar ve geri izleme algoritmaları gibi algoritmik stratejiler ve teknikler hakkında da bilgi edinirler.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Farklı algoritmaların etkinliğini ve performansını, zaman karmaşıklığı, alan karmaşıklığı ve asimptotik analiz gibi teknikler kullanarak değerlendirmek.
2) Farklı türdeki problemleri çözmek için bölmeye dayalı yaklaşım, azaltmaya dayalı yaklaşım, dönüştürmeye dayalı yaklaşım, dinamik programlama, açgözlü algoritmalar ve geri izleme algoritmaları gibi çeşitli algoritmik stratejileri ve teknikleri uygulamak.
3) Diziler, bağlı listeler, ağaçlar ve hash tablolar gibi yaygın veri yapılarını kullanarak algoritmaları uygulamak.
4) Algoritmik çözümlerin performansını, deneysel yöntemler ve teorik analiz kullanarak analiz etmek.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Algoritmalara Giriş
2) Algoritma Karmaşıklık Analizi
3) Algoritma Karmaşıklık Analizi
4) Graf Gösterimleri ve Dolaşma Algoritmaları
5) Matematiksel İndüksiyon ve İndüksiyon ile Temel Algoritma Tasarımı
6) Böl ve Fethet Temelleri: Paradigma, Özyinelemeli Yapı ve Temel Örnekler
7) Ara Sınav
8) Böl ve Fethet Uygulamaları
9) Dinamik Programlama Temelleri
10) Dinamik Programlama Uygulamaları I
11) Dinamik Programlama Uygulamaları II
12) Açgözlü Algoritmaların Temelleri
13) Açgözlü Algoritmaların Graf Uygulamaları
14) Geri İzleme Algoritmaları

Kaynaklar

Ders Notları / Kitaplar: Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to algorithms. MIT press, 2022.
Diğer Kaynaklar: Lecture notes

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı

Ölçme ve Değerlendirme

Değerlendirme Yöntemleri ve Kriterleri Aktivite Sayısı Katkı Payı
Projeler 1 % 20
Ara Sınavlar 1 % 30
Final 1 % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harcanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 13 0 0
Sınıf Dışı Ders Çalışması 13 0 0
Ara Sınavlar 1 0 0
Final 1 15 15
Toplam İş Yükü 15