Algorithms and Complexity
| Course Code | 321-4200 |
|---|---|
| Semester | 4 |
| ECTS | 5.00 |
| Hours (Theory) | 3 |
| Hours (Lab) | 2 |
| Instructor | Kaporis Alexis |
Course Content
Combinatorial optimization problems. Recursive and Divide-conquer algorithms. Dynamic programming. Greedy algorithms. Graph algorithms. Complexity classes P and NP. Minimal spanning trees & algorithms. Maximum flow. Randomized algorithms. Approximation algorithms.
Learning Outcomes
When the student completes the course succesfully:
- She will have the knowledge of the most important algorithms of the theory of computation and the knowledge to experimentally validate their performance.
- She will have the skills to apply techniques of analyzing the time and space complexity of algorithms.
- She will have the capability to to solve problems about time and space complexity of algorithms.
Prerequisites
Not required.
Teaching and Learning Methods
| Activity | Semester workload |
|---|---|
| Lectures | 52 hours |
| Laboratory Exercises | 26 hours |
| Personal study | 43 hours |
| Mid-term Exam | 1 hour |
| Final exams | 3 hours |
| Course total | 125 hours (5 ECTS) |
Assessment Methods / Grading
Lectures with slides and videos. Use of optimization software as maple. The lectures are written in videos to help the understanding. Experimental validation of all algorithms in the lab areas.
Teaching Language
Greek (English for Erasmus students)

