ALGORİTMA ANALİZİ VE TASARIMI |
YZM322 |
6 |
3 |
0 |
5,0 |
Önkoşul(lar)-var ise |
|
Dersin Dili |
|
Dersin Türü |
Lisans |
Dersin sorumlusu(ları) |
|
Dersin Amacı |
Bu dersin amacı öğrencileri algoritma tasarım ve analizinde ileri tekniklerle tanıştırmak ve daha önce kapsanmayan bazı algoritma türleri hakkında bilgi ve beceri kazandırmaktır. |
Dersin Verilme Şekli |
Örgün |
Sıra No |
Dersin Öğrenme Çıktıları |
Öğretim Yöntemleri |
Değerlendirme Yöntemleri |
Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5) |
1 |
To be able to perform average-case analysis of algorithms. |
|
|
|
1 |
Algoritma ortalama değer performans analizi yapabilmek |
Anlatım, Problem Çözme |
Kısa Sınav, Doküman İncelemesi |
1, 2, 3 |
2 |
Rastgeleleştirilmiş algoritma tasarımı yapabilmek |
Anlatım, Örnek Olay |
Kısa Sınav, Performans Ödevi |
1, 2, 3, 9 |
2 |
To design randomized algorithms. |
|
|
|
3 |
To analyze complex algorithms. |
|
|
|
3 |
Karmaşık algoritmları analiz edebilmek |
Anlatım, Problem Çözme |
Sözlü Değerlendirme |
1, 2, 4 |
4 |
Dinamik Algoritma uygulaması yapabilmek |
Anlatım |
Performans Ödevi |
2, 3, 4, 5 |
4 |
To implement dynamic programming algorithms. |
|
|
|
5 |
To implement greedy algorithms. |
|
|
|
5 |
Greedy Algoritma uygulaması yapabilmek |
Anlatım |
Doküman İncelemesi |
2, 3, 5, 8 |
6 |
Çizge algoritmalarının uygulamasını yapabilmek |
Anlatım, Problem Çözme |
Kısa Sınav |
2, 3 |
6 |
To perform graph algorithm implementations. |
|
|
|
7 |
|
|
|
|
7 |
|
|
|
|
8 |
|
|
|
|
8 |
|
|
|
|
9 |
|
|
|
|
9 |
|
|
|
|
10 |
|
|
|
|
10 |
|
|
|
|
11 |
|
|
|
|
11 |
|
|
|
|
12 |
|
|
|
|
12 |
|
|
|
|
13 |
|
|
|
|
13 |
|
|
|
|
14 |
|
|
|
|
14 |
|
|
|
|
15 |
|
|
|
|
15 |
|
|
|
|
|
Dersin İçeriği |
İleri düzey algoritma tasarlanma ve analiz yöntemlerini incelemek, karmaşık problemlerin bilgisayarda çözümüne yönelik yöntemleri incelemek ve uygulamalar yapmak. |
Kaynaklar |
1. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2001). Introduction To Algorithms (Üçüncü Baskı). The MIT Press. |
Haftalara Göre İşlenecek Konular |
Haftalar |
Konular |
Dokümanlar |
1 . Hafta |
Olasılık analizi |
|
1 . Hafta |
Probability analysis |
|
2 . Hafta |
Recursion |
|
2 . Hafta |
Recursion |
|
3 . Hafta |
Sıralama Algoritmaları |
|
3 . Hafta |
Sorting Algorithms |
|
4 . Hafta |
Algorithm Complexity (Big O Notation) |
|
4 . Hafta |
Algoritma Karmaşıklığı (Big O Notasyonu) |
|
5 . Hafta |
Medians and Order Statistics, Median of Medians Algorithm |
|
5 . Hafta |
Medians and Order Statistics, Median of Medians Algorithm |
|
6 . Hafta |
Improving Data Structures |
|
6 . Hafta |
Veri yapılarını geliştirmek |
|
7 . Hafta |
Skip Liste |
|
7 . Hafta |
Skip List |
|
8 . Hafta |
Midterm Exam |
|
8 . Hafta |
Ara Sınav |
|
9 . Hafta |
Amortisman Analizi |
|
9 . Hafta |
Amortized Analysis |
|
10 . Hafta |
NP Problems |
|
10 . Hafta |
NP Problemler |
|
11 . Hafta |
Dinamik Algoritma |
|
11 . Hafta |
Dynamic Programming |
|
12 . Hafta |
Greedy Algorithms |
|
12 . Hafta |
Greedy Algoritma |
|
13 . Hafta |
Çizge Algoritmaları: Minimum-Spanning Trees |
|
13 . Hafta |
Graph Algorithms: Minimum Spanning Trees |
|
14 . Hafta |
Shortest Path Algorithms |
|
14 . Hafta |
En Kısa Yol Algoritmaları |
|
15 . Hafta |
Karakter Dizisi Algoritmaları |
|
15 . Hafta |
String Algorithms |
|
16 . Hafta |
Dönem Sonu Sınavı |
|
|
Değerlendirme Sistemi |
Yarıyıl içi çalışmaları |
Sayısı |
Katkı Payı (%) |
Sınav |
1 |
30 |
Doküman İncelemesi |
0 |
0 |
Performans Ödevi |
0 |
0 |
Sözlü Değerlendirme |
0 |
0 |
Sınav |
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
1 |
50 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
14 |
20 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
|
0 |
0 |
Toplam |
100 |
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
4 |
30 |
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1 |
0 |
Toplam |
100 |
|
AKTS (Öğrenci İş Yükü) Tablosu |
Etkinlikler |
Sayısı |
Süresi |
Toplam İş Yükü |
Ders süresi (sınav haftası dahil: 16xders saati) |
0 |
2 |
0 |
Sınıf Dışı Ders Calışma Süresi (Ön çalışma, pekiştirme) |
0 |
3 |
0 |
Ara Sınav |
0 |
12 |
0 |
Dönem sonu sınavı |
1 |
2 |
2 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
1 |
2 |
2 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
4 |
5 |
20 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
0 |
|
14 |
3 |
42 |
|
1 |
10 |
10 |
|
1 |
10 |
10 |
|
14 |
3 |
42 |
|
0 |
0 |
0 |
Toplam İş Yükü |
128 |
|
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi |
Sıra No |
Program Yeterlilikleri |
Katkı Düzeyi* |
1 |
2 |
3 |
4 |
5 |
15 |
As an aware individual of current and historical events, critically interprets events and makes rational deductions. |
X |
|
|
|
|
1 |
Possesses a fundamental understanding of applied and conceptual knowledge in the field of software engineering. |
|
|
X |
|
|
2 |
Utilizes the theoretical and applied knowledge from mathematics, natural sciences, and software engineering in solving engineering problems. |
|
|
|
|
X |
3 |
Identifies current engineering problems in various application domains and provides feasible recommendations for solving these problems using software systems. |
|
|
|
|
X |
4 |
Performs analyses of software-based systems, components, and processes required for problem-solving, and creates the best designs that can meet the identified requirements and constraints. |
|
X |
|
|
|
5 |
Selects and applies modern methods and tools necessary for engineering applications. |
|
X |
|
|
|
6 |
Collects and processes the necessary data for problem-solving, designs experiments, conducts experiments, and interprets the results. |
X |
|
|
|
|
7 |
Is familiar with the management processes of engineering projects, selects and applies the most suitable project management tools and project life cycle for the project. |
X |
|
|
|
|
8 |
Codes, tests, operates, and maintains computer-based systems. |
X |
|
|
|
|
9 |
Actively collaborates within disciplinary or interdisciplinary research and software development teams, either individually or as part of a team. |
X |
|
|
|
|
10 |
Keeps track of current developments in software engineering and other relevant fields, with a conscious awareness of the necessity for continuous professional development. |
X |
|
|
|
|
11 |
Proficiently and effectively utilizes both Turkish and English languages for the purpose of tracking scientific and technical resources, presenting projects, and writing academic publications. |
X |
|
|
|
|
12 |
Is aware of the legal consequences of information technology applications and the individual, corporate, societal, and global impacts in both ethical and universal dimensions. |
X |
|
|
|
|
13 |
Acts with professional and ethical responsibility in the development of software and systems. |
X |
|
|
|
|
14 |
Designs and develops software systems using analytical thinking skills, aiming to facilitate human life or enhance comfort. |
X |
|
|
|
|
|