What Can Be Computed?: A Practical Guide to the Theory of Computation

What Can Be Computed?: A Practical Guide to the Theory of Computation
ISBN-10
1400889847
ISBN-13
9781400889846
Category
Computers
Pages
408
Language
English
Published
2018-05-15
Publisher
Princeton University Press
Author
John MacCormick

Description

An accessible and rigorous textbook for introducing undergraduates to computer science theory What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundamentals of computer science theory and features a practical approach that uses real computer programs (Python and Java) and encourages active experimentation. It is also ideal for self-study and reference. The book covers the standard topics in the theory of computation, including Turing machines and finite automata, universal computation, nondeterminism, Turing and Karp reductions, undecidability, time-complexity classes such as P and NP, and NP-completeness, including the Cook-Levin Theorem. But the book also provides a broader view of computer science and its historical development, with discussions of Turing's original 1936 computing machines, the connections between undecidability and Gödel's incompleteness theorem, and Karp's famous set of twenty-one NP-complete problems. Throughout, the book recasts traditional computer science concepts by considering how computer programs are used to solve real problems. Standard theorems are stated and proven with full mathematical rigor, but motivation and understanding are enhanced by considering concrete implementations. The book's examples and other content allow readers to view demonstrations of—and to experiment with—a wide selection of the topics it covers. The result is an ideal text for an introduction to the theory of computation. An accessible and rigorous introduction to the essential fundamentals of computer science theory, written specifically for undergraduates taking introduction to the theory of computation Features a practical, interactive approach using real computer programs (Python in the text, with forthcoming Java alternatives online) to enhance motivation and understanding Gives equal emphasis to computability and complexity Includes special topics that demonstrate the profound nature of key ideas in the theory of computation Lecture slides and Python programs are available at whatcanbecomputed.com

Other editions

Similar books

  • Elements of Computation Theory
    By Arindama Singh

    It has thus become more than a necessity to revisit the foundation, learn the techniques, and apply them with con?dence. Overview and Goals This book is about this solid, beautiful, and pervasive foundation of computer s- ence.

  • Concise Guide to Computation Theory
    By Akira Maruoka

    Topics and features: presents a detailed introduction to the theory of computation, complete with concise explanations of the mathematical prerequisites; provides end-of-chapter problems with solutions, in addition to chapter-opening ...

  • Computational Complexity: A Modern Approach
    By Sanjeev Arora, Boaz Barak

    New and classical results in computational complexity, including interactive proofs, PCP, derandomization, and quantum computation. Ideal for graduate students.

  • Mathematics and Computation: A Theory Revolutionizing Technology and Science
    By Avi Wigderson

    Mathematics and Computation is useful for undergraduate and graduate students in mathematics, computer science, and related fields, as well as researchers and teachers in these fields.

  • The Nature of Computation
    By Cristopher Moore, Stephan Mertens

    This book bridges these gaps by explaining the deep ideas of theoretical computer science in a clear and enjoyable fashion, making them accessible to non-computer scientists and to computer scientists who finally want to appreciate their ...

  • Complexity and Real Computation
    By Lenore Blum, Felipe Cucker, Michael Shub

    DUBOIS, D. (1969). A Nullstellensatz for ordered fields. Ark. Mat. 8, 111–114. EAVES, C. and H. SCARF (1976). The solution of systems of piecewise linear equations. Math of Oper Research 1, 1–27. EBBINGHAUs, H.-D., J. FLUM, ...

  • The Future Computed: Artificial Intelligence and Its Role in Society
    By Microsoft Corporation

    The Future Computed: Artificial Intelligence and Its Role in Society

  • The Feeling of Life Itself: Why Consciousness Is Widespread but Can't Be Computed
    By Christof Koch

    A thought-provoking argument that consciousness—more widespread than previously assumed—is the feeling of being alive, not a type of computation or a clever hack In The Feeling of Life Itself, Christof Koch offers a straightforward ...

  • Information, Physics, and Computation
    By Marc Mezard, Andrea Montanari

    Kschischang, F. R., Frey, B. J., and Loeliger, H.-A. (2001). Factor graphs and the sum–product algorithm. IEEE Trans. Inf. Theory, 47, 498–519. Lauritzen, S. L. (1996). Graphical Models. Oxford University Press, Oxford.

  • Introduction to the Theory of Computation
    By Michael Sipser

    "Intended as an upper-level undergraduate or introductory graduate text in computer science theory," this book lucidly covers the key concepts and theorems of the theory of computation.