Read it, then prove it.

Most free courses hand you a video and a quiz that checks you were awake. Compendia gives you the full written material, code you can change and run on the page, and problem sets that get marked against real tests.

1065lessons written
417problem sets
3languages taught
Try it nowPython
Inputone answer per line

This is a real lesson widget, running real Python. Change the name, press Run, and watch the output follow. No account needed.

Three things, done properly

Not a video library with a comment section.

Written to be understood

Every idea arrives as plain language first, then a worked example with real numbers, then the name for it. No jargon before it is defined, and no code before you know what it is for.

Code you can change

Snippets throughout every lesson run for real. Edit a line, press play, see what moved. That loop is what turns something you have read into something you can write.

Marked against real tests

Problem sets run your code against the cases, including the awkward ones you did not think of, and tell you exactly which input broke it.

The courses

Each one is a full course, not a taster. The first section of every one is free to read.

Computer Science

Master Python

Start from never having written a line of code and finish able to build a program, read somebody else's, and know which of the two you should be doing.

161 lessons76 problem setsFree

Mathematics

Int 3 for Programmers

The whole Integrated Math 3 syllabus with the code first and the rule second. Polynomials, radicals, logarithms, series, trigonometry, statistics and conics, drilled by hand because the exam is sat on paper.

255 lessons57 problem sets$14.99

Mathematics

Pre-Calculus for Programmers

Everything Calculus I assumes you already have, rebuilt from Algebra I upwards. Functions and transformations, the whole of trigonometry, and a closing bridge into limits and the derivative.

242 lessons64 problem sets$14.99

Mathematics

Calculus I for Programmers

Calculus I with the order of explanation reversed: you write the code first and the theorem arrives to explain why it worked. Taught in Python or C++, your choice, switchable mid course.

80 lessons47 problem sets$14.99

Mathematics

Learn Math

A short tour of what a rule looks like when you can move it. Slopes, curves, and answers you work out on paper and have marked.

3 lessonsFree

Computer Science

Master C++

Start from never having compiled anything and finish able to read, write and reason about C++: memory, lifetime, ownership, templates and the standard library.

123 lessons92 problem sets$14.99

Computer Science

Master C

The language the machine is easiest to see through. Pointers, memory you manage yourself, and what the compiler does and does not check for you.

98 lessons78 problem sets$14.99

Computer Science

Data Structures

Lists, trees, heaps and hash tables, implemented from scratch and graded against a test suite.

103 lessons3 problem sets$9.99

Start with the first lesson. It takes about six minutes.

The first section of every course is free to read, and every snippet in it runs, without an account. Buy a course once and it is yours: $9.99 for the shorter ones, $14.99 for the full-length ones, and free for anyone at Glendale Unified.