Dersin Adı | Kodu | Yarıyıl | T+U+L (saat/hafta) | Türü (Z / S) | Yerel Kredi | AKTS |
---|---|---|---|---|---|---|
Algoritma Analizi | CMPE 353 | Güz | 03+00+00 | Seçmeli | 3 | 5 |
Akademik Birim: | Bilgisayar Mühendisliği Bölümü |
Öğrenim Türü: | Örgün Eğitim |
Ön Koşullar | CMPE 242 |
Öğrenim Dili: | İngilizce |
Dersin Düzeyi: | Lisans |
Dersin Koordinatörü: | - - |
Dersin Amacı: | Bu dersin temel amacı öğrenciye problem çözmenin temelleri ve hesapsal verimlilik ile ilgili gerekli bilgiyi, bilgisayar bilimleri ve hesapsal problemlerde yaygın olarak kullanılan algoritmaların tasarım, hesapsal verimlilik analizi ve gerçekleştirimi becerisini kazandırmaktır. |
Dersin İçeriği: | Algoritma tasarım ve analizi temel kavramlarına giriş. Temel analiz araçlarına genel bir bakış: Fonksiyonları asimtotik olarak yakınsama, toplamları sınırlama ve tekrar bağıntılarını çözme. Verimli olarak çözülebilen problemlerin böl-çöz, randomizasyon, dinamik programlama, amortizasyon, ve obur buluşsallar gibi tasarım tekniklerine odaklı tartışılması. Çeşitli algoritmik kavramların küme, dizi, çizge gibi yapılarla ilgili problemlerde uygulanması. |
Dersin Öğrenme Çıktıları (ÖÇ): |
|
Dersin Öğrenme Yöntem ve Teknikleri | Sınıfta ders anlatımı, katılımlı problem çözme, kodlama projesi |
Hafta | Konular | Ön Hazırlık | ÖÇ |
---|---|---|---|
1 | Dersin genel özeti, bilgisayar bilimlerinde algoritmaların rolü | ||
2 | Tümevarımsal tasarım ve örneği: Insertionsort, algoritmaların analizi | 1, 3 | |
3 | Böl-çöz`e dayalı tasarım ve örneği: Mergesort ve analizi. Randomize algoritmalar ve örneği: Quicksort, ortalama zaman analizi. Lineer zamanda sıralama ve Countingsort algoritması, Enformasyon-teorik altsınırlar. | 1,2,3,4 | |
4 | Asimtotik notasyon, yaygın fonksiyonlar | 3 | |
5 | Tekrar bağıntılarını çözme, yaygın tekrar bağıntıları | 1,4 | |
6 | Artımlı ve Özyinelemeli algoritma tasarım tekniklerinin karşılaştırmasına bir örnek: Maksimum Çarpımı/Toplamı Veren Altdizi Problemi. Vize sınavı öncesi problem çözme. | 1,3,4 | |
7 | Proje sunumları | ||
8 | Çizge algoritmaları: Enine Arama | 4 | |
9 | Çizge algoritmaları: Boyuna Arama | 4 | |
10 | Dinamik programlama: Çubuk kesme problemi | 2 | |
11 | Dinamik programlama: Dinamik Programlama Elementleri, En uzun ortak altdizi problemi | 2,4 | |
12 | Dinamik programlama: Sırt çantası problemi, Pseudo-polinom zamanlı algoritmalar | 2,4 | |
13 | Obur buluşsallar: Aktivite seçimi | 2,4 | |
14 | Obur buluşsallar: Huffman kodlaması | 2,4 |
Introduction to algorithms, Cormen, Leiserson, Rivest, SteIn, the mit press, 2nd edition, 2001. |
Steven Skiena, The Algorithm Design Manual, 2nd Edition. Springer, 2008. |
Yarıyıl İçi Çalışmaları | Sayı | Katkı Payı (%) |
---|---|---|
Proje | 2 | 60 |
Sözlü Sınavlar | 1 | 30 |
Kısa Sınavlar | 2 | 10 |
Total: | 5 | 100 |
Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
---|---|---|---|
Ders Saati | 14 | 3 | 42 |
Proje | 2 | 30 | 60 |
Ödev | 6 | 3 | 18 |
Final Sınavı | 1 | 5 | 5 |
Toplam İş Yükü (saat): | 125 |