The Pillars of Computation Theory
State, Encoding, Nondeterminism
The abstract branch of theoretical computer science known as Computation Theory typically appears in undergraduate academic curricula in a form that obscures both the mathematical concepts that are central to the various components of the theory and the relevance of the theory to the typical student. This regrettable situation is due largely to the thematic tension among three main competing principles for organizing the material in the course.
This book is motivated by the belief that a deep understanding of, and operational control over, the few "big" mathematical ideas that underlie Computation Theory is the best way to enable the typical student to assimilate the "big" ideas of Computation Theory into her daily computational life.
From the reviews:
“Rosenberg (Colorado State) charts another path by teaching the major themes that underlie all of computer science. He identifies three themes, or pillars: ‘state,’ ‘encoding,’ and ‘nondeterminism.’ … This work is helpful for mathematically prepared undergraduates … . Summing Up: Recommended. Upper-division undergraduates, graduate students, researchers, and faculty.” (P. Cull, Choice, Vol. 47 (9), May, 2010)
“The author’s intentions are clear from the very beginning: he wants to change the way computation theory is taught to undergraduates. … The intended audience includes advanced undergraduates and beginning graduate students. … student whose interests run to theoretical computer science, this would be a challenging and attractive book. … For more typical students there are no exercises directly tied to the immediate text and few anywhere that are more routine – the kind of many students need to ground themselves in the subject.” (William J. Satzer, The Mathematical Association of America, March, 2010)
“This authoritative, tightly woven book is unsurpassed as the definitive computation theory text and reference … it has my highest recommendation.” (George Hacken, ACM Computing Reviews, August, 2010)