Practice suggestions
Read every figure as a statement about something, and say what. This course prints measurements and proved bounds in the same panels on purpose: 14 nodes against 44 is this instance, 2^k · n against 2^n is two expressions evaluated at this instance's numbers, and a promise of 2 is a theorem. Confusing any two of those three is the only way to leave this course with a false belief.
Break something on every page that lets you. Raise a distance until the triangle inequality fails and watch a factor-2 guarantee return a tour of 53 against its own promise of 6; switch a bound off and watch the node count triple while the answer does not move; add a clause and watch a reduction's solution map become surjective. The controls are there because a guarantee you have never seen fail is a guarantee you cannot state the conditions of.
Never accept a ratio without its denominator. Every mode of both kits on this course computes the true optimum by exhaustive search at a cap it states, and prints it beside the ratio, because a ratio against an unknown optimum is a fraction with an invented denominator. Hold every other source to the same standard.
What it does not cover
That satisfiability is NP-complete at all. Cook and Levin's theorem — that a polynomial-time verifier can be encoded as a formula — is the base of every hardness result quoted here and it is stated rather than proved: its construction is about machines rather than about combinatorial structure, and nothing in this library executes a machine. The reductions on these pages are all from satisfiability onwards.
The middle of the standard chain into Hamilton circuits. An honest gadget for the three-colouring or Hamilton-circuit reductions needs more vertices than the labs here can solve exhaustively, and showing half a gadget would be showing a reduction that does not reduce anything. Circuits to tours is built; independent set to circuits is named.
Kernelisation, and parameterised complexity beyond one bounded search tree. Shrinking an instance to a size depending only on the parameter before searching is the other half of the subject, and the first reduction rule — a vertex of degree above k must be in any cover of size k — is named on the page rather than built.
The hardness of approximation itself, apart from one case. That no constant factor is possible for the general travelling salesman is proved here, because the gadget is the one already on the page with a larger number in it. That greedy set cover's logarithmic factor cannot be beaten, and the modern inapproximability results behind it, are quoted with their consequences and proved nowhere in this library.
Linear-programming methods for approximation: rounding a fractional solution, the primal — dual method, and derandomising a randomised rounding by conditional expectations. The last of those belongs beside the randomised satisfiability argument in the previous course rather than here, and the first two need duality, which Operations Research owns.
DPLL and modern satisfiability solving. Unit propagation, pure literals, clause learning and the phase transition at the satisfiability threshold are a search with a bound on a different problem, and they would repeat the shape of branch and bound without adding an argument. The oracle on the first page here is deliberately brute force, because the claim being made is about the number of calls.