{
"$type": "site.standard.document",
"content": "---\ntitle: \"The road to COMP4020: the weekly questions\"\ndescription: \"Three evergreen questions and 280-character skeets to scaffold reflective\n practice in each weekly studio crit.\"\ntags: [comp4020]\n---\n\n:::tip\n\nThis post is part of a series I'm writing as I develop\n[COMP4020: Agentic Coding Studio](/blog/2025/12/19/comp4020-rapid-prototyping-for-the-web/).\nSee [all posts in the series](/blog/tag/comp4020/). I've since revised the\ndesign described here---see\n[pledges, not questions](/blog/2026/04/16/comp4020-pledges-not-questions/).\n\n:::\n\nThe [core mechanic](/blog/2026/02/20/comp4020-the-core-mechanic/) of COMP4020 is\nthe weekly studio crit: students build a prototype in response to a provocation,\nthen bring it to a facilitated group session where everyone engages with each\nother's work. But a crit only works if students arrive ready to talk about what\nthey made and why. Especially in this (School of Computing) context: art school\nstudents are used to ripping each other a new one during crits, but I think for\nComputing students doing this for the first time there's a risk it'll be a lot\nof \"yeah, it's fine\" and \"I dunno\" with awkward pauses in-between.\n\nSo even with experienced facilitation, the weekly crits need a scaffold.\nSomething that structures reflection without turning it into a worksheet;\nsomething students do every single week, the same questions each time, until the\nthinking becomes habitual. After a lot of back and forth I've landed on three\nquestions.\n\nThe first is _why this?_ Why did you build what you built in response to the\nweek's provocation? Why should this thing exist? This is about intentionality:\nnot \"what does it do\" (we can see that) but \"what were you going for?\" A\nstudent who built a data visualisation might say they wanted to make a\nparticular dataset legible to non-experts. A student who built something weird\nmight say the provocation reminded them of a thing they'd always wanted to try.\nEither answer is fine; the important thing is to have _an_ answer.\n\nThe second is _what made it better?_ This one draws directly on the\n[three feedback loops](/blog/2026/02/24/climbing-the-good-gradient/) from my\nearlier post about climbing the \"good\" gradient. What signals helped you figure\nout which direction was uphill? Maybe your test suite caught a subtle bug before\nyou even saw it in the browser (agent ↔ code). Maybe hot-reloading let you\niterate on a layout until it felt right (human ↔ artefact). Maybe you showed it\nto a friend and their confusion told you something you couldn't see yourself\n(human ↔ community). The question forces students to identify the specific\nfeedback that moved them forward, and over the semester, to get better at\ndesigning those feedback loops deliberately.\n\nOften this will be a tool or blog post from someone else in the world trying to\nfigure out this brave new world of agentic coding. And there's a lot of advice\nout there. A big part of what I'm excited about for this course is to have\nhundreds of students road-testing the various ideas (even the unhinged ones)\nthat are flying around, and then sharing with their classmates what they found.\n[Gonzo](https://en.wikipedia.org/wiki/Gonzo_journalism)\n[GasTown](https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16dd04), if\nyou will.\n\nThe third is _any good?_---the hardest question, and the most important one.\nIs this prototype good? For whom? What does \"good\" even mean here? And if you could keep\ngoing, which direction would you head? This is where students practise the skill\nthat agentic coding makes simultaneously more important and easier to neglect:\n_judgement_ or\n[_taste_](https://www.newyorker.com/culture/infinite-scroll/why-tech-bros-are-now-obsessed-with-taste).\nWhen producing code is cheap, knowing whether it's worth producing is the whole\ngame. I want students to get comfortable making and defending quality\nclaims, not in the abstract but about their own work, in front of their peers.\n\nThe format these answers come in matters as much as the questions themselves.\nEach week, alongside their prototype, students submit three\n[skeets](https://bsky.app/): one per question, 280 characters max, with an\noptional image. That's it. Actually, they don't actually have to post them\npublicly (they will just be in a `skeets.md` file in the source repo they\nsubmit), but the \"genre\" is of the skeet/tweet (280 characters max, with 1-4\noptional images). Memes welcome, too.\n\nThe constraint is the point. 280 characters is enough for one clear thought and\nnot enough for waffle. If you can't compress your reflection into a skeet, you\nprobably haven't found the actual insight yet. And the effort is low enough that\nit won't feel like a burden on top of the prototype work; rather than a\nreflective essay, it's a forcing function for clarity.\n\nThe optional image matters too. Sometimes the reflection _is_ visual: a\nbefore/after screenshot, a diagram of the workflow that finally clicked, a photo\nof a whiteboard sketch. For a course about building things for the web, letting\nthe artefact speak for itself seems right.\n\nThere's a long tradition of this kind of reflective practice in education.\nDonald Schön's\n[_The Reflective Practitioner_](https://en.wikipedia.org/wiki/The_Reflective_Practitioner)\nis the canonical reference, and studio-based disciplines like architecture and\nfine art have been doing structured crits for decades. The skeets are my\nadaptation: lightweight enough to sustain weekly, compressed enough to force\nprecision, and native to the kind of short-form writing that this generation of\nstudents already knows how to do well.\n\nThe visibility of those skeets is staged, following the same release model as\nthe [source code and deployments](/blog/2026/03/18/radical-openness/). Before\nyour studio crit, your skeets are visible only to you: you've done the\nthinking, but you haven't been anchored by anyone else's reflections. When your\ncrit begins, they become visible to your studio group. The tutor can reference\nthem (\"you wrote that the test suite was the thing that saved you this\nweek---tell us more about that\"), and your peers can see what you were going\nfor before they offer feedback.\n\nAfter all the crits in a studio group are done, everyone in the group can see\neveryone's skeets. And once all groups have finished for the week, they're\nvisible class-wide. This is the same rhythm as the code itself: private until\nyour crit, group-visible during, fully open after.\n\nThe staged release does a few things. It prevents early anchoring, since\nstudents write their reflections independently, so you get genuine diversity of\nthought rather than twenty variations on whatever the first person said. It\ngives the tutor material to work with during the crit, which is especially\nvaluable for drawing out quieter students who might struggle to articulate\ntheir thinking on the spot but wrote something sharp in their skeet. And it\ncreates a growing, browsable archive of the class's collective reflection over\nthe semester.\n\nThe real payoff, though, is what happens in the studio crit itself. Students who've\nalready written down their thinking arrive ready to discuss rather than fumbling\nto figure out what they think in real time. The skeets are the warm-up; the crit\nis the performance.\n\nOver ten weeks, the hope is that these three questions become second nature,\nso that students internalise the habit of asking themselves _why this_, _what\nmade it better_, and _any good_ not just when they're writing their skeets but\nwhile they're building. That's the\n[good gradient](/blog/2026/02/24/climbing-the-good-gradient/) in practice: a\ndeveloper who's constantly asking \"is this good? how do I know? what would make\nit better?\" is a developer who's going to produce better work, whether they're\nworking with an AI agent or not.\n",
"createdAt": "2026-05-13T23:14:38.478Z",
"description": "Three evergreen questions and 280-character skeets to scaffold reflective practice in each weekly studio crit.",
"path": "/blog/2026/03/26/comp4020-the-weekly-questions",
"publishedAt": "2026-03-26T00:00:00.000Z",
"site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
"tags": [
"comp4020"
],
"textContent": "Three evergreen questions and 280-character skeets to scaffold reflective practice in each weekly studio crit.",
"title": "The road to COMP4020: the weekly questions"
}