Recipe Elements Schedule

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 options

<Type>

htdw-main

fn-composition

try-catch

2-one-of

encapsulated

use-abstract-fn

genrec
bin-tree
arb-tree

accumulator

for-each

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