Suggested books for background reading ========================================= 1. Algorithms: Title: Introduction to Algorithms Authors: Cormen, Leiserson, Rivest, and Stein 2. Complexity Theory: Title: Computational Complexity Author: Christos Papadimitriou 3. Mathematical Logic: Title: Logic in Computer Science Authors: Huth and Ryan (see main course webpage) 4. Formal Languages and Automata Theory: Title: Introduction to Automata and Language Theory Authors: J.E. Hopcroft, R. Motwani, and J.D. Ullman