Description

This introductory text covers the key areas of computer science, including recursive function theory, formal languages, and automata. It assumes a minimal background in formal mathematics. The book is divided into five parts: Computability, Grammars and Automata, Logic, Complexity, and Unsolvability.

Key Features

* Computability theory is introduced in a manner that makes maximum use of previous programming experience, including a "universal" program that takes up less than a page.
* The number of exercises included has more than tripled.
* Automata theory, computational logic, and complexity theory are presented in a flexible manner, and can be covered in a variety of different arrangements.

Readership

Junior, senior, and graduate level students in Computability, Complexity, and Languages or Introduction to Theoretical Computer Science courses.

Table of Contents

Preliminaries. Computability: Programs and Computable Functions. Primitive Recursive Functions. A Universal Program. Calculations on Strings. Turing Machines. Processes and Grammars. Classifying Unsolvable Problems. Grammars and Automata: Regular Languages. Context-Free Languages. Context-Sensitive Languages. Logic: Propositional Calculus. Quantification Theory. Complexity: Abstract Complexity. Polynomial–Time Computability. Semantics: Approximation Orderings. Denotational Semantics of Recursion Equations. Operational Semantics of Recursion Equations. Suggestions for Further Reading. Subject Index.

Details

No. of pages:
609
Language:
English
Copyright:
© 1994
Published:
Imprint:
Morgan Kaufmann
Print ISBN:
9780122063824
Electronic ISBN:
9780080502465

About the editors

Martin Davis

Born in New York City in 1928, Martin Davis was a student of Emil L. Post at City College and his doctorate at Princeton in 1950 was under the supervision of Alonzo Church. Davis's book Computability and Unsolvability (1958) has been called "one of the few real classics in computer science." He is best known for his pioneering work in automated deduction and for his contributions to the solution of Hilbert's tenth problem. For this latter work he was awarded the Chauvenet and Lester R. Ford Prizes by the Mathematical Association of America and the Leroy P. Steele Prize by the American Mathematical Society. In 1983 he was a Guggenheim Foundation Fellow and in 2005 he received the Herbrand Prize from the Conference on Automated Deduction. His books have been translated into a number of languages including Russian and Japanese. Davis has been on the faculty of the Courant Institute of Mathematical Sciences of New York University since 1965, was one of the charter members of the Computer Science Department founded in 1969, and is now Professor Emeritus. He is currently a Visiting Scholar at the University of California, Berkeley.

Ron Sigal

Ron Sigal is an independently employed software developer who has held positions at Yale University, Lafayette College, Hofstra University, and the University of Catania in Italy. He has a PhD in computer science and has published in the areas of mathematical logic, robotics, and programming languages.

Elaine Weyuker

Elaine Weyuker is a researcher at AT&T Labs who specializes in empirical software engineering and testing research. She is a member of the National Academy of Engineering, an IEEE Fellow, an ACM Fellow, and an AT&T Fellow. She is the co-chair of the ACM Committee on Women in Computing (ACM-W) and a member of the Coalition to Diversify Computing's steering committee. She was the 2004 recipient of the Harlan D. Mills Award, the Rutgers University 50th Anniversary Outstanding Alumni Award, and the AT&T Chairman's Diversity Award. Before moving to AT&T, she was a computer science professor at the Courant Institute of Mathematical Sciences of NYU.

Reviews

"If there is a single book on the theory of computing that should be in every college library collection, this is it. Although written as a text for an advanced undergraduate course in theoretical computer science, the book may serve as an introductory resource, or the foundation for independent study, in many areas of theoretical computing: grammars, automata theory, computability, complexity theory, and unsolvability. The beauty of this book is that the breadth of coverage is complemented with extraordinary depth." —CHOICE

"Theoretical computer science is often viewed as a collection of disparate topics, including computability theory, formal language theory, complexity theory, logic, and so on. This well-written book attempts to unify the subject by introducing each of these topics in turn, then showing how they relate to each other... This is an excellent book that succeeds in tying together a number of areas in theoretical computer science." —COMPUTING REVIEWS