Skip to main content

Limits of Computation

From a Programming Perspective

  • Textbook
  • © 2016

Overview

  • Illustrates proofs by means of programs written in a high-level imperative programming language
  • Includes chapters on the emergent fields of molecular and quantum computing
  • Highlights countless connections to all areas in computer science
  • Includes supplementary material: sn.pub/extras

Part of the book series: Undergraduate Topics in Computer Science (UTICS)

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (23 chapters)

  1. Computability

  2. Complexity

Keywords

About this book

This textbook discusses the most fundamental and puzzling questions about the foundations of computing. In 23 lecture-sized chapters it provides an exciting tour through the most important results in the field of computability and time complexity, including the Halting Problem, Rice's Theorem, Kleene's Recursion Theorem, the Church-Turing Thesis, Hierarchy Theorems, and Cook-Levin's Theorem. Each chapter contains classroom-tested material, including examples and exercises. Links between adjacent chapters provide a coherent narrative.

Fundamental results are explained lucidly by means of programs written in a simple, high-level imperative programming language, which only requires basic mathematical knowledge. Throughout the book, the impact of the presented results on the entire field of computer science is emphasised. Examples range from program analysis to networking, from database programming to popular games and puzzles.  Numerous biographical footnotes about the famous scientists who developed the subject are also included.

"Limits of Computation" offers a thorough, yet accessible, introduction to computability and complexity for the computer science student of the 21st century. 

Reviews

“This is a textbook about computability and complexity delivered as a one-semester final year module for undergraduates. ... There are quite a few exercises and dozens of important references at the end of each chapter, as well as a lot of interesting historical footnotes throughout. ... book may serve not only as an undergraduate text, but also as a reference source.” (Haim Kilov, zbMATH 1376.68003, 2018)

“I think this is a very good update of Neil Jones’s brilliant approach at teaching computability and complexity in a nontraditional manner that may resonate with students who are not necessarily deeply interested in mathematical abstractions. … I think Reus’s book deserves a large readership and should be tried out as an alternative text … in computing and communications courses worldwide.” (Sitabhra Sinha, Computing Reviews, January, 2017)


“The book under review is a textbook intended to provide the material for an introductory course on the classic theory of algorithms and modern complexity theory for senior undergraduate computer science students. … the book is a good, concise introduction to the fields of computability and complexity for students, and a good reference for working professionals in all areas of computer science and mathematics.” (M. I. Dekhtyar, Mathematical Reviews, November, 2016)

Authors and Affiliations

  • Department of Informatics, University of Sussex, Brighton, United Kingdom

    Bernhard Reus

About the author

Dr. Bernhard Reus is a Senior Lecturer in the Department of Informatics at the University of Sussex, with 15 years experience in teaching computability and complexity. 

Bibliographic Information

Publish with us