Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
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 Algoritma ortalama değer performans analizi yapabilmek Anlatım, Problem Çözme Kısa Sınav, Doküman İncelemesi 1, 2, 3
1 To be able to perform average-case analysis of algorithms.
2 To design randomized algorithms.
2 Rastgeleleştirilmiş algoritma tasarımı yapabilmek Anlatım, Örnek Olay Kısa Sınav, Performans Ödevi 1, 2, 3, 9
3 Karmaşık algoritmları analiz edebilmek Anlatım, Problem Çözme Sözlü Değerlendirme 1, 2, 4
3 To analyze complex algorithms.
4 To implement dynamic programming algorithms.
4 Dinamik Algoritma uygulaması yapabilmek Anlatım Performans Ödevi 2, 3, 4, 5
5 Greedy Algoritma uygulaması yapabilmek Anlatım Doküman İncelemesi 2, 3, 5, 8
5 To implement greedy algorithms.
6 To perform graph algorithm implementations.
6 Çizge algoritmalarının uygulamasını yapabilmek Anlatım, Problem Çözme Kısa Sınav 2, 3
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