CMP3005 Analysis of AlgorithmsBahçeşehir ÜniversitesiAkademik Programlar OPTİSYENLİK (TÜRKÇE)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
OPTİSYENLİK (TÜRKÇE)
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CMP3005
Ders İsmi: Algoritma Analizi
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 6
Öğretim Dili: İngilizce
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Non-Departmental Elective
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı algoritma analizi için gerekli temel matematiksel araçları, temel algoritma tasarım tekniklerini, gelişmiş veri yapılarını ve farklı alanlardan önemli algoritmaları tanıtmaktır.
Dersin İçeriği: Giriş, asimtotik gösterim, algoritmaların ampirik analizi, algoritma tasarımı, amortize analizi, kaba kuvvet algoritmaları, böl ve yönet algoritmaları, dönüştür ve yönet algoritmaları, uzay ve zaman dengelemeleri, dinamik programlama, açgözlü algoritmalar, ileri veri yapıları, B ağaçları , B-ağaçlarından Ekleme ve Silme, graflar ve graf algoritmaları, P ve NP problemler.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Giriş, asimtotik gösterimler
2) Deneysel algoritma analizi, algoritma analizi, amortize analiz
3) Özyineli ilişkiler, yerine koyma yöntemi, özyineli-ağaç yöntemi, master yöntemi.
4) Kaba Kuvvet Algoritmaları
5) Böl ve Yönet Algoritmaları
6) Birleştirerek sıralama, hızlı sıralama, rasgele hızlı sıralama, ikili arama
7) Dönüştür ve Yönet Algoritmaları, Gausss eliminasyonu ile lineer denklem sistemlerinin çözümü, Dengelenmiş Arama Ağaçları, Yığıtlar ve Yığıt sıralama, Horner Kuralı ve İkili Üs
8) Hafıza ve Zaman Karşılaşmaları, Girdi Geliştirme (Sayıma dayalı sıralama, dize eşleme), Önişleme (Doğrama, Doğrama işlevleri, açık adresleme).
9) Ara sınav.
10) Dinamik Programlama: Madeni para problemi, Sırt çantası problemi, En uzun ortak altdizin
11) Dinamik programlama: Sırt çantası problemi, en uzun ortak alt dizi.
12) Açgözlü Algoritmalar: Aktivite seçimi, Huffman kodları, Prim algoritması, Kruskal Algoritması
13) Tek kaynak en kısa yollar: Bellman-Ford algoritması, Dijkstra algoritması.
14) P, NP, ve NP-tam problemler

Kaynaklar

Ders Notları / Kitaplar: Anany Levitin, The Design and Analysis of Algorithms, Pearson International Third Edition.

Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C., Introduction to Algorithms (3rd Edition), MIT Press, 2009.

Sanjoy Dasgupta , Christos Papadimitriou, Umesh Vazirani, Algorithms, McGraw-Hill Education.
Diğer Kaynaklar: Yok - None

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları
Program Kazanımları
1) Alanı ile ilgili temel düzeyde kuramsal ve uygulamalı bilgilere sahiptir.
2) Alanıyla ilgili etik ilke ve kurallara ilişkin bilgiye sahiptir.
3) Alanı ile ilgili temel düzeydeki kuramsal ve uygulamalı bilgileri, temel bilgisayar programlarını ve ilgili teknolojileri kullanır.
4) Alanı ile ilgili sahip olduğu temel bilgi birikimini kullanarak verilen bir görevi bağımsız olarak yürütür.
5) Alanında edindiği temel düzeydeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirir; öğrenme gereksinimlerini belirler ve öğrenmesini yönlendirir.
6) Alanının gerektirdiği en az Avrupa Bilgisayar Kullanma Lisansı temel düzeyinde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini kullanır.
7) Kalite yönetimi ve süreçlerine uygun davranır ve katılır.
8) Birey ve halk sağlığı, çevre koruma ve iş güvenliği konularında yeterli bilince sahiptir.
9) Birey olarak görev, hak ve sorumlulukları ile ilgili yasa, yönetmelik, mevzuat ve mesleki etik kurallarına uygun davranır.

Ders - Öğrenme Kazanımı İlişkisi

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) Alanı ile ilgili temel düzeyde kuramsal ve uygulamalı bilgilere sahiptir.
2) Alanıyla ilgili etik ilke ve kurallara ilişkin bilgiye sahiptir.
3) Alanı ile ilgili temel düzeydeki kuramsal ve uygulamalı bilgileri, temel bilgisayar programlarını ve ilgili teknolojileri kullanır.
4) Alanı ile ilgili sahip olduğu temel bilgi birikimini kullanarak verilen bir görevi bağımsız olarak yürütür.
5) Alanında edindiği temel düzeydeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirir; öğrenme gereksinimlerini belirler ve öğrenmesini yönlendirir.
6) Alanının gerektirdiği en az Avrupa Bilgisayar Kullanma Lisansı temel düzeyinde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini kullanır.
7) Kalite yönetimi ve süreçlerine uygun davranır ve katılır.
8) Birey ve halk sağlığı, çevre koruma ve iş güvenliği konularında yeterli bilince sahiptir.
9) Birey olarak görev, hak ve sorumlulukları ile ilgili yasa, yönetmelik, mevzuat ve mesleki etik kurallarına uygun davranır.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 2 % 10
Projeler 1 % 20
Ara Sınavlar 1 % 30
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 14 42
Proje 7 21
Küçük Sınavlar 6 12
Ara Sınavlar 5 28
Final 5 35
Toplam İş Yükü 138