What Can Be Computed?: A Practical Guide to the Theory of Computation
()
About this ebook
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
John MacCormick
Dr John MacCormick, born in Glasgow in 1904, studied law at Glasgow University and was one of the chief founding members of the National Party of Scotland in 1928 and, with the merger of the NPS and the Scottish Party, of the Scottish National Party in 1934. In 1942 he left the SNP and was instrumental in the forming the Scottish Convention which went on to produce the Scottish Covenant in 1949, upon which nearly two million signatures of support for a Scottish parliament were obtained.
Related to What Can Be Computed?
Related ebooks
Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science Rating: 4 out of 5 stars4/5Knowledge Representation: An Approach to Artificial Intelligence Rating: 0 out of 5 stars0 ratingsThree Views of Logic: Mathematics, Philosophy, and Computer Science Rating: 0 out of 5 stars0 ratingsArtificial Intelligence: A New Synthesis Rating: 4 out of 5 stars4/5Symbolic Logic and Mechanical Theorem Proving Rating: 0 out of 5 stars0 ratingsA Computational Logic Handbook: Formerly Notes and Reports in Computer Science and Applied Mathematics Rating: 0 out of 5 stars0 ratingsMachine Learning: A Theoretical Approach Rating: 0 out of 5 stars0 ratingsIntroduction to Real Analysis: An Educational Approach Rating: 0 out of 5 stars0 ratingsIntroduction to Computational Science: Modeling and Simulation for the Sciences - Second Edition Rating: 3 out of 5 stars3/5Artificial and Mathematical Theory of Computation: Papers in Honor of John McCarthy Rating: 0 out of 5 stars0 ratingsApplied Automata Theory Rating: 0 out of 5 stars0 ratingsTheory of Formal Systems. (AM-47), Volume 47 Rating: 4 out of 5 stars4/5Mathematics and Computation: A Theory Revolutionizing Technology and Science Rating: 4 out of 5 stars4/5The Art of Multiprocessor Programming, Revised Reprint Rating: 4 out of 5 stars4/5Mathematical Logic Rating: 5 out of 5 stars5/5The Mathematics of Various Entertaining Subjects: Research in Games, Graphs, Counting, and Complexity, Volume 2 Rating: 0 out of 5 stars0 ratingsMarkov Processes and Learning Models Rating: 0 out of 5 stars0 ratingsAlgebraic Theory of Automata Rating: 0 out of 5 stars0 ratingsAlgebraic Methods of Mathematical Logic Rating: 5 out of 5 stars5/5Finite Automata: Behavior and Synthesis Rating: 5 out of 5 stars5/5Lectures on Boolean Algebras Rating: 4 out of 5 stars4/5Fixed Point Theory and Graph Theory: Foundations and Integrative Approaches Rating: 5 out of 5 stars5/5Distributed Algorithms Rating: 3 out of 5 stars3/5High Performance Parallelism Pearls Volume Two: Multicore and Many-core Programming Approaches Rating: 0 out of 5 stars0 ratingsLogical Foundations of Artificial Intelligence Rating: 0 out of 5 stars0 ratingsHow Mathematicians Think: Using Ambiguity, Contradiction, and Paradox to Create Mathematics Rating: 4 out of 5 stars4/5Automata, Languages, and Machines Rating: 4 out of 5 stars4/5An Introduction to Functional Programming Through Lambda Calculus Rating: 0 out of 5 stars0 ratingsOpenCL in Action: How to accelerate graphics and computations Rating: 0 out of 5 stars0 ratingsLogic, Automata, and Algorithms Rating: 0 out of 5 stars0 ratings
Programming For You
Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Hacking: Ultimate Beginner's Guide for Computer Hacking in 2018 and Beyond: Hacking in 2018, #1 Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsPython Projects for Beginners: A Ten-Week Bootcamp Approach to Python Programming Rating: 0 out of 5 stars0 ratingsThe Unofficial Guide to Open Broadcaster Software: OBS: The World's Most Popular Free Live-Streaming Application Rating: 0 out of 5 stars0 ratingsPokemon Go: Guide + 20 Tips and Tricks You Must Read Hints, Tricks, Tips, Secrets, Android, iOS Rating: 5 out of 5 stars5/5Teach Yourself C++ Rating: 4 out of 5 stars4/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5The Little SAS Book: A Primer, Sixth Edition Rating: 5 out of 5 stars5/5Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5101 Amazing Nintendo NES Facts: Includes facts about the Famicom Rating: 4 out of 5 stars4/5
Reviews for What Can Be Computed?
0 ratings0 reviews