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.
| Exploration | The question, roughly |
|---|---|
| The Unplugged Algorithm | Can your instructions survive a literal reader? |
| The Hundred-Line Problem | What happens when the client asks for a hundred? |
| The Data Pile | Where do you put forty numbers? |
| The Repeated Chunk | Who updates the fourth copy? |
| The Client Interview | What is the problem behind the request? |
| The Bad Input Hunt | What does your program do when a person is a person? |
| The Machine on the Bench | What is each part of this machine for? |
| The Spec Hunt | Which part does this person’s money belong in? |
| Where the Watts Go | What 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.