Lisans - Mühendislik Fakültesi - Bilgisayar Mühendisliği (İngilizce)
Y : Yıl D : Dönem
Ders Kodu Ders Adı Ders Türü Y D AKTS
CSE2046 Analysis of Algorithms Zorunlu 2 4 6
Dersin Amacı
Çalışma zamanı analiz teknikleri hakkında bilgilendirmek. Doğru ve verimli algoritma tasarlama yöntemlerini açık ve anlaşılır bir şekilde göstermek. Algoritma geliştirirken uygun veri yapılarını etkin bir şekilde kullanma konusunda bilgilendirmek.
Öğrenme Çıktıları
1 Problem çözümünde farklı veri yapıları ve algoritma tasarım teknikleri arasında akıllıca seçim yapma becerisi
2 Çözümü bilinen problemlerden indirgeme yöntemi kullanarak problem çözümü ve alt sınır analizlerinin yapılması
3 Çizge ve akış kuramlarını kullanarak gerçek problemleri modelleme yeteneği
4 Böl-ve-fethet, dinamik programlama, açgözlü yaklaşım gibi farklı teknikleri kullanarak algoritma tasarlama becerisi
5 Yeni uygulamalar problemler için yeni algoritma tasarlama ya da bilinen algoritmaları değiştirme, ve geliştirilen algoritmanın verimliliğini yorumlama becerisi
6 Çoğu algoritmanın zaman ve yer verimliliğini analiz etme becerisi
Öğrenim Türü
Örgün Öğretim
Ders İçin Önerilen Diğer Hususlar
Yok
Dersin İçeriği
Giriş: Temel problem çözme yöntemleri, önemli problem tipleri, temel veri yapıları. Algoritmaların zaman ve yer verimlilik analizinin temelleri. Yinelemeli ve yinelemeli olmayan algoritmaların matematiksel verimlilik analizi. Kaba kuvvet yöntemi. Azalt-ve-Fethet yöntemi. Böl-ve-Fethet yöntemi. Dönüştür-ve-Fethet yöntemi. Zamandan kazanmak için hafızayı daha çok kullanan yöntemler. Dinamik programlama. Açgözlü Algoritmalar. Iteratif iyileştirme algoritmaları. Algoritma verimliliğinde limitler. P, NP, NP-Complete problemler. Zor problemleri çözme yöntemleri.
Haftalık Ayrıntılı Ders İçeriği
Hafta Teorik Uygulama Laboratuvar
1 Giriş: Algoritma kavramı, algoritmik problem çözümünün temelleri, önemli problem tipleri, başlıca veri yapıları
2 Algoritma verimliliği analizinin temelleri, asimtotik gösterimler
3 Yinelemeli ve yinelemeli olmayan algoritmaların matematiksel analizi
4 Kaba Kuvvet ve Kapsamli arama yöntemleri
5 Azalt-ve-Fethet yöntemi
6 Böl-ve-Fethet yöntemi
7 Dönüştür-ve-Fethet yöntemi
8 Arasınav
9 Zamandan kazanmak için daha çok hafıza kullanan algoritmalar
10 Dinamik Programlama
11 Açgözlü yaklaşım
12 Iteratif geliştirme
13 Alt sınır argümanları. Karar ağaçları.
14 P, NP, NP-Complete Problemler.
15 Zor problemlerin çözüm yöntemleri
16 Final hazırlık
17 Final
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
Ders Kitabı: A. Levitin. Int to the Design and Analysis Algorithms. Addison-Wesley. Önerilen: J. Kleinberg and E. Tardos, Algorithm Design, Addison-Wesley, 2005. T.H. Cormen, C.E. Leiserson, R. Rivest, and C. Stein, Algorithms (2nd ed.), MIT Press, 2001.
Planlanan Öğrenme Aktiviteleri ve Metodları
Ders notları. Ders sunumları. Ödevler. Web sitesinin aktif kullanımı: http://mimoza.marmara.edu.tr/~omer.korcak/courses/CSE246.html
Değerlendirme
DeğerlendirmeAdetDeğer
Yarıyıl (Yıl) İçi Etkinlikleri60
Yarıyıl (Yıl) Sonu Etkinlikleri40
Toplam100
Yarıyıl (Yıl) İçi EtkinlikleriAdetDeğer
Ara Sınav266
Ödev Sunma434
Toplam100
Yarıyıl(Yıl) Sonu EtkinliklerAdetDeğer
Final Sınavı1100
Toplam100
Dersin Sunulduğu Dil
İngilizce
Staj Durumu
Yok
İş Yükü Hesaplaması
Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Derse Katılım 2 10 20
Ders Öncesi Bireysel Çalışma 2 7 14
Ders Sonrası Bireysel Çalışma 2 7 14
Ara Sınav Hazırlık 2 12 24
Final Sınavına Hazırlanma 1 18 18
Ev Ödevi 4 15 60
Toplam 13 69 150
Program ve Öğrenme Çıktıları İlişkisi
PÇ 1PÇ 2PÇ 3PÇ 4PÇ 5PÇ 6PÇ 7PÇ 8PÇ 9PÇ 10PÇ 11PÇ 12PÇ 13PÇ 14PÇ 15PÇ 16
ÖÇ 10000000000000000
ÖÇ 20000000000000000
ÖÇ 30000000000000000
ÖÇ 40000000000000000
ÖÇ 50000000000000000

^