AKTS - İleri Algoritma
İleri Algoritma (CMPE524) Ders Detayları
Ders Adı | Ders Kodu | Dönemi | Saati | Uygulama Saati | Laboratuar Hours | Kredi | AKTS |
---|---|---|---|---|---|---|---|
İleri Algoritma | CMPE524 | Alan Seçmeli | 3 | 0 | 0 | 3 | 5 |
Ön Koşul Ders(ler)i |
---|
N/A |
Dersin Dili | İngilizce |
---|---|
Dersin Türü | Bilgisayar Mühendisliği Seçmeli Dersleri |
Dersin Seviyesi | Doktora |
Ders Verilme Şekli | Yüz Yüze |
Dersin Öğrenme ve Öğretme Teknikleri | Anlatım. |
Dersin Öğretmen(ler)i |
|
Dersin Amacı | Dersin sonunda öğrenci, algoritmaların analizinin ve dizaynının nasıl yapıldığını ve algoritmaların karmaşıklığının nasıl ölçülebildiğini öğrenecek, algoritma alanının teorik altyapısını kavrayacak ve gerçek hayat problemlerine verimli algoritmik çözümler oluşturma becerisi kazanacaktır. |
Dersin Eğitim Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Dersin İçeriği | Algoritma dizaynı ve analizi, O?notasyonu, parçala?çöz algoritması, olasılık analiz ve rastgele algoritmalar, dinamik programlama, fırsatçı algoritmalar, alt sınır teoremi, sıralama ve arama algoritmalarının karmaşıklıkları, grafik algoritmaları, NP-zor ve NP-tamam (NPC) problemler, başlıca NPC problemleri, NPC ye problem sağlama, bazı dizgi işleme |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
Hafta | Konular | Ön Hazırlık |
---|---|---|
1 | Giriş, fonksiyonların artışı | Ana ders kitabı Bölüm 1-3 |
2 | Özyineliler | Bölüm 4 |
3 | Sıralama | Bölüm 6-7 |
4 | Çizge Algoritmaları: BFS, DFS | Bölüm 22 |
5 | Topolojik Sıralama | Bölüm 22 |
6 | Minimum Spanning Trees: Kruskall ve Prim Algoritmaları | Bölüm 23 |
7 | Tek En Kısa Yollar: Bellman-Ford Algoritmaları | Bölüm 24 |
8 | Tek En Kısa Yollar: Dijkstra's Algoritması | Bölüm 24 |
9 | Tüm Çiftler En Kısa Yollar | Bölüm 25 |
10 | Maksimum-Akış: Akış ağları | Bölüm 26 |
11 | Maksimum-Akış: Ford-Fulkerson Algoritması | Bölüm 26 |
12 | Maksimum-Akış: Maksimum İki-Parça Çizgeleri | Bölüm 26 |
13 | NP-Tamlık | Bölüm 34 |
14 | NP-Tamlık | Bölüm 34 |
15 | Gözden geçirme | |
16 | Gözden geçirme |
Kaynaklar
Ders Kitabı | 1. T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein: Introduction to Algorithms, 2nd ed., MIT Press 2001. |
---|---|
Diğer Kaynaklar | 2. E.Horowitz, S.Sahni: Fundamentals of Computer Algorithms, Computer Science Press, 1989. |
3. E.Horowitz, S.Sahni, S.Rajasekeran, Computer Algorithms, ISBN: 978-0-929306-41-4, Silicon Press, 2008. | |
4. J.Kleinberg, E.Tardos, Algorithm Design, Addison – Wesley, ISBN: 0-321-29535-8, 2006. | |
5. A.V.Aho, J.E.Hopcroft, J.D.Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley Series in Computer Science and Information Processing, 1979. | |
6. S.S. Skiena, The Algorithm Design Manual, Springer – Verlag, New York, 1998. |
Değerlendirme System
Çalışmalar | Sayı | Katkı Payı |
---|---|---|
Devam/Katılım | 1 | 5 |
Laboratuar | - | - |
Uygulama | - | - |
Alan Çalışması | - | - |
Derse Özgü Staj | - | - |
Küçük Sınavlar/Stüdyo Kritiği | - | - |
Ödevler | 1 | 10 |
Sunum | - | - |
Projeler | - | - |
Rapor | - | - |
Seminer | - | - |
Ara Sınavlar/Ara Juri | 2 | 50 |
Genel Sınav/Final Juri | 1 | 35 |
Toplam | 5 | 100 |
Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı | 65 |
---|---|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı | 35 |
Toplam | 100 |
Kurs Kategorisi
Temel Meslek Dersleri | |
---|---|
Uzmanlık/Alan Dersleri | X |
Destek Dersleri | |
İletişim ve Yönetim Becerileri Dersleri | |
Aktarılabilir Beceri Dersleri |
Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi
# | Program Yeterlilikleri / Çıktıları | Katkı Düzeyi | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Yazılım mühendisliği araştırma alanında en gelişmiş teknoloji ve literatürü kavrama | X | ||||
2 | Yazılım mühendisliğinde dünya çapında araştırma yapma ve bu alanda en iyi konferans ve dergilerde bilimsel makale yayınlama becerisi | X | ||||
3 | Yazılım mühendisliğinde sayısal ve niteliksel çalışmalar yürütebilme | X | ||||
4 | Yazılım mühendisliği alanında akademik çevre ve endüstri arasında köprü kurabilmek için gerekli becerileri edinme ve gerçek dünyada karşılaşılan problemleri çözmek için yazılım mühendisliği yaklaşımlarını geliştirme ve uygulama | X | ||||
5 | Bilim ve teknolojideki güncel gelişmeleri takip edebilmek için gereken bilgiye ulaşma ve bilimsel araştırma gerçekleştirme veya yazılım mühendisliği alanına proje geliştirme becerisi | X | ||||
6 | Yazılım mühendisliği alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci | |||||
7 | Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; yazılım mühendisliği uygulamaları standartları ve yöntemleri için uluslararası mükemmellik standartlarının bilinmesi | X | ||||
8 | Karar alırken, Yazılım mühendisliği uygulamalarının evrensel, çevresel, sosyal ve hukuksal sonuçları konusunda farkındalık | |||||
9 | Yazılım mühendisliği uygulamaları için mükemmellik standardını geliştirmek, benimsemek ve sürdürülebilir kullanımını desteklemek |
ECTS/İş Yükü Tablosu
Aktiviteler | Sayı | Süresi (Saat) | Toplam İş Yükü |
---|---|---|---|
Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) | 16 | 3 | 48 |
Laboratuar | |||
Uygulama | |||
Derse Özgü Staj | |||
Alan Çalışması | |||
Sınıf Dışı Ders Çalışma Süresi | 16 | 3 | 48 |
Sunum/Seminer Hazırlama | |||
Projeler | |||
Raporlar | |||
Ödevler | 1 | 5 | 5 |
Küçük Sınavlar/Stüdyo Kritiği | |||
Ara Sınavlara/Ara Juriye Hazırlanma Süresi | 2 | 8 | 16 |
Genel Sınava/Genel Juriye Hazırlanma Süresi | 1 | 15 | 15 |
Toplam İş Yükü | 132 |