|Languages, Machines, and Classical Computation|
Luis M. Augusto
Languages, machines, and classical computation is a new undergraduate course book on the conjoined subjects of Formal Languages and Automata & Computability and Complexity. By new, we mean more than its recent publication:
· It is (more) clearly structured around the Chomsky hierarchy, which acts as its backbone;
· It has an overall algorithmic approach, with many central algorithms thoroughly and clearly described in a step-by-step manner;
· No programming language or software plays any role whatsoever in it, guaranteeing thus the (mathematical) generality of the diverse contents;
· It is to some extent a return to the original textbook approaches of the late 1970’s / early 1980’s, now often—wrongly—seen as too hard for an undergraduate audience; and,
· Last but not least, it takes into consideration the fact, largely or wholly ignored by other course books on the aforementioned subjects, that to speak of computation today turns out to be an extremely equivocal business, as many other forms of computation have developed outside what we can call the Turing-von Neumann paradigm.
A vast selection of exercises is a crucial component to this course book, with exercises ranging from simple tasks to research projects and explorations of creative skills.
All the mathematical topics necessary to the satisfactory grasping of the contents discussed are provided in an introductory chapter, making of this a largely self-contained course book.
The present second edition corrects addenda and errata, has both improved and new figures, an additional algorithm, and redesigned exercises.
4 February 2019, May 2020