Computation as a Universal and Fundamental Concept

This article explores the theoretical foundations of computer science, tracing the history from Alan Turing's halting problem to the complexities of P versus NP. It discusses how algorithmic shortcuts are used to solve complex problems and why some challenges remain computationally intractable.
Why it matters
Understanding the limits of computation is essential for advancing fields like cryptography, optimization, and artificial intelligence.
Tim Roughgarden begins with a deceptively simple question: is there anything computers cannot do? To answer it, he takes us back to 1936, when Alan Turing, a decade before actual computers existed, laid the foundations of computer science as a byproduct of solving an obscure mathematical problem. Turing's paper introduced the theoretical machine that bears his name and proved something startling: there are problems no algorithm can ever solve, no matter how much time or computing power we throw at them. The halting problem, which asks whether a program will eventually stop running, is forever beyond the reach of any computer.
The content is an educational overview of mathematical and computer science theory.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in