Title Algorithms and Complexity
Lesson Code 321-4200
Semester 4
ECTS 5
Hours (Theory) 3
Hours (Lab) 2
Faculty Kaporis Alexis

Syllabus

Combinatorial optimization problems. Divide-conquer algorithms. FFT. Dynamic programming. Greedy algorithms. Graph algorithms. 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.

Prerequisite Courses

Not required.

Basic Textbooks

1. Algorithm Design, Jon Kleinberg, Eva Tardos.
2. Algorithms, Sanjou Dasgupta, Christos Papadimitriou, Umesh Vazirani.
3. Introduction to Algorithms by Cormen , Leiserson, Rivest and Stein.

Additional References

Algorithmica, Springer

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)

Student Performance Evaluation

Lectures with slides. 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.

Language of Instruction and Examinations

Greek, English (for Erasmus students)

Delivery Mode

Live in classroom. Also online video lectures.