Skip to main content

Guided Labs

Download the offline problem-solving lab. Extract it, open its directory, and use Python 3.10 or newer. Standard library only; no network or package installation is required.

python check.py --module reference
python check.py --module starter
python run_labs.py --module reference

The reference should pass four test groups. The untouched starter should fail with NotImplementedError. Implement starter.py before consulting the reference, then run the checks and report with --module starter. Save actual output, Python version and explanations using evidence-template.md.

LabBuildIndependent checkWritten evidence
L1: boundary reasoninglower_boundLinear scan over sorted small listsPartition invariant, termination, duplicates and empty input
L2: construct an optimummin_coinsBreadth-first sum enumerationRecurrence proof, valid witness, unreachable versus zero
L3: reverse a relationreverse_reachableAll-pairs reachability on every directed three-vertex graphEdge reversal, cycles, finite-domain negative claims
L4: isolate a failureshrink_failureFailure preservation, subsequence and single-deletion checksPredicate identity, 1-minimality and its limits

Budget 12–18 hours across the four labs. See the API contracts. Do not report the finite checker as proof. Add one independently designed case per lab and defend it without running the implementation. Reuse this work for P13–P16 and the module project instead of submitting duplicate artifacts.