BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE, TEZLİ) | |||||
Yüksek Lisans | TYYÇ: 7. Düzey | QF-EHEA: 2. Düzey | EQF-LLL: 7. Düzey |
Ders Kodu | Ders Adı | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
CMP6138 | Algoritma Analizi | Güz Bahar |
3 | 0 | 3 | 6 |
Bu katalog bilgi amaçlıdır, dersin açılma durumu, ilgili bölüm tarafından yarıyıl başında belirlenir. |
Öğretim Dili: | English |
Dersin Türü: | Departmental Elective |
Dersin Seviyesi: | LİSANSÜSTÜ |
Dersin Veriliş Şekli: | Yüz yüze |
Dersin Koordinatörü: | Dr. Öğr. Üyesi TEVFİK AYTEKİN |
Dersi Veren(ler): |
Prof. Dr. NAFİZ ARICA |
Opsiyonel Program Bileşenleri: | Yok |
Dersin Amacı: | Önemli algoritmaların zaman ve hafıza gereksinimlerinin, en kötü, ortalama ve amortize edilmiş durumlar için detaylı analizi öğretilecektir. İlgili büyüklük gösterimleri, özyinelemeli ilişkiler gibi gösterimler sunulacaktır. Ağaçlar, hash tabloları, dengeli ağaç şemaları, öncelik kuyrukları, Fibonacci ve binom yığınları gösterilecektir. Böl ve yönet, dinamik programlama gibi paradigmalar tanıtılacaktır. Seçilen bazı gelişmiş algoritmalar incelenecektir. |
Bu dersi başarıyla tamamlayabilen öğrenciler; I. Temel algoritma analiz tekniklerini uygulama II. Sıralama algoritmalarını uygulama ve analiz etme III. Özyinelemeli uygulamaları ve ağaç yapılarını uygulama ve analiz etme. IV. Problemleri yığın ve kuyruk yapıları ile modelleme ve analiz etme V. Çizgelerle problem çözebilme VI. Dinamik programlama yöntemlerini uygulayabilme VII. Gerektiğinde yeni algoritmalar tasarlama ve uygulama |
Fonksiyonların karmaşıklığı, sıralama algoritmaları, özyineleme, ağaçlar, yığınlar ve öncelikli kuyruklar, çizge algoritmaları, dinamik programlama, seçilmiş teknikler. |
Hafta | Konu | Ön Hazırlık |
1) | Giriş | |
2) | Fonksiyonların büyümesi | |
3) | Temel sıralama algoritmaları | |
4) | Gelişmiş sıralama algoritmaları | |
5) | Özyineleme | |
6) | Ağaçlar 1 | |
7) | Ağaçlar 2 | |
8) | Arasınav | |
9) | Yığınlar ve öncelikli kuyruklar | |
10) | Çizge algoritmaları 1 | |
11) | Çizge algoritmaları 2 | |
12) | Dinamik Programlama | |
13) | Seçilmiş teknikler | |
14) | Proje sunumları |
Ders Notları / Kitaplar: | "Introduction to Algorithms" Thomas H. Cormen, The MIT Press |
Diğer Kaynaklar: |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Projeler | 1 | % 35 |
Ara Sınavlar | 1 | % 25 |
Final | 1 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 25 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 75 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 14 | 3 | 42 |
Proje | 1 | 72 | 72 |
Ara Sınavlar | 1 | 40 | 40 |
Final | 1 | 40 | 40 |
Toplam İş Yükü | 194 |
Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | İleri düzey Bilgisayar Mühendisliği kavramlarını tanımlamak ve uygulamak | |
2) | Gelişmiş mühendislik problemlerini formüle edip çözmek | |
3) | İleri düzey matematik, fen ve mühendislik bilgisi gerçek promlemler üzerinde uygulamak. | |
4) | Araştırma projesi doğrultusunda literatürü dikkatlice gözden geçirip, kendi sonuçları ile önceki literatür arasında bağlantı kurmak | |
5) | Mühendislik alanındaki bilimsel araştırmaları yorumlayıp analiz etmek ve çalışma alanındaki bilgileri kullanmak | |
6) | Disiplinlerarası etkileşim bulunan araştırma takımlarında etkin şekilde çalışmak | |
7) | Bilimsel bilgiye ulaşmak | |
8) | Mevcut bilgiyi geliştirme yöntemleri bulmak | |
9) | Araştırma konusu ile ilgili fikir ve bulgularını sözlü ve yazılı olarak etkin şekilde ifade edebilmek | |
10) | Araştırma bulgularını seminer ve konferanslarda savunabilmek | |
11) | İlerleme raporlarını yayınlanmış doküman, tez, makalelere dayandırarak yazmak. | |
12) | Profesyonel ve etik davranış sorumluluğu sergilemek | |
13) | Yeni profesyonel uygulamalar ve yetileri yorumlamak için farkındalık geliştirmek |