This table shows which design recipe elements are required in each module of the course. It is difficult to understand what this table means during module 1a and 1b of the course, so do not worry about it then. But come back to it in module 2 and every module afterwards to know exactly which design recipe elements you must include in problem sets and exams. Note that the recipes contain many design elements not mentioned below (such as signature and examples/tests). Where an element is not mentioned, it is required throughout the course.
Module 1a/b |
Module 2 |
Module 3a/b |
Module 4a/b |
Module 5/b |
Module 6a/b |
Module 7a/b |
Module 8 |
Module 9a/b/c |
Module 10 |
Module 11 |
Module 12 |
|
Module(s) |
BSL, HtDF |
HtDD |
HtDW, Compound |
Self-Ref, Ref |
Natural, Helpers |
BSTs, Mutual Ref |
2 One Of, Local |
Abstraction |
Lambda, GenRec, Search |
Accumulators |
Graphs |
Mutable Refs |
Language |
BSL |
BSL - list abbreviations |
ISL |
ISL - lambda |
ASL |
|||||||
HtDF |
||||||||||||
commented stub |
required |
not required |
||||||||||
@template |
required |
not required |
||||||||||
@template-origin options |
<Type> |
htdw-main |
fn-composition |
try-catch |
2-one-of encapsulated |
use-abstract-fn |
genrec |
accumulator |
||||
HtDD |
||||||||||||
@dd-template-rules |
required |
not required |
||||||||||
HtDW |
full domain analysis, and completed world program template including all @ tags |
|||||||||||
Types |
String, Number, Image... |
+ those defined in a data definition |
+ (listof ...), ( -> ), X |