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

AddisonWesley, 2005

Randomized Algorithms

Motwani and Raghavan

Cambridge University Press, 1995

The Design and Analysis of Algorithms

Dexter C. Kozen

SpringerVerlag, 1992

The Design and Analysis of Computer Algorithms

A. Aho, J. Hopcroft, J. Ullman

AddisonWesley, 1974

Mathematics
If you are unfamiliar with the mathematics required for this course, a good resource is the Mathematical Foundations of Computer Science class in the CS department and the Discrete Math class in the AMS department 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.