Playlist | schedule page slides as PDF |
HtDP 0 — intro (2:07)
Introducing the design recipe.
HtDP 1 — atomic (3:01)
Using the design recipe for atomic data.
HtDP 2 — compound (3:14)
Using the design recipe for compound data. At this point, the template starts to help a little.
HtDP 3 — nested (3:45)
Using the design recipe for nested data. Adds the idea that a reference a type declaration to a type declaration means that the template refers a template (and probably the fully implemented function uses a function).
HtDP 4 — variants (3:23)
A data type with multiple variants means that the template has a case dispatch.
HtDP 5 — lists (6:08)
A list is a data type with variants that refers back to itself, so the template sets up a recursive function.
HtDP 6 — more variants (6:51)
Sets up an extended example, which starts as a data type with variants.
HtDP 7 — trees (6:56)
Extends the example so that the data type defines trees — which is just another example of a data type with variants that refers back to itself.
HtDP 8 — along for the ride (7:08)
Sometimes, a function takes an extra argument that gets passed around as-is to other functions or recursive calls.
HtDP 9 — accumulators (11:30)
Sometimes, a function needs to accumulate information on a recursive call.
HtDP 10 — recipe in context (0:55)
The design recipe complements other good programming practices.