What can be computed? : a practical guide to the theory of computation / John MacCormick.

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 fundam...

Full description

Bibliographic Details
Main Author: MacCormick, John, 1972- (Author)
Language:English
Published: Princeton, New Jersey : Princeton University Press, [2018]
Subjects:
Genre:
Physical Description:xix, 383 pages ; 27 cm
Format: Book

MARC

LEADER 00000cam a2200000Ii 4500
001 in00005948572
003 OCoLC
005 20220616035019.0
008 170928s2018 njua b 001 0 eng d
015 |a GBB889640  |2 bnb 
016 7 |a 018869193  |2 Uk 
020 |a 9780691170664  |q (hardcover) 
020 |a 0691170665  |q (hardcover) 
035 |a (OCoLC)1004947315 
040 |a YDX  |b eng  |e rda  |c YDX  |d TOH  |d YDX  |d OCLCF  |d HTM  |d TXI  |d COO  |d WLU  |d BCM  |d I8M  |d VVB  |d UKMGB  |d DKC  |d BUB  |d OCLCQ  |d CN3HA  |d EEM  |d UtOrBLW 
049 |a EEMR 
050 4 |a QA76  |b .M33 2018 
082 0 4 |a 004  |2 23 
100 1 |a MacCormick, John,  |d 1972-  |e author.  |0 http://id.loc.gov/authorities/names/n2002010506 
245 1 0 |a What can be computed? :  |b a practical guide to the theory of computation /  |c John MacCormick. 
264 1 |a Princeton, New Jersey :  |b Princeton University Press,  |c [2018] 
300 |a xix, 383 pages ;  |c 27 cm 
336 |a text  |b txt  |2 rdacontent 
337 |a unmediated  |b n  |2 rdamedia 
338 |a volume  |b nc  |2 rdacarrier 
504 |a Includes bibliographical references (pages 373-374) and index. 
505 8 |a Introduction: what can and cannot be computed? -- What is a computer program? -- Some impossible Python programs -- What is a computational problem? -- Turing machines: the simplest computers -- Universal computer programs: programs that can do anything -- Reductions: how to prove a problem is hard -- Nondeterminism: magic or reality? -- Finite automata: computing with limited resources -- Complexity theory: when efficiency does matter -- Poly and Expo: the two most fundamental complexity classes -- PolyCheck and NPoly: hard problems that are easy to verify -- Polynomial-time mapping reductions: proving x is as easy as y -- NP-completeness: most hard problems are equally hard -- The original Turing machine -- You can't prove everything that's true -- Karp's 21 problems -- Conclusion: what will be computed? 
520 |a 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. 
583 1 |3 copy1  |a Committed to retain  |c 20200101  |d 20341231  |f MI-SPI  |u http://www.mcls.org/engagement/mi-spi/  |5 MiEM 
650 0 |a Computer science.  |0 http://id.loc.gov/authorities/subjects/sh89003285 
650 0 |a Computer science  |x Philosophy.  |0 http://id.loc.gov/authorities/subjects/sh89003285 
650 0 |a Computer science  |x History.  |0 http://id.loc.gov/authorities/subjects/sh89003285 
650 7 |a MATHEMATICS  |x Study & Teaching.  |2 bisacsh 
650 7 |a Computer science.  |2 fast  |0 (OCoLC)fst00872451 
650 7 |a Computer science  |x Philosophy.  |2 fast  |0 (OCoLC)fst00872466 
650 7 |a Computers and IT.  |2 ukslc 
655 7 |a History.  |2 fast  |0 (OCoLC)fst01411628 
907 |y .b130792780  |b 210630  |c 190307 
998 |a mn  |b 190513  |c m  |d a   |e -  |f eng  |g nju  |h 0  |i 2 
994 |a C0  |b EEM 
999 f f |i e467c8a6-6084-5c32-9a43-b71fb73b56cc  |s 2364adec-0c40-5245-99d7-bdbd2dfd6174  |t 0 
952 f f |p Can Circulate  |a Michigan State University-Library of Michigan  |b Michigan State University  |c MSU Main Library  |d MSU Main Library  |t 0  |e QA76 .M33 2018  |h Library of Congress classification  |i Printed Material  |m 31293036506081  |n 1