1 INTRODUCTION TO THE THEORY OF COMPUTATION
2 FINITE AUTOMATA
3 REGULAR LANGUAGES AND REGULAR GRAMMARS
4 PROPERTIES OF REGULAR LANGUAGES
5 CONTEXT-FREE LANGUAGES
6 SIMPLIFICATION OF CONTEXT-FREE GRAMMARS AND NORMAL FORMS
7 PUSHDOWN AUTOMATA
8 PROPERTIES OF CONTEXT-FREE LANGUAGES
9 TURING MACHINES
10 OTHER MODELS OF TURING MACHINES
11 A HIERARCHY OF FORMAL LANGUAGES AND AUTOMATA
12 LIMITS OF ALGORITHMIC COMPUTATION
13 OTHER MODELS OF COMPUTATION
14 AN OVERVIEW OF COMPUTATIONAL COMPLEXITY
APPENDIX A: FINITE-STATE TRANSDUCERS
APPENDIX B: JFLAP: A USEFUL TOOL
ANSWERS SOLUTIONS AND HINTS FOR SELECTED EXERCISES