From the reviews:
This work could certainly serve as a text for an undergraduate computer science course, and it might also be considered for presenting these essential modern ideas to students in other majors. ... well-thought-out diagrams highlight important concepts and help elucidate proofs. An ideal text for a one-term course introducing computation theory to either majors or nonmajors; also appropriate for undergraduate self-study. Summing Up: Highly recommended. Upper-division undergraduates through professionals. (P. Cull, Choice, Vol. 49 (3), November, 2011)
The author walks a delicate path between presenting the breadth of topics and exploring all the depths of the theory, between writing a comprehensive (encyclopedic) textbook and providing a concise overview of the essential topics. ... a concise introduction to the theory of computation, concentrating on the fundamental results that have the greatest impact on the theory and its practical applications. ... very appropriate for graduate students in computer science or those academics who want a refresher course on the main results of the discipline. (R. Goldberg, ACM Computing Reviews, March, 2012)
Part I: The Theory of Computation
Everything Begins With Computation
Preliminaries to the Theory of Computation
Part II: Automata and Languages
Finite Automata
Context-Free Languages
Pushdown Automaton
Part III: Computability
Turing Machine
Universality of Turing Machine and its Limitation
Part IV: Complexity of Computation
Computational Complexity Based on Turing Machines
Computational Complexity Based on Boolean Circuits
NP-Completeness
Solutions
Concluding Remarks