Practice suggestions
Read every count as a measurement on the input on screen. The table is not the faster method on four of the twelve instances this course loads by default, and the bounds do not change between the instance where it wins and the instance where it loses. Every page prints both and names the gap.
Write the fill order down beside the recurrence. It is the third of the three parts and the only one that can be wrong while every symptom looks like success: “The Fill Order Is Part of the Algorithm” has a complete table, consistent arithmetic in every cell, and a number 41 per cent below the truth.
Treat the value and the object as two answers. A table can be right about what the optimum costs and wrong about what it is, and every reconstruction on this course is checked by a route that does not read the table — re-costing, re-weighing, or in one case running the answer as a program.
What it does not cover
The Bellman equations, policies, and discounting. Sequential decision under uncertainty is a dynamic program over states and actions, and it belongs to Operations Research rather than here; every problem on this course is deterministic and every table is filled once.
Convex hull and divide-and-conquer optimisations, the Knuth–Yao speedup, and the monotonicity conditions they need. They lower a Θ(n³) fill to Θ(n²) without changing a correctness argument, and none of the bounds this course states depends on them.
Bitmask dynamic programming beyond one example, and profile methods over grid columns. “Subsets as a Table, and Where the Table Loses” shows that a subset is a legitimate index; the catalogue of problems for which that is the right index is a different skill from proving a recurrence.
Space-efficient reconstruction. One row gives the value and cannot give the object, and recovering the object in linear space needs a divide-and-conquer argument that is stated nowhere here — the trade is named and the alternative is not built.