© 2009

Elements of Computation Theory


Part of the Texts in Computer Science book series (TCS)

Table of contents

  1. Front Matter
    Pages i-xiii
  2. Pages 31-67
  3. Pages 69-92
  4. Pages 125-158
  5. Pages 159-199
  6. Pages 281-326
  7. Pages 327-383
  8. Back Matter
    Pages 385-422

About this book


As Computer Science progressively matures as an established discipline, it becomes increasingly important to revisit its theoretical foundations, learn the appropriate techniques for answering theory-based questions, and build one’s confidence in implementing this knowledge when building computer applications. Students well-grounded in theory and abstract models of computation can excel in computing’s many application arenas.

Through a deft interplay of rigor and intuitive motivation, Elements of Computation Theory comprehensively, yet flexibly provides students with the grounding they need in computation theory. The book is self-contained and introduces the fundamental concepts, models, techniques, and results that form the basic paradigms of computing. Readers will benefit from the discussion of the ideas and mathematics that computer scientists use to model, to debate, and to predict the behavior of algorithms and computation. Previous learning about set theory and proof by induction are helpful prerequisites.

Topics and features:

• Contains an extensive use of definitions, proofs, exercises, problems, and other pedagogical aids

• Supplies a summary, bibliographical remarks, and additional (progressively challenging) problems in each chapter, as well as an appendix containing hints and answers to selected problems

• Reviews mathematical preliminaries such as set theory, relations, graphs, trees, functions, cardinality, Cantor’s diagonalization, induction, and the pigeon-hole principle

• Explores regular languages, covering the mechanisms for representing languages, the closure properties of such languages, the existence of other languages, and other structural properties

• Investigates the class of context-free languages, including context-free grammars, Pushdown automata, their equivalence, closure properties, and existence of non-context-free languages

• Discusses the true nature of general algorithms, introducing unrestricted grammars, Turing machines, and their equivalence

• Examines which tasks can be achieved by algorithms and which tasks can’t, covering issues of decision problems in regular languages, context-free languages, and computably enumerable languages

• Provides a concise account of both space and time complexity, explaining the main techniques of log space reduction, polynomial time reduction, and simulations

• Promotes students' confidence via interactive learning and motivational, yet informal dialogue

• Emphasizes intuitive aspects and their realization with rigorous formalization

Undergraduate students of computer science, engineering, and mathematics will find this core textbook ideally suited for courses on the theory of computation, automata theory, formal languages, and computational models. Computing professionals and other scientists will also benefit from the work’s accessibility, plethora of learning aids, and motivated exposition.

Dr. Arindama Singh is a professor at the Department of Mathematics of the Indian Institute of Technology Madras and has authored books on logic for computer science.


Algorithms Computability Computation Formal Languages Text automata complexity formal language

Authors and affiliations

  1. 1.Department of MathematicsIndian Institute of Technology MadrasChennaiIndia

Bibliographic information


From the reviews:

"This undergraduate textbook is designed for a course on the foundations of computer science (CS). … The book is divided into ten chapters, and each chapter is divided into several sections. … Overall, I recommend this book to instructors and students who are … looking for a clear, concise, and well-written introduction to the foundations of CS." (Burkhard Englert, ACM Computing Reviews, October, 2009)

“This book gathers the essential parts of computability theory that typically comprise undergraduate-level courses. … presents computability theory, which answers fundamental questions about problems that can be solved algorithmically and problems that are unsolvable. … covers formal language theory (Chomsky hierarchy), from language, grammar, and machine perspectives. … The text was written with the undergraduate in mind, and is appropriate for both computability theory and formal language theory courses. … The writing style is rather pleasant, and I recommend it to students in the field.” (R. Goldberg, ACM Computing Reviews, January, 2010)

“Intended as an introduction to the theory of computation mainly for students of computer science, engineering and mathematics. It is planned as a one-semester course for undergraduate students. … The chapters contain plenty of examples, exercises, and bibliographic remarks. Many examples are thoroughly studied, and some of the exercises are challenging. … The book is well written … . At the end of the book there are answers and hints to selected problems, and a list of references.” (Tero J. Harju, Zentralblatt MATH, Vol. 1182, 2010)

“Singh’s book covers the standard sections of finite automata theory and regular languages/grammars/expressions, pushdown automata and context free grammars/languages, Turing machines/type 0 grammars/languages, halting problems, and complexity classes. … Each chapter has more than 100 exercises, enough to quench the thirst of and challenge eager students and instructors.” (Mukkai Krishnamoorthy, SIAM Review, Vol. 52 (4), 2010)