Skip to main content

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%