|Playlist||schedule page slides as PDF|
HtDP 0 — intro (1:06)
Introducing the design recipe.
HtDP 1 — atomic (3:17)
Using the design recipe for atomic data.
HtDP 2 — compound (3:47)
Using the design recipe for compound data. At this point, the template starts to help a little.
HtDP 3 — nested (4:00)
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:46)
A data type with multiple variants means that the template has a case dispatch.
HtDP 5 — lists (6:26)
A list is a data type with variants that refers back to itself, so the template sets up a recursive function.
HtDP 6 — variants again (9:05)
Sets up an extended example, which starts as a data type with variants.
HtDP 7 — trees (8:34)
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 (8:47)
Sometimes, a function takes an extra argument that gets passed around as-is to other functions or recursive calls.
HtDP 9 — accumulators (9:40)
Sometimes, a function needs to accumulate information on a recursive call.