📄️ The Millennium Prize
The story of a $1,000,000 question that has stumped every mathematician and computer scientist alive — and why one student decided to document the journey of understanding it.
📄️ What is an Algorithm?
The word sounds intimidating. The definition is surprisingly close to something you already know — but with one twist that changes everything.
📄️ The Turing Machine
Before we can talk about fast or slow algorithms, we need to agree on what computation even means — and that meaning comes from a deceptively simple thought experiment invented in 1936.
📄️ A Nondeterministic Machine
What does it mean for a machine to "guess perfectly" — and why that strange idea is at the heart of the entire P vs NP problem.
📄️ The Big-O Notation
The notation that looks like alien syntax but turns out to be one of the simplest and most important ideas in computer science — explained from scratch, with no formal proofs required.
📄️ Exponential Explosions
Why O(2^n) isn't just slow. It's practically impossible. And what a chessboard grain of wheat teaches us about the limits of computation.
📄️ Defining the Class P
What does it actually mean for a problem to be "solvable fast"? This post builds the formal definition of the complexity class P from the ground up — using sorting, binary search, and the contrast between polynomial and exponential growth.
📄️ Defining the Class NP
What does it actually mean for a problem to be "verifiable fast"? This post builds the formal definition of NP from the ground up, using the Rubik's Cube, Sudoku, and the strange but satisfying idea of a certificate.
📄️ Solving vs. Verifying
The gap between finding an answer and checking one feels obvious the moment you see it. This post asks why that obvious gap is also the deepest open question in all of computer science.
📄️ The Core Question
We have built every piece separately. Now we put them together and ask the question that has haunted mathematics and computer science for over fifty years.