- Natural language description of the algorithm - What functions map to each step of constraint solving, propagation etc. - Can start with (MSc/BSc) student writing out what they think the functions do, finding what's unclear in the process