Synopses & Reviews
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. Features: • 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.
Review
From the reviews: "Parkes ... has done an excellent job of explaining all the notations and processes in the beginning of the volume to permit readers to follow his descriptions. ... The well-written text contains numerous diagrams and examples, and each chapter contains a problem set with answers in the back. ... Overall, this is a very good introductory book for undergraduate computer science students. Summing Up: Recommended. Lower-and upper-division undergraduates, graduate students, and two-year technical program students." (H. J. Bender, Choice, Vol. 46 (6), February, 2009) "This book focuses on the key theoretical aspects of computing, in particular formal languages and automata theory. ... The book provides modern approaches for students who plan to choose CS as their first choice. Languages, machines and their properties are well documented by examples and exercises. It is interesting to note that the book provides solutions to exercises which will help students when working on their own. The book is well written and recommended for course adoption." (Prabhat Kumar Mahanti, Zentralblatt MATH, Vol. 1157, 2009) "In this book, Parkes attempts to make the material accessible to a much wider and mathematically less sophisticated audience ... . This book fills a niche for non-computer science majors, first- and second-year majors looking for an enrichment topic, and computer science programs that, for one reason or another, wish to offer the theory course with a minimum of prerequisites." (R. Roos, ACM Computing Reviews, March, 2009) "It's about the theory of formal languages, grammar and abstract machines ... . What is special about this particular text book is that it attempts to introduce the very mathematical ideas of formal grammars and symbolic manipulation in a way that is easy to understand even if you don't know much modern maths. ... If you are looking for a textbook to base a course on, or need a refresher especially if your maths is a little rusty, this is a good choice ... ." (Mike James, I Programmer, July, 2009)
Synopsis
A Concise Introduction to Languages, Machines and Logic provides an accessible introduction to three key topics within computer science: formal languages, abstract machines and formal logic. Written in an easy-to-read, informal style, this textbook assumes only a basic knowledge of programming on the part of the reader. The approach is deliberately non-mathematical, and features: - 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, - End-of-chapter exercises and solutions, - Offers an intuitive approach to the topics. This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on course covering formal languages, formal logic, computability and automata theory. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.
Table of Contents
Introduction.- Part One: Languages and Machines.- Elements of Formal Languages.- Syntax, Semantics and Ambiguity.- Regular Languages and Finite State.- Context Free Languages and Pushdown Recognisers.- Important Features of Regular and Context Free Languages.- Phrase Structure Languages and Turing Machines.- Part Two: Machines and Computation.- Finite State Transducers.- Turing Machines as Computers.- Turing's Thesis and The Universality of the Turing Machine.- Computability, Solvability and the Halting Problem.- Dimensions of Computation.- Further Reading.- Solutions to Selected Exercises.