A Concise Introduction to Languages and Machines
This easy-to-follow text provides an accessible introduction to the key topics of formal languages and abstract machines within Computer Science. The author follows the successful formula of his first book on this subject, this time making these core computing topics more fundamental and providing an excellent foundation for undergraduates.
The book is divided into two parts, Languages and Machines and Machines and Computation. The first part is concerned with formal language theory, as it applies to Computer Science, whereas Part 2 considers the computational properties of the machines in more detail. This text is deliberately non-mathematical and, wherever possible, links theory to practical considerations, in particular the implications for programming, computation and problem solving. Written in an informal style, this textbook assumes only a basic knowledge of programming on the part of the reader.
• Clear explanations of formal notation and jargon
• Extensive use of examples to illustrate algorithms and proofs
• Pictorial representations of key concepts
• Chapter-opening overviews providing an introduction and guidance to each topic
• An introductory chapter supplies the reader with a solid overview
• End-of-chapter exercises and solutions
This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on courses covering formal languages, computability, automata theory and computational linguistics. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.