378H Algorithms and Complexity: Honor

Undergraduate Program

This course will cover the basic aspects of the theory of algorithms, including divide-and-conquer, dynamic programming and greedy, several graph algorithms, randomized algorithms, and approximation algorithms, together with an introduction to undecidability, and to NP-completeness. 


The following, with a grade of at least C- in each course: CS 313K or 313H, 314 or 314H, 429 or 429H: M408C or 408N: SSC 321 or M 362K: and a pre-req or co-req of M 340L or SSC 329C; and consent of the honors director.