This course is a workshop, not a lecture. Most days you will build, break, and repair something — sometimes at a keyboard, sometimes deliberately away from one — and ideas get their proper names after you have run into the need for them.

graph LR
    A["Warm-up"] --> B["Explore or build"]
    B --> C["Compare and name it"]
    C --> D["Notes to your future self"]
    D --> E["Log it"]

Warm-up

Five minutes at the door: a Predict the Output on the board, a Spot the Bug hunt, a What Would You Ask scenario. Small daily reps compound faster than anything else in this course, and they cost almost nothing.

Explore or build

The heart of the period. Some days start unplugged — you will find out the hard way what a computer does with an ambiguous instruction — and most days are at the keyboard, often in pairs: one person drives with hands on the keys, one navigates with eyes on the plan, and you swap on a timer.

The problem almost always arrives before the technique. You will copy a line a hundred times before anyone says the word “loop”, and you will write the same eight lines four times before anyone says “function”. Being stuck is part of the design, not a sign the design failed — Getting Unstuck is a skill we practise on purpose.

Compare and name it

We finish the build by touring what different groups did: different programs that solve the same problem, different diagnoses of the same bug. Only then does the idea get its clean statement on a concept page, where you can look it up forever after.

Notes to your future self

A few sentences and one small example in your own words, written for the version of you who opens this months from now having forgotten everything. The concept pages hold the full statements; your notes hold what you needed.

Log it

The last minutes of class belong to your Code Journal: what you built, what broke, what you would try next. Every professional developer keeps a version of this. Yours starts in week one.

The thread through all of it

One question runs from the first class to the last: who is this for? Every task names a user, and the culminating project, The Community App, is built for a real person who agreed to talk to you about a real problem. That is not a bonus round at the end of the course. It is the reason for the rest of it.

If you were away

Check the class page, run the warm-up yourself, and attempt the build before reading anything about it. A genuine attempt teaches more than a perfect summary of someone else’s.