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