In this course, one learns how to design efficient algorithms and becomes familiar with common real-world algorithms. Examples include algorithms for data compression, error correcting codes, common graph algorithms such as shortest paths and network flow, and more. The course also includes algorithm techniques such as divide-and-conquer, greedy algorithms, and dynamic programming.
Apply to this course