'First courses in automata theory are now essential for both mathematicians and computer scientists, and there are some fine books from which one can learn the basics. But the question is: what next? … There is … a niche for second courses on automata theory that point the way to future study in the field without bludgeoning the reader under the weight of pages. At a shade under 250 pages Jeffrey Shallit's book is just such a second course. … The writing is crisp and no nonsense … Shallit has written a mathematically rigorous book that has avoided the pitfall of being unduly fussy.' SIAM Review
This graduate textbook covers topics in the theory of computation not usually covered in a first course. It explains combinatorics on words, regular languages, context-free languages, parsing and recognition, Turing machines, and other language classes, repetitions in words, state complexity, the interchange lemma, 2DPDAs, and more.