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

Author:   John MacCormick
Publisher:   Princeton University Press
ISBN:  

9780691170664


Pages:   408
Publication Date:   01 May 2018
Format:   Hardback
Availability:   Temporarily unavailable   Availability explained
The supplier advises that this item is temporarily unavailable. It will be ordered for you and placed on backorder. Once it does come back in stock, we will ship it out to you.

Our Price $155.00 Quantity:  
Add to Cart

Share |

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


Add your own review!

Overview

An accessible and rigorous textbook for introducing undergraduates to computer science theoryWhat 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 Goedel'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 computationFeatures a practical, interactive approach using real computer programs (Python in the text, with forthcoming Java alternatives online) to enhance motivation and understandingGives equal emphasis to computability and complexityIncludes special topics that demonstrate the profound nature of key ideas in the theory of computationLecture slides and Python programs are available at whatcanbecomputed.com

Full Product Details

Author:   John MacCormick
Publisher:   Princeton University Press
Imprint:   Princeton University Press
ISBN:  

9780691170664


ISBN 10:   0691170665
Pages:   408
Publication Date:   01 May 2018
Audience:   College/higher education ,  Professional and scholarly ,  General/trade ,  Tertiary & Higher Education ,  Professional & Vocational
Format:   Hardback
Publisher's Status:   Active
Availability:   Temporarily unavailable   Availability explained
The supplier advises that this item is temporarily unavailable. It will be ordered for you and placed on backorder. Once it does come back in stock, we will ship it out to you.
Language:   English

Table of Contents

Reviews

I would love to adopt this text for my introduction to theory of computation course. The level and coverage is perfect for undergraduates. The text hits the sweet spot by carefully presenting the ideas without an overwhelming level of mathematical sophistication. I want my students to come away from the course with the big ideas rather than struggling through mathematical notation and formal proofs, and this text does exactly that. I love that the main computational model is Python, and I think this makes the content more real for students. --Jill Zimmerman, Goucher College This wonderful book explores the theory of computing from a practical viewpoint. John MacCormick covers the basic concepts of computability and complexity, what we can and cannot compute--keeping the material grounded by connecting it with Python--the popular programming language. --Lance Fortnow, author of The Golden Ticket: P, NP, and the Search for the Impossible What Can Be Computed? should succeed brilliantly in capturing the imagination of students. Using Python as a model of computation, MacCormick is able to introduce the greatest ideas in computer science theory as quickly and intuitively as possible. On the other hand, no rigor is ever lost. Over and over, he finds ways to take very complex concepts and boil them down to small and concrete components. Core concepts are presented in a beautiful and accessible way. --Matt Franklin, University of California, Davis This well-designed, well-written, and accessible book assumes minimal prerequisites, explains the intuition behind its proofs, and has the unique feature of using Python as a computational model, which makes the presentation practical. I especially like its inclusion of historical content. --Jianfeng Lu, Duke University


What Can Be Computed? should succeed brilliantly in capturing the imagination of students. Using Python as a model of computation, MacCormick is able to introduce the greatest ideas in computer science theory as quickly and intuitively as possible. On the other hand, no rigor is ever lost. Over and over, he finds ways to take very complex concepts and boil them down to small and concrete components. Core concepts are presented in a beautiful and accessible way. -Matt Franklin, University of California, Davis I would love to adopt this text for my introduction to theory of computation course. The level and coverage is perfect for undergraduates. The text hits the sweet spot by carefully presenting the ideas without an overwhelming level of mathematical sophistication. I want my students to come away from the course with the big ideas rather than struggling through mathematical notation and formal proofs, and this text does exactly that. I love that the main computational model is Python, and I think this makes the content more real for students. -Jill Zimmerman, Goucher College This well-designed, well-written, and accessible book assumes minimal prerequisites, explains the intuition behind its proofs, and has the unique feature of using Python as a computational model, which makes the presentation practical. I especially like its inclusion of historical content. -Jianfeng Lu, Duke University This wonderful book explores the theory of computing from a practical viewpoint. John MacCormick covers the basic concepts of computability and complexity, what we can and cannot compute-keeping the material grounded by connecting it with Python-the popular programming language. -Lance Fortnow, author of The Golden Ticket: P, NP, and the Search for the Impossible


What Can Be Computed? should succeed brilliantly in capturing the imagination of students. Using Python as a model of computation, MacCormick is able to introduce the greatest ideas in computer science theory as quickly and intuitively as possible. On the other hand, no rigor is ever lost. Over and over, he finds ways to take very complex concepts and boil them down to small and concrete components. Core concepts are presented in a beautiful and accessible way. --Matt Franklin, University of California, Davis I would love to adopt this text for my introduction to theory of computation course. The level and coverage is perfect for undergraduates. The text hits the sweet spot by carefully presenting the ideas without an overwhelming level of mathematical sophistication. I want my students to come away from the course with the big ideas rather than struggling through mathematical notation and formal proofs, and this text does exactly that. I love that the main computational model is Python, and I think this makes the content more real for students. --Jill Zimmerman, Goucher College This well-designed, well-written, and accessible book assumes minimal prerequisites, explains the intuition behind its proofs, and has the unique feature of using Python as a computational model, which makes the presentation practical. I especially like its inclusion of historical content. --Jianfeng Lu, Duke University This wonderful book explores the theory of computing from a practical viewpoint. John MacCormick covers the basic concepts of computability and complexity, what we can and cannot compute--keeping the material grounded by connecting it with Python--the popular programming language. --Lance Fortnow, author of The Golden Ticket: P, NP, and the Search for the Impossible


Author Information

John MacCormick is associate professor of computer science at Dickinson College and a leading teacher, researcher, and writer in his field. He has a PhD in computer vision from the University of Oxford and has worked in the research labs of Hewlett-Packard and Microsoft. His previous books include Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers (Princeton). Erik Demaine and Martin Demaine created the curved crease sculpture featured on the cover of What Can Be Computed? Cover photo courtesy of the artists.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List