DERSİN GENEL BİLGİLERİ |
| Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
| CME6302 | Analysis of Algorithms | 3 | Bahar | 2 | 1 | 3 | 6 |
| Dersin Türü: | Zorunlu |
| Dersin Düzeyi: | Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey |
| Dersin Öğretim Dili: | İngilizce |
| Dersin Ön/Yan Koşulu: | Yoktur |
| Dersin Veriliş Şekli: | Yüz yüze |
| Dersin Koordinatörü: | Profesör Dr. ALİ ÇİVRİL |
| Dersin Öğretim Eleman(lar)ı: |
Profesör Dr. ALİ ÇİVRİL |
| Dersin Kategorisi: | Mesleki Alan |
BÖLÜM II: DERSİN TANITIMI |
| Dersin Amacı: | Bu dersin amacı, öğrencilerin temel algoritma tasarım tekniklerini öğrenmelerini ve algoritmaların zaman karmaşıklığını analiz edebilmelerini sağlamaktır. Ders kapsamında böl ve yönet, açgözlü (greedy), dinamik programlama ve grafik algoritmaları gibi temel algoritmik paradigmalar ele alınacaktır. Öğrencilerin problem çözme, soyutlama ve algoritmik düşünme becerilerinin geliştirilmesi hedeflenmektedir. |
| Dersin İçeriği: | Algoritma kavramı ve algoritmik problem çözme. Asimptotik analiz ve zaman karmaşıklığı. Çalışma süresi analizi ve özyinelemeli bağıntılar. Böl ve yönet algoritmaları. Öncelik kuyrukları ve temel veri yapıları. Dinamik programlama teknikleri. Açgözlü algoritmalar. Grafik gösterimleri, BFS ve DFS algoritmaları. En kısa yol algoritmaları ve ağ akışı problemlerine giriş. |
| Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.) | ||
|
1) Algoritmaların zaman karmaşıklığını asimptotik gösterimler (Big-O, Big-Θ, Big-Ω) kullanarak analiz eder. |
||
| Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.) | ||
| Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.) | ||
|
1) Algoritmik problemler için uygun çözüm paradigmalarını (böl ve yönet, açgözlü algoritmalar, dinamik programlama) belirler ve uygular. |
||
|
2) Farklı algoritmik yaklaşımları doğruluk, verimlilik ve uygulanabilirlik açısından karşılaştırır. |
||
|
3) Graf yapıları üzerinde temel algoritmaları (BFS, DFS, topolojik sıralama, en kısa yol) kullanarak problemleri çözer. |
||
|
4) Bir algoritma için uygun veri yapılarını seçer ve bu seçimin algoritmanın performansına etkisini değerlendirir. |
||
| Hafta | Konu | ||
| Ön Hazırlık | Pekiştirme | ||
| 1) | Algoritmalara giriş ve algoritmik düşünme. | ||
| 2) | Asimptotik analiz ve zaman karmaşıklığı. | ||
| 3) | Çalışma süresi analizi ve özyinelemeler. | ||
| 4) | Böl ve yönet algoritmaları. | ||
| 5) | Öncelik kuyrukları ve temel veri yapıları. | ||
| 6) | Dinamik programlama I. | ||
| 7) | Dinamik programlama II. | ||
| 8) | Ara sınav. | ||
| 9) | Açgözlü algoritmalar I. | ||
| 10) | Açgözlü algoritmalar II. | ||
| 11) | Graf algoritmaları I. | ||
| 12) | Graf algoritmaları II. | ||
| 13) | En kısa yol algoritmaları. | ||
| 14) | Ağ akışı ve genel tekrar. | ||
| Ders Notları / Kitaplar: | Jon Kleinberg, Éva Tardos, Algorithm Design, Pearson. Aditya Bhargava, Grokking Algorithms, Manning Publications (yardımcı kaynak). Jon Kleinberg, Éva Tardos, Algorithm Design, Pearson. Aditya Bhargava, Grokking Algorithms, Manning Publications (supplementary). |
| Diğer Kaynaklar: |
DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ |
| Ders Öğrenme Çıktıları (DÖÇ) | 1 |
2 |
3 |
4 |
5 |
|||||
|---|---|---|---|---|---|---|---|---|---|---|
| Program Öğrenme Çıktıları (PÖÇ) | ||||||||||
| 1) Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve bilgisayar mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | ||||||||||
| 2) Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. | ||||||||||
| 3) Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. | ||||||||||
| 4) Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. | ||||||||||
| 5) Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. | ||||||||||
| 6) Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | ||||||||||
| 7) Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. | ||||||||||
| 8) Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. | ||||||||||
| 9) Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. | ||||||||||
| 10) Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. | ||||||||||
| 11) Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. | ||||||||||
BÖLÜM III: DERSİN PROGRAM ÖĞRENME ÇIKTILARI İLE İLİŞKİSİ |
| Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
| Program Öğrenme Çıktıları | Katkı Oranı (1-5) | |
| 1) | Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve bilgisayar mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | 5 |
| 2) | Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. | 2 |
| 3) | Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. | 5 |
| 4) | Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. | 5 |
| 5) | Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. | 2 |
| 6) | Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | 3 |
| 7) | Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. | 2 |
| 8) | Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. | 4 |
| 9) | Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. | 3 |
| 10) | Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık. | 4 |
| 11) | Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi. | 5 |
BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ |
| Ara Sınav | |
| Yarıyıl Sonu Sınavı | |
| Kısa Sınav |
| Ölçme ve Değerlendirme Yöntemleri | Uygulama Sayısı / Yarıyıl | Katkı Oranı |
| Kısa Sınavlar | 4 | % 20.00 |
| Ara Sınavlar | 1 | % 30.00 |
| Yarıyıl Sonu Sınavı | 1 | % 50.00 |
| Toplam | % 100 | |
| YARIYIL İÇİ ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİNİN BAŞARI NOTUNA KATKI ORANI | % 50 | |
| YARIYIL SONU SINAVININ BAŞARI NOTUNA KATKI ORANI | % 50 | |
| Toplam | % 100 | |
BÖLÜM V: DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
| ÖĞRENME VE ÖĞRETME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Öğrenme ve Öğretme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Toplam İş Yükü | |
| Ders | 13 | 39 | |
| Laboratuvar | |||
| Uygulama | |||
| Derse Özgü Staj | |||
| Arazi Çalışması | |||
| Sınıf Dışı Ders Çalışması | 14 | 43 | |
| Sunum / Seminer | |||
| Proje | |||
| Ödevler | |||
| Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü | - | 82 | |
| ÖLÇME VE DEĞERLENDİRME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Ölçme ve Değerlendirme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Toplam İş Yükü | |
| Kısa Sınav | 4 | 4 | |
| Ara Sınavlar | 8 | 30 | |
| Yarıyıl Sonu Sınavı | 7 | 26 | |
| Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü | - | 60 | |
| TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) | 142 | ||
| DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) | 6 | ||