Fundamentals of the Theory of Computation: Principles and Practice


Authors | Jim's Homepage | Morgan Kaufmann Publishers | Ray's Homepage | Table of Contents

Introduction:

This innovative textbook presents the key foundational concepts that can be covered in a one semester undergraduate course in the theory of computation. It offers the most accessible and motivational course material available for undergraduate computer theory classes and is directed at the typical undergraduate who may have difficulty understanding the relevance of the course to their future careers. The text helps make students more comfortable with techniques required for the deeper study of computer science.

This text is a bridge between theory and practice. It shows how theory is motivated by practical problems, and in turn how theory influences the practice of computing. Simple tools like string matchers, complex tools like compilers, and general notions like cryptographic security all lie at the interface between principles and practice.

Features:

Authors:

Raymond Greenlaw is a professor and the Department Head in the Department of Computer Science at Armstrong Atlantic State University; he earned his Ph.D. at the University of Washington. H. James Hoover is a professor in the Department of Computing Science at the University of Alberta; he earned his Ph.D. at the University of Toronto. Both are active researchers and together have over 35 years experience in this field. Raymond Greenlaw, H. James Hoover, and Larry Ruzzo are the authors of Limits to Parallel Computation: P-Completeness Theory, Oxford University Press, 1995.

Table of Contents:

Preface
  1. Introduction
  2. Languages and Problems
  3. Regular Expressions and Languages
  4. Machines I - Finite Automata
  5. Properties of Finite-State Languages
  6. Machines II - Stacks and Tapes
  7. Grammars
  8. Computational Complexity
  9. Circuit Complexity
  10. Feasible Problems
  11. Intractable Problems