© 2008

A Concise Introduction to Languages and Machines

  • Authors
  • The author follows the successful formula of his first book on this subject, this time making these core computing topics more accessible and providing an excellent foundation for undergraduates

  • Uses an intuitive approach

  • Contains many pedagogical elements, such as exercises, solutions and chapter summaries


Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages i-vii
  2. Languages and Machines

    1. Front Matter
      Pages 1-1
    2. Alan P. Parkes
      Pages 1-8
    3. Alan P. Parkes
      Pages 11-42
    4. Alan P. Parkes
      Pages 43-54
    5. Alan P. Parkes
      Pages 155-186
  3. Machines and Computation

    1. Front Matter
      Pages 1-1
    2. Alan P. Parkes
      Pages 189-207
    3. Alan P. Parkes
      Pages 209-235
    4. Alan P. Parkes
      Pages 291-318
  4. Back Matter
    Pages 319-343

About this book


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.


Algorithms Automat Turing algorithm automata complexity computational linguistics formal language formal logic logic programming semantics

Bibliographic information

Industry Sectors
IT & Software
Consumer Packaged Goods
Finance, Business & Banking
Oil, Gas & Geosciences


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)