A different way to learn mathematics & computer science

Mathematics & CS
through stories.

Every great mathematical idea emerged to solve a real problem that mattered. Here, we teach it that way, starting with the problem, letting the concept appear as the natural solution, then following it forward into the present.

How each topic is structured

Story

The history and the people. No equations. Readable by anyone.

Learn

The mathematics, derived from the problem. Rigorous, but motivated first.

Code

Python notebooks that build the solution from scratch. Run it yourself.

The idea behind this

The textbook gets it backwards.

The standard approach: here is a definition, here is a theorem, here is a contrived example. Learn the abstraction first; applications come later, if at all. For most students, “later” never arrives. The theorem remains inert, a thing to pass an exam, not a tool with a history.

But every great theorem was born as an answer to something urgent. Bayes’ theorem became powerful because Turing needed to eliminate 10²³ cipher settings before midnight. Shannon’s entropy emerged because the U.S. government needed to send a president’s voice across the Atlantic without letting the enemy hear it. The concept and the context are inseparable.

Each topic here starts with a real problem, one that actually had stakes, where getting the mathematics wrong had consequences. The concept emerges as the only natural solution to that problem. Then we follow it forward to show where it lives in the world right now.

01

The Problem

A real historical situation. The pressure is genuine. The need for a solution is not academic.

02

The Mathematics

The concept emerges from the problem — proved rigorously, but motivated first.

03

The Code

Python notebooks build the solution from scratch. Run it yourself. Break things.

The topics

Choose where to start.

01

Topic 01  ·  Probability Theory · Python

Bayes' Theorem

How a 178-year-old formula broke the Enigma cipher

Bletchley Park, 1941. The German Navy is sinking Allied convoys faster than they can be replaced. Alan Turing has 10²³ possible cipher settings and eighteen hours.

02

Topic 02  ·  Information Theory · Python

Information Theory

How Claude Shannon invented the mathematics of communication

Bell Labs, 1943. The U.S. government needs to send a president's voice across the Atlantic without the Nazis intercepting it. Claude Shannon has to figure out what 'information' actually is.