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 |
|
|
|
|
|