Six days this semester begin with a problem you cannot solve neatly with what you already know. That is deliberate. Every big idea in this course — repetition, lists, functions, testing, listening to a client — arrives because you needed it fifteen minutes before anybody said its name. An idea you needed is an idea you keep.

You will write instructions that fail hilariously, copy and paste until your hand aches, drown in forty loose numbers, maintain the same eight lines four times over, interview a stranger about their most boring chore, and try very hard to break a friend’s program.

ExplorationThe question, roughly
The Unplugged AlgorithmCan your instructions survive a literal reader?
The Hundred-Line ProblemWhat happens when the client asks for a hundred?
The Data PileWhere do you put forty numbers?
The Repeated ChunkWho updates the fourth copy?
The Client InterviewWhat is the problem behind the request?
The Bad Input HuntWhat does your program do when a person is a person?
The Machine on the BenchWhat is each part of this machine for?
The Spec HuntWhich part does this person’s money belong in?
Where the Watts GoWhat does this room actually use, in watts?

None of these pages ends with an answer, on purpose. The concept page comes after the room has already built the idea, which is the order the ideas were invented in the first place.