Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Algorıthm Analysıs and Desıgn SWE 306 6 3 + 0 3 5
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Doç.Dr. DEVRİM AKGÜN
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

This course aims to teach techniques for designing algorithms and analyzing the time and space efficiency of algorithms. The algorithm design techniques include divide-and-conquer, greedy, dynamic, randomized, and parallel algorithms. The algorithm analysis includes computational models, NP-completeness.

Dersin İçeriği

Fundamentals of the analysis of algorithm efficiency,  rates of growth, brute force algorithms, divide and conquer algorithms, decrease and conquer algorithms, transform and conquer algorithms, dynamic programming, greedy algorithms, network flow, parallel algorithms and analysis, parallel searching and sorting, p and np problems, np-complete problems

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Apply design principles and concepts to algorithm design Problem Solving, Lecture, Homework,
2 Understand different algorithmic design methods Lecture, Problem Solving, Homework,
3 Analyze algorithms using time and space complexity methods Lecture, Problem Solving,
Hafta Ders Konuları Ön Hazırlık
1 Fundamentals of the Analysis of Algorithm Efficiency
2 Rates of Growth
3 Brute force algorithms
4 Divide and conquer algorithms
5 Decrease and conquer algorithms
6 Transform and conquer algorithms
7 Dynamic programming
8 Greedy algorithms
9 Network Flow
10 Parallel algorithms and analysis
11 Parallel searching and sorting
12 P and NP Problems
13 NP-Complete Problems
14 Presentations
Kaynaklar
Ders Notu
Ders Kaynakları

An Introduction to the Analysis of Algorithms by Sedgwick and Flajolet (Addison-Wesley, 2014)

Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (MIT Press, 2010)

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 To have sufficient foundations on engineering subjects such as science and discrete mathematics, probability/statistics; an ability to use theoretical and applied knowledge of these subjects together for engineering solutions.
2 An ability to determine, describe, formulate and solve engineering problems; for this purpose, an ability to select and apply proper analytic and modeling methods,al background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations.
3 An ability to select and use modern techniques and tools for engineering applications; an ability to use information technologies efficiently.
4 An ability to analyze a system, a component or a process and design a system under real limits to meet desired needs; in this direction, an ability to apply modern design methods.
5 An ability to design, conduct experiment, collect data, analyze and comment on the results and consciousness of becoming a volunteer on research.
6 Understanding, awareness of administration, control, development and security/reliability issues about information technologies.
7 An ability to work efficiently in multidisciplinary teams, self confidence to take responsibility.
8 An ability to present himself/herself or a problem with oral/written techniques and have efficient communication skills; know at least one extra language.
9 An awareness about importance of lifelong learning; an ability to update his/her knowledge continuously by means of following advances in science and technology.
10 Understanding, practicing of professional and ethical responsibilities, an ability to disseminate this responsibility on society.
11 An understanding of project management, workplace applications, health issues of laborers, environment and job safety; an awareness about legal consequences of engineering applications.
12 An understanding universal and local effects of engineering solutions; awareness of entrepreneurial and innovation and to have knowledge about contemporary problems.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
Toplam 0
Toplam 0
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Assignment 2 10 20
Project / Design 1 15 15
Mid-terms 1 15 15
Final examination 1 20 20
Course Duration (Including the exam week: 16x Total course hours) 16 3 48
Toplam İş Yükü 118
Toplam İş Yükü / 25 (Saat) 4,72
Dersin AKTS Kredisi 5