#  CS 125: Algorithms and Complexity (Fall 2014) 

 



 Previously taught in Fall 2014; last course offering in Fall 2016.

 **Course Description**  
An accelerated introduction to theoretical computer science for students with strong mathematical preparation, to be taken in place of both Computer Science 121 and 124. Algorithm design methods, including graph algorithms, approximation algorithms, and randomized algorithms. Models of computation, computability theory, and computational complexity, including the P vs. NP question.

 **Fall 2016 Offering (Prof. [Jelani Nelson](http://people.seas.harvard.edu/~minilek))**

- [Syllabus](http://people.seas.harvard.edu/~cs125/fall16/syllabus.htm)
- [Schedule and Lecture Notes](http://people.seas.harvard.edu/~cs125/fall16/schedule.htm)
- [Additional Links for Recommended Reading](http://people.seas.harvard.edu/~cs125/fall16/addition.htm)

 **Fall 2015 Offering (Profs. [Michael Mitzenmacher](http://www.eecs.harvard.edu/~michaelm/) and [Madhu Sudan](http://www.seas.harvard.edu/directory/madhusudan))**

- [Syllabus](http://people.seas.harvard.edu/~cs125/fall15/syllabus.htm)
- [Schedule and Lecture Notes](http://people.seas.harvard.edu/~cs125/fall15/schedule.htm) (assignments available by request)
- [Additional Links for Recommended Reading](http://people.seas.harvard.edu/~cs125/fall15/addition.htm)

 Note: for now, please email assignments to cs125harvard, but not at SEAS, instead at gmail.com.

 **Fall 2014 Offering (Profs. [Michael Mitzenmacher](http://www.eecs.harvard.edu/~michaelm/) and [Salil Vadhan](http://seas.harvard.edu/~salil))**

- [Syllabus](http://people.seas.harvard.edu/~cs125/fall14/syllabus.htm)
- [Schedule and Lecture Notes](http://people.seas.harvard.edu/~cs125/fall14/schedule.htm) (assignments available by request)