MATH 320 Algorithm Design
An advanced course in algorithm design and analysis. Topics include the divide-and-conquer paradigm, dynamic programming, graph traversal, path search, and greedy algorithms. Students are taught how to analyze and classify the computational complexity of an algorithm. Complexity classes (P versus NP) and asymptotic analysis (big O notation) are addressed.