Software looks inevitable from the outside, as though apps and feeds and forms simply happened. They did not. Every system you touch is a pile of decisions somebody made: who it was designed for, what it collects, what it refuses to do, whether it should have been built at all. Decisions have reasons, and reasons can be argued with โ so in this course we argue, on purpose and on the record.
| Discussion | The argument |
|---|---|
| Who Is This For | Every program has a user. Do you know who yours is? |
| When Code Hurts | Nobody wrote a line that says โwork badly for themโ |
| Should It Exist | You can build it. That was never the question. |
| Who Gets to Build | The room does not look like the country. Why not? |
| Mistakes Are Data | What a room does with a broken build |
| Sharing What You Build | Credit, licences, and giving work away well |
These are not a unit bolted onto the side of the programming. They are the reason the programming is worth doing: the course ends with The Community App, built for a person you actually spoke to, and every one of these conversations turns up again while you build it.
One rule governs all of them, straight from Our Classroom Norms: we argue with ideas, never at people. Come ready to change your mind โ that is what the arguing is for.