"This book provides an accessible introduction to three key topics within computer science: formal languages, abstract machines, and formal logic. It assumes only a basic knowledge of programming on the part of the reader and is suitable for use in courses covering formal langua…