Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Dersin İçeriği
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması ,Asimtotik gösterim ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara Sınava Hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Öğretim Yöntemleri
Ölçme Yöntemleri
Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini tanımlar
12, 14, 16, 9
A, E
Daha karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
Ağaçları kullanan karmaşık algoritmaları geliştirebilecek ve bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
Çizge kullanan karmaşık algoritmaları geliştirebilecek ve bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
Kendisine verilen yeni hesapsal probleme sistematik bir şeklide bakarak çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Öğretim Yöntemleri:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Ders Akışı
Sıra
Konular
Ön Hazırlık
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim
Ders sunuları ve ders kitabının 3. bölümü
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara Sınava Hazırlık
7. haftaya kadar olan tüm konular
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Kaynak
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar.
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı
No
Program Yeterliliği
Katkı Düzeyi
1
2
3
4
5
1
Mühendislik alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular.
X
2
Mühendislikte uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir ve mühendisliğin ilişki kurduğu disiplinler arası etkileşimi kavrayabilir.
X
3
Analitik, modelleme ve deneysel esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık durumları yorumlar, yeni ve özgün fikirler geliştirerek çözümler.
X
4
Sınırlı ya da eksik verileri kullanarak bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bütünleştirir.
X
5
Mühendislik ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilir.
6
Çok disiplinli takımlarda liderlik yapar, çözüm yaklaşımları geliştirir ve sorumluluk alır.
X
7
Mesleğinin yeni ve gelişmekte olan uygulamalarının farkındadır; gerektiğinde bunları inceler ve öğrenir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü B2 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır.
X
9
Mühendislik uygulamalarının sosyal ve çevresel boyutlarını betimler.
10
Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.
Değerlendirme Sistemi
Katkı Düzeyi
Mutlak Değerlendirme
Ara Sınavın Başarıya Oranı
50
Genel Sınavın Başarıya Oranı
50
Toplam
100
AKTS / İşyükü Tablosu
Etkinlik
Sayı
Süresi (Saat)
Toplam İş Yükü (Saat)
Ders Saati
14
5
70
Rehberli Problem Çözme
0
0
0
Problem Çözümü / Ödev / Proje / Rapor Tanzimi
2
15
30
Okul Dışı Diğer Faaliyetler
0
0
0
Proje Sunumu / Seminer
2
20
40
Kısa Sınav (QUİZ) ve Hazırlığı
0
0
0
Ara Sınav ve Hazırlığı
1
40
40
Genel Sınav ve Hazırlığı
1
45
45
Performans Görevi, Bakım Planı
0
0
0
Toplam İş Yükü (Saat)
225
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(225/30)
8
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır.
Dersin Detaylı Bilgileri
Ders Tanımı
Ders
Kodu
Yarıyıl
T+U Saat
Kredi
AKTS
İLERİ ALGORİTMA ANALİZİ
COEY1212947
Bahar Dönemi
3+0
3
8
Ders Programı
Pazartesi 15:30-16:15
Pazartesi 16:30-17:15
Pazartesi 17:30-18:15
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili
İngilizce
Dersin Seviyesi
Yüksek Lisans
Dersin Türü
Programa Bağlı Seçmeli
Dersin Koordinatörü
Prof.Dr. Reda ALHAJJ
Dersi Verenler
Prof.Dr. Reda ALHAJJ
Dersin Yardımcıları
Dersin Amacı
Hem uygulamalı hem de teorik bilgisayar bilimleri ile ilgili olan hesapsal problemleri çözmek için temel algoritma dizayn tekniklerini ve bu teknikler sonucunda geliştirilen algoritmaların performansını incelemek için kullanılan teknikleri tanıtmak. ALgoritma analizi için matematik bilgisi sıralama, arama, grafik problemleri ve geometrik problemler için kullanılan temel algoritma teknikleri ele alınacaktır.
Dersin İçeriği
Bu ders; Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması ,Asimtotik gösterim ,Böl ve kazan algorithma metotu ,Yinelemelerin çözümü ,Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama. ,Yığın sıralama ,Hızlı Sıralama ,Lineer zamanda sıralama ,Ara Sınava Hazırlık,Ortalama ve sıra istatiği. ,Dinamik Programlama ,Açgözlü(Greedy) Algoritmalar ,Amortize Analiz, Dinamik Tablolar ,Çizgeler, Breadth-first Search (BFS). ; konularını içermektedir.
Dersin Öğrenme Kazanımları
Öğretim Yöntemleri
Ölçme Yöntemleri
Algoritma analizinin ve yeni algoritma dizayn etmenin ana ilkelerini tanımlar
12, 14, 16, 9
A, E
Daha karmaşık algoritmalari daha önce öğrendikleri temel veri yapılarını kullanarak yapılandırır
12, 14, 16, 9
A, E
Ağaçları kullanan karmaşık algoritmaları geliştirebilecek ve bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
Çizge kullanan karmaşık algoritmaları geliştirebilecek ve bu geliştirdiği algoritmaları ve veri yapılarını gerçek dünya problemlerine uygular
10, 12, 14, 17, 9
A, E, F
Kendisine verilen yeni hesapsal probleme sistematik bir şeklide bakarak çözüm için özgün algoritmalar ve veri yapılarıni dinamik programlama, böl ve kazan gibi metotlar kullanarak formüle eder
12, 14, 16, 19, 9
A, E
Öğretim Yöntemleri:
10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 19: Beyin Fırtınası Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:
A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi
Ders Akışı
Sıra
Konular
Ön Hazırlık
1
Algoritma analizine giriş ve ders ile alakalı bilgilerin açıklanması
Ders sunuları ve ders kitabının 1. ve 2. bölümü
2
Asimtotik gösterim
Ders sunuları ve ders kitabının 3. bölümü
3
Böl ve kazan algorithma metotu
Ders sunuları ve ders kitabının 4. bölümü
4
Yinelemelerin çözümü
Ders sunuları ve ders kitabının 4. bölümü
5
Hızlı Sıralamanın analizi, Rastgele Hızlı Sıralama.
Ders sunuları ve ders kitabının 5. bölümü
6
Yığın sıralama
Ders sunuları ve ders kitabının 6. bölümü
7
Hızlı Sıralama
Ders sunuları ve ders kitabının 7. bölümü
8
Lineer zamanda sıralama
Ders sunuları ve ders kitabının 8. bölümü
9
Ara Sınava Hazırlık
7. haftaya kadar olan tüm konular
10
Ortalama ve sıra istatiği.
Ders sunuları ve ders kitabının 9. bölümü
11
Dinamik Programlama
Ders sunuları ve ders kitabının 15. bölümü
12
Açgözlü(Greedy) Algoritmalar
Ders sunuları ve ders kitabının 16. bölümü
13
Amortize Analiz, Dinamik Tablolar
Ders sunuları ve ders kitabının 17. bölümü
14
Çizgeler, Breadth-first Search (BFS).
Ders sunuları ve ders kitabının 22. bölümü
Kaynak
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mit Press and McGraw-Hill, 2009.
Derslerde dağıtılacak olan sunum ve notlar.
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı
No
Program Yeterliliği
Katkı Düzeyi
1
2
3
4
5
1
Mühendislik alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular.
X
2
Mühendislikte uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir ve mühendisliğin ilişki kurduğu disiplinler arası etkileşimi kavrayabilir.
X
3
Analitik, modelleme ve deneysel esaslı araştırmaları tasarlar ve uygular; bu süreçte karşılaşılan karmaşık durumları yorumlar, yeni ve özgün fikirler geliştirerek çözümler.
X
4
Sınırlı ya da eksik verileri kullanarak bilimsel yöntemlerle bilgiyi tamamlar ve uygular; değişik disiplinlere ait bilgileri bütünleştirir.
X
5
Mühendislik ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilir.
6
Çok disiplinli takımlarda liderlik yapar, çözüm yaklaşımları geliştirir ve sorumluluk alır.
X
7
Mesleğinin yeni ve gelişmekte olan uygulamalarının farkındadır; gerektiğinde bunları inceler ve öğrenir.
X
8
Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade eder, en az bir yabancı dilde Avrupa Dil Portföyü B2 Genel Düzeyinde iletişim kurar ve iletişim teknolojilerini ileri düzeyde kullanır.
X
9
Mühendislik uygulamalarının sosyal ve çevresel boyutlarını betimler.
10
Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.