Learn Math for Programming - Expanded Projects
Master practical math by building systems that depend on it: puzzles, graphics, cryptography, physics, probability, and graphs.
This directory contains expanded guides for each project in the Learn Math for Programming curriculum. Each project turns a math concept into a concrete, testable artifact.
Learning Philosophy
Math for programming is about tools you can wield: discrete reasoning, linear algebra, probability, and algorithms. These projects make each tool unavoidable.
The Progression
FOUNDATIONS
P01 Sudoku Solver -> constraint reasoning and search
STRUCTURE AND SPACE
P02 3D Rendering Engine -> vectors, matrices, projection
P04 Simple Physics Engine -> kinematics and integration
SECURITY AND PROBABILITY
P03 RSA Cryptosystem -> modular arithmetic and number theory
P05 Bayesian Spam Filter -> probability and statistics
COMBINATORICS
P06 Graph Traversal Visualizer -> graphs and algorithms
Project Index
| # | Project | Difficulty | Time | Core Concepts |
|---|---|---|---|---|
| P01 | Sudoku Solver | Beginner | Weekend | Constraints, search |
| P02 | 3D Rendering Engine | Intermediate | 2-3 weeks | Linear algebra |
| P03 | RSA Cryptosystem | Intermediate | 1-2 weeks | Number theory |
| P04 | Simple Physics Engine | Intermediate | 2-3 weeks | Calculus, vectors |
| P05 | Bayesian Spam Filter | Intermediate | Weekend | Probability |
| P06 | Graph Traversal Visualizer | Intermediate | Weekend | Graph theory |
Core Concepts Map
Discrete Reasoning
- What it is: Systematic search and constraints
- Learned in: P01, P06
- Key insight: Logic can be mechanized
Linear Algebra for Systems
- What it is: Vectors and matrices that move points in space
- Learned in: P02, P04
- Key insight: Transformations are just matrix multiplications
Number Theory
- What it is: Modular arithmetic and prime properties
- Learned in: P03
- Key insight: Security relies on math properties, not secrecy
Probability and Statistics
- What it is: Quantifying uncertainty and evidence
- Learned in: P05
- Key insight: Probabilities become decisions