{
  "$type": "site.standard.document",
  "content": "---\ntitle: \"COMP4020: the story so far\"\ndescription: \"A catch-up post for the COMP4020 Agentic Coding Studio blog series---what the\n  course is, how it works, and what's still unresolved.\"\ntags: [comp4020, teaching]\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/).\n\n:::\n\nI've written eight posts now about a course that doesn't start until July, and\nit occurs to me that someone stumbling onto one of the later entries might\nreasonably wonder what on earth I'm on about. So here's the quick version.\n\n[COMP4020/8020 Agentic Coding Studio](/blog/2025/12/19/comp4020-rapid-prototyping-for-the-web/)\nis a new ANU course for Semester 2, 2026. The pitch: LLM-based coding agents\n(e.g. [Claude Code](https://docs.anthropic.com/en/docs/claude-code)) are\ngenuinely powerful for web development, so let's teach students to use them\nwell, not by lecturing about prompting techniques, but by having them build and\ndeploy multiple working web prototypes over a semester. The course trains\njudgement: when producing code is cheap, knowing whether it's _worth_ producing\nis the whole game.\n\nThe\n[distinctive design choice](/blog/2026/02/20/comp4020-the-core-mechanic/), and\nthe thing I'm most excited about, is borrowing the studio crit model from art\nschool. Each week follows the same cycle:\n\n1. students receive a **provocation** (an open-ended brief)\n2. they build a working web prototype before their next studio session\n3. in the session (~20 students per group), everyone interacts with each other's\n   running apps, followed by a tutor-facilitated discussion\n\nThe crit covers both the product _and_ the agentic process that produced it. How\ndid you use the agent? Where did you have to intervene? What did you learn about\nworking this way?\n\nI ran a similar model for years in the ANU Laptop Ensemble course. Swap \"web\nprototype\" for \"musical instrument\" and \"agentic workflow\" for \"sonic palette\"\nand you're most of the way there.\n\nThe crits need scaffolding, though, because Computing students aren't used to\nripping each other's work apart the way art students are. So each week\nstudents answer [three questions](/blog/2026/03/26/comp4020-the-weekly-questions/)\nin 280-character \"skeet\" format: _why this?_ (not \"what does it do\"---we can\nsee that---but what were you going for?); _what made it better?_ (which\nfeedback loops, whether agent, human, or community, actually moved you\nforward?); and _any good?_ (the hardest one and the most important: quality\njudgement, taste, and where you'd take it next). The constraint forces\nclarity: if you can't compress your reflection into 280 characters, you\nprobably haven't found the actual insight yet. The skeets follow a staged\nvisibility model (private until your crit, group-visible during, fully open\nafter) to prevent anchoring.\n\nThe [technical setup](/blog/2026/03/05/comp4020-safety-yolo-and-the-open-web/)\nunderpins the whole thing, and it's designed so that students can let agents\nrun freely without risk. Each week,\nthey work in a fresh, isolated cloud VM (something like a\n[Fly.io Sprite](https://fly.io/docs/sprites/))---nothing personal on it, easy to\nsnapshot, easy to tear down. They run Claude Code in YOLO mode with no approval\nprompts, push their code to a class GitLab server where CI smoke checks verify\nthe basics, and every prototype ends up live on the open web by default. Peers\ndon't review each other's code---they use each other's running apps.\n\nThis ties into the course's commitment to\n[radical openness](/blog/2026/03/18/radical-openness/): students can see each\nother's source repos, clone them, poke around, and remix each other's work. One\nof the weekly provocations will probably require exactly that---take someone\nelse's previous prototype and build on it. The idea is that openness accelerates\nlearning in the same way it does in open source: you get better faster when you\ncan see how other people solved the same problem.\n\nOn theory, honestly, nobody really knows the right way to do agentic coding\nyet. I surveyed\n[the emerging landscape](/blog/2026/03/30/comp4020-whats-the-theory-here/)---Regehr's\n\"zero degrees of freedom\", Harper Reed's spec-driven development, Jesse\nVincent's Superpowers framework, the Deer Valley retreat consensus, Geoffrey\nHuntley's [Ralph Loop](https://ghuntley.com/loop/)---and the picture is of a\nfield still finding its footing. Part of what excites me about COMP4020 is\nthat it's a distributed experiment: 100--200 students road-testing these\nnascent theories and reporting back on what actually works.\n\nThere's still plenty I'm wrestling with. Tool access is the most immediate:\ngetting ~200 students onto frontier coding agents is a genuine\n[logistics problem](/blog/2026/02/17/comp4020-sharp-tools/), and neither\nsponsored seats from Anthropic (the ideal) nor self-hosting open-weight models\nvia vLLM (the fallback) is straightforward at this scale. Then there's the\nquestion of the studio agent: whether to actually\n[enrol a persistent AI agent](/blog/2026/03/30/comp4020-agents-in-the-classroom/)\nas a course participant, building prototypes, writing skeets, observing\npatterns across the cohort. The question mark in that post's title is\nload-bearing; the pedagogical possibilities are genuinely interesting (a\nbaseline and a pattern observer at scale) but the \"dead classroom\" risk is\nreal. Assessing taste at scale is another live concern: the course's core\nthesis is that judgement and taste are the skills that matter most when code\ngeneration is cheap, but how do you actually assess that fairly across ~200\nstudents? The weekly skeets and studio crits give tutors a lot to work with,\nbut it's still qualitative assessment of a quality that's hard to define. And\nthere's the open question of whether the crit model transfers from art school\nto CS at all. I think it will, because my colleague Charles Martin has scaled\nthe studio crit model to large cohorts in his\n[Sound and Music Computing](https://comp.anu.edu.au/courses/comp4350/) course\n(formerly the _ANU Laptop Ensemble_), but CS students have never done anything\nlike it and it's an open experiment.\n\nIf you want the full picture, here's the reading order for the series so far:\n\n1. [Rapid Prototyping for the Web](/blog/2025/12/19/comp4020-rapid-prototyping-for-the-web/)---the\n   founding post, course description and learning outcomes\n2. [Sharp tools](/blog/2026/02/17/comp4020-sharp-tools/)---the tool access\n   problem\n3. [The core mechanic](/blog/2026/02/20/comp4020-the-core-mechanic/)---the\n   weekly loop and studio crit model\n4. [Safety, YOLO, and the open web](/blog/2026/03/05/comp4020-safety-yolo-and-the-open-web/)---cloud\n   VMs and infrastructure\n5. [Radical openness](/blog/2026/03/18/radical-openness/)---sharing source code,\n   deployed apps, and remixing each other's work\n6. [The weekly questions](/blog/2026/03/26/comp4020-the-weekly-questions/)---reflective\n   practice and skeets\n7. [What's the theory here?](/blog/2026/03/30/comp4020-whats-the-theory-here/)---a\n   survey of emerging agentic coding theories\n8. [Agents in the classroom?](/blog/2026/03/30/comp4020-agents-in-the-classroom/)---the\n   studio agent idea\n\nThe course starts in July. More posts to come as I figure out the rest.\n",
  "createdAt": "2026-05-13T23:14:37.741Z",
  "description": "A catch-up post for the COMP4020 Agentic Coding Studio blog series---what the course is, how it works, and what's still unresolved.",
  "path": "/blog/2026/03/31/comp4020-the-story-so-far",
  "publishedAt": "2026-03-31T00:00:00.000Z",
  "site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
  "tags": [
    "comp4020",
    "teaching"
  ],
  "textContent": "A catch-up post for the COMP4020 Agentic Coding Studio blog series---what the course is, how it works, and what's still unresolved.",
  "title": "COMP4020: the story so far"
}