Title: Introduction to Languages, Machines and Logic
Description: This book provides an accessible introduction to the most important features of formal languages and automata theory - core topics on computer science degree schemes worldwide. It focuses on the key concepts, illustrating potentially intimidating material through diagrams and pictorial representations, and this edition will include new and expanded coverage of topics such as: reduction and simplification of material on Turing machines; complexity and O notation; propositional logic and first order predicate logic. Aimed primarily at computer scientists rather than mathematicians, algorithms and proofs are presented informally through examples, and there are numerous exercises (many with solutions) and an extensive glossary. This book will be invaluable to students of computer science but it will also prove essential reading to all practitioners needing to know about formal methods.