Instructors: Evanthia Papadopoulou
Academic Programs: Master of Science in Informatics
Workload: 6 ECTS
Algorithms are fundamental to computer science. They are the essence of computer programs lying at the core of any software system. This course covers fundamental techniques for designing computer algorithms, proving their correctness, and analyzing their running times. The contents include greedy algorithms, divide and conquer algorithms, dynamic programming, network flow algorithms, NP completeness and computational intractability, approximation algorithms, and randomized algorithms.