Faculty of Engineering and Natural Sciences · Software Engineering (English 30%) · Undergraduate
Course Objective
The aim of this course is to provide students with fundamental knowledge and skills in designing algorithms, evaluating their accuracy, and analyzing their efficiency. The course covers key topics such as time and memory complexity, asymptotic notation, search and sort algorithms, recursive algorithms, greedy algorithms, divide and conquer, dynamic programming, and graph algorithms, enabling students to select, compare, and evaluate algorithms suitable for different problems.
Course Content
The concept of algorithms and algorithm analysis, asymptotic representations (Big-O, Θ, Ω), time and space complexity analysis, examination of sorting algorithms and their complexities, search algorithms and best-mean-worst-case analyses, time complexity of binary tree-based algorithms, graph representations and graph-based algorithms (BFS, DFS, shortest path and minimum spanning tree algorithms), greedy algorithm approach and its applications.
Course Learning Outcomes
- It implements graph-based algorithms.
- It describes the greedy algorithm approach.
- It defines the concepts of algorithm and algorithm analysis.
- It calculates the time complexity of algorithms.
- It calculates the domain/space complexity of algorithms.
- It analyzes the time complexity of sorting algorithms.
- It calculates the best, average, and worst-case complexities of search algorithms.
- It calculates the best, average, and worst-case complexities of search algorithms.
Core Area Distribution
Teaching Methods
Assessment & Evaluation
ECTS / Workload
| Activity | Quantity | Duration (h) | Total Workload |
|---|---|---|---|
| Course Duration (Including Exam Week) | 0 | 0 | 0 |
| Out of Class Study Period | 0 | 0 | 0 |
| Midterm | 0 | 0 | 0 |
| Quiz | 0 | 0 | 0 |
| Assignment | 0 | 0 | 0 |
| Practice | 0 | 0 | 0 |
| Final | 0 | 0 | 0 |
Course Schedule
| Week | Subject | Preparation |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | ||
| 16 |


