Every piece of graded work in the course, what it is worth, and when it is due.
Weights should sum to 100.
Checkpoint 1
Complete a partially-implemented OCaml starter — literals, arithmetic, variables, and string concatenation — matching Movement I's four sessions
Due 19 March 2027 · Weight: 20%
Checkpoint 2
Complete a partially-implemented OCaml starter — the goto field, failure propagation, and DEFINEd functions — matching Movement II's two sessions
Due 2 April 2027 · Weight: 20%
Checkpoint 3
Complete a partially-implemented OCaml starter — pattern values, backtracking match, and capture — matching Movement III's three sessions
Due 23 April 2027 · Weight: 30%
Final project
Extend Checkpoint 3's pattern-matching engine along a chosen direction, differentially test it against CSNOBOL4, and write up what it cost
Due 21 May 2027 · Weight: 30%