CS6215 Introduction to Graduate Algorithms

This course is a graduate-level course in the design and analysis of algorithms. We study techniques for the design of algorithms (such as dynamic programming) and algorithms for fundamental problems (such as fast Fourier transform FFT). In addition, we study computational intractability, specifically, the theory of NP-completeness. The main topics covered in the course include: dynamic programming; divide and conquer, including FFT; randomized algorithms, including RSA cryptosystem;  graph algorithms; max-flow algorithms; linear programming; and NP-completeness.

This was a nice course in algorithms, however given my Maths background it had a lot of repeated knowledge. However, it was good to do it from a more algorithmic point of view.

Lectures