Marmara Üniversitesi
Marmara Üniversitesi Eğitim-Öğretim Bilgi Sistemi

Programlar Hakkında Bilgi

Lisans - Mühendislik Fakültesi - Bilgisayar Mühendisliği (İngilizce)

Müfredat Adı Ders Kodu Ders Adı Ders Türü Dönem AKTS Teorik Uygulama
Bilgisayar Mühendisliği (İngilizce) - 2015 CSE2046 Analysis of Algorithms Zorunlu 4 6,00 3 0

Dersin İçeriği

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.

Öğrenim Türü

-

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.

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

Staj Durumu

Yok

Dersin Sunulduğu Dil

İngilizce

Ders Kitabı / Malzemesi / Önerilen Kaynaklar

Required: A. Levitin. Int to the Design and Analysis Algorithms. Addison-Wesley. Recommended: 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.

Dersin Web Sayfası

-

Öğrenme Çıktıları

  • Algoritmaların zaman ve hafıza açısından karmaşıklığının matematiksel analizini yapabilmek
  • Farklı algoritmaların performanslarını deneysel olarak karşılaştırabilmek.
  • Çeşitli algoritma tasarım tekniklerini farklı problemler için uygulayabilmek.
  • Problemlerin alt sınır analizini yapabilmek ve zorluk sınıflarını belirleyebilmek.
  • Zor problemler için verimli algoritma tasarlayabilmek.

Haftalık Ayrıntılı Ders İçeriği

Hafta Teorik
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

Değerlendirme

Değerlendirme Değer
Yarıyıl (Yıl) İçi Etkinlikleri 60
Yarıyıl (Yıl) Sonu Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri Değer
Final Sınavı 100

Öğrenci İş Yükü Hesabı

Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ders Öncesi/Sonrası Bireysel Çalışma 14 3 42
Ödev ve Hazırlığı 4 16 64
Arasınav ve Hazırlığı 1 20 20
Final ve Hazırlığı 1 24 24

Program ve Öğrenme Çıktıları İlişkisi

ÖÇ1
ÖÇ2
ÖÇ3
ÖÇ4
ÖÇ5
ÖÇ6