Books

For the most part, lectures will be based on CLRS.

Introduction to Algorithms, Third Edition
T. Cormen, C. Leiserson, R. Rivest, C. Stein
MIT Press, 2009

We will provide lecture notes for the material covered in class not in CLRS, but some of you may want to do some additional reading. Here is a list of some of the more popular texts that you might find helpful. The web is also an excellent source of information. Note, though, that not all sources on the web are completely reliable.

Algorithm Design
Kleinberg and Tardos
Addison-Wesley, 2005

Randomized Algorithms
Motwani and Raghavan
Cambridge University Press, 1995

The Design and Analysis of Algorithms
Dexter C. Kozen
Springer-Verlag, 1992

The Design and Analysis of Computer Algorithms
A. Aho, J. Hopcroft, J. Ullman
Addison-Wesley, 1974

Mathematics

If you are unfamiliar with the mathematics required for this course, a good resource is the Discrete Math course at JHU. If you are not comfortable with mathematical proofs, there is an excellent handout by Michael Hutchings to get you started.

LaTeX

We strongly encourage you to write your homeworks in LaTeX (note that typesetting is required, while use of LaTeX is only recommended). There are many online resources; here are a few that we have found useful.