Part I: Introduction Chapter 0: Preliminaries Chapter 1: Language and Computation Part II: Models Chapter 2: Finite Automata Chapter 3: Regular Expressions Chapter 4: Context-Free Grammars Chapter 5: Pushdown Automata Chapter 6: Turing Machines