Analysis of Algorithms

Undergraduate course, Notre Dame University-Louaize, 2020

The course material can be found here. Short description: This is the standard algorithm course where the student is introduced to thedifferent algorithm design paradigms: divide-and-conquer, greedy and dynamic programming. Network flows and applications are covered as well. In addition NP compleness is introduced from the theoretical, e.g. reductions, and practical perspective. Different methods for dealing with NP complete problems such as backtracking, branch and bound and using SAT solvers are covered.