Skip to main content

Executable scheduling-contract lab

10–14 implementation hours, included in the 20–28-hour extension. Download starter, reference, contract and checks. Use Python 3.9+; no dependencies or host scheduler changes are needed.

  1. Read README.md and spend 2 hours predicting queue order, idle gaps and switch intervals.
  2. Run python3 -B check.py starter and preserve the expected failure. Spend 4–6 hours implementing FIFO/RR with the documented API.
  3. Spend 2–3 hours adding independent boundary cases and rejecting a mutant that requeues at the front. Independently recompute metrics from the trace.
  4. Spend 2–3 hours comparing quantum and overhead choices and preparing a limitations note. Inspect python3 -B check.py reference only after attempting the implementation.

The checks cover 324 combinations of arrival, service, quantum, cost and policy, plus exact targeted traces, empty input and invalid values. Conservation checks do not prove queue policy; retain the distinguishing traces. Submit source, predictions, logs, one fresh workload and assistance disclosure. All PS1–PS6 must pass; original process and advanced scheduling work remains required.