Instructor guide

The central teaching move is to make “correct code” impossible to define until students have done requirements work. The initial specification is intentionally bad in several different ways, and the question limit turns ambiguity detection into prioritization.

Ambiguity map

Every planted issue and why it matters.

Facilitation plan

A 90–115 minute in-class version plus a multi-day CS1 version.

Assessment

Rubric and guidance for treating first-round acceptance failures as learning evidence.

Remix guide

How to transplant the structure into another domain without losing the learning goal.

Python sample Solution

Download Python Project

Java sample Solution

Download Java Project

In an AI-rich programming environment, students need to be able to determine what a system should do, make uncertainty visible, design boundaries, and produce evidence—not merely produce syntax.

Recommended grading stance: do not penalize the first acceptance-test mismatch if the team's assumption was reasonable and documented. Grade the quality of risk identification, the use of the question budget, the clarity of interfaces, the tests, and the quality of the repair after new information arrives.