Convex Optimization School

From convex sets to robots, in three weeks · v1.1 (2026-10-26)
A three-week course
Convex optimization, without the fog.

21 lessons of about an hour each. Week 1 shows what makes an optimization problem easy. Week 2 opens up the algorithms inside every solver. Week 3 goes past convexity and into robots and self-driving cars. Plain language, real numbers, interactive widgets, and sources you can check.

Lessons
21 days
Widgets
26 interactive
Library
17 algorithms · 15 papers

How to use this course

  1. One day per sitting. Read the lesson from top to bottom. Each day builds on the one before.
  2. Play with every widget. Each one is a small optimization running in your browser, not a picture.
  3. Take the quiz, then mark the day done. Progress is saved on this device only.
  4. Use the other tabs. Algorithms has one card per method. Papers explains the robotics papers from Week 3. Glossary lets you look up any term.
  5. Open the sources. The small chips after sentences (like this one CO4A) link to the original.

What you need to know first

Some high-school algebra, what a derivative is, and the basics of vectors and matrices: adding them, the dot product, and multiplying a matrix by a vector. You do not need to read proofs. The few you will meet are optional and sit in grey "Going deeper" boxes. Keep this notation table open while you read:

SymbolRead it asExample
x ∈ ℝnx is a list of n real numbers (a vector)x = (2, −1) is in ℝ2
xTydot product: multiply entry by entry, then add(1,2)T(3,4) = 3 + 8 = 11
‖x‖2, ‖x‖1length of x; sum of absolute values‖(3,4)‖2 = 5, ‖(3,−4)‖1 = 7
∇f(x)gradient: the vector of slopes, which points uphillf = x12 + 3x2 → ∇f = (2x1, 3)
∇2f(x)Hessian: the matrix of second derivatives (curvature)f = x12 + 3x22 → diag(2, 6)
A ⪰ 0A is positive semidefinite: xTAx ≥ 0 for every xdiag(2, 6) ⪰ 0
min f(x) s.t. …"make f as small as possible, subject to (s.t.) these rules"min x2 s.t. x ≥ 1 → x* = 1
x*, p*the best point, and the best valueabove: x* = 1, p* = 1

The map

What the coloured boxes mean

Today's big idea

The one thing to remember.

Explain it to a 10-year-old

The same idea with no jargon.

Analogy

A picture to hang the idea on.

Common misunderstandings

Traps, and why they are wrong.

Going deeper

Optional proofs and details. Safe to skip.

Recap

The things to remember.

About the sources

Weeks 1 and 2 follow the Korean open textbook 모두를 위한 컨벡스 최적화 (Convex Optimization for All, "CO4A"), released under the MIT License (© 2021 CONVEX-OPTIMIZATION-FOR-ALL Team). CO4A is based on CMU's 10-725 course (Fall 2016, taught by Javier Peña and Ryan Tibshirani) and on Boyd & Vandenberghe's Convex Optimization (2004). This course rephrases and simplifies that material in English. It reorders some topics, moves proofs into optional boxes, and adds widgets and worked numbers. Week 3 draws on the original papers and on official solver documentation. Every lesson links the CO4A chapters it covers. All sources were checked on 2026-10-26, and fast-moving facts are marked "as of Oct 2026".