Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
ALGORİTMA TASARIMI BLM322 6 3 0 4,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 kazanması.
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 Sınav, Performans Ödevi 1
2 Rastgeleleştirilmiş algoritma tasarımı yapabilmek Anlatım Sınav, Performans Ödevi 2, 3, 4, 6, 8
2 To design randomized algorithms
3 To analyze complex algorithms
3 Karmaşık algoritmları analiz edebilmek Anlatım Sınav, Performans Ödevi 2, 3, 4, 6, 8
4 Dinamik Algoritma uygulaması yapabilmek Anlatım Sınav, Kısa Sınav 1, 2, 3, 4, 5, 6, 8, 14
4 To implement dynamic programming algorithms
5 To implement greedy algorithms
5 Greedy Algoritma uygulaması yapabilmek Anlatım Sınav, Performans Ödevi 1, 2, 3, 4, 5, 6, 8, 10, 14
6 Çizge algoritmalarının uygulamasını yapabilmek Anlatım Sınav, Performans Ödevi 1, 2, 3, 4, 5, 6, 8, 10, 14
6 To apply graph algorithms
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, Massachusetts Institute of Technology, Cambridge.
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 Algorithma
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ı (%)
Yarıyıl İçi Çalışmaları 1 30
Ara Sınav 0 0
Yarıyıl Sonu 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ı 2 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) 1 2 2
Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, pekiştirme) 0 0 0
Ara Sınav 0 0 0
Yarıyıl Sonu Sınavı 0 0 0
0 0 0
0 0 0
0 0 0
1 2 2
0 0 0
0 0 0
0 0 0
14 1 14
0 0 0
0 0 0
0 0 0
0 0 0
14 3 42
7 2 14
7 2 14
14 2 28
0 0 0
Toplam İş Yükü 116
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 A computer engineer possesses fundamental applied and conceptual knowledge in the field of computer engineering. X
2 They utilize mathematics, natural sciences, and theoretical and applied knowledge in computer engineering to solve engineering problems. X
3 They identify current engineering problems in various application domains and provide feasible recommendations for their solution using computer systems. X
4 They perform analyses of software or hardware-based systems, components, and processes required for problem-solving and create optimal designs that meet specified requirements and constraints. X
5 They select and implement modern methods and tools necessary for engineering applications. X
6 Problemlerin çözümü için gerekli olan veriyi toplar ve işler, deneyler tasarlar, deneyleri gerçekleştirir ve sonuçlarını yorumlar. X
7 Mühendislik projelerinin yönetim süreçlerini bilir, proje için en uygun yönetim araçlarını ve proje yaşam döngüsünü seçer ve uygular. X
8 They code, test, operate, and maintain computer-based systems. X
9 They work effectively in interdisciplinary research and software development teams, both within and outside their own field. X
10 They keep up with current developments in computer engineering and related areas with a consciousness of the necessity of continuous professional development. X
11 They utilize Turkish and English fluently and effectively for tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 They are aware of the legal consequences of information technology applications and the individual, corporate, social, and universal impacts. X
13 Geliştirdiği yazılım ve sistemlerde mesleki ve etik sorumluk bilinciyle hareket eder. X
14 They design and develop computer systems that will facilitate human life or increase comfort with analytical thinking skills. X
15 They possess awareness as an individual who is informed about current and historical events and can interpret them rationally and draw conclusions. X