{
  "$type": "site.standard.document",
  "content": "---\ntitle: \"The road to COMP4020: the core mechanic\"\ndescription:\n  \"The repeating loop at the heart of COMP4020: provocation, prototype, studio\n  crit. An art-school model adapted for agentic software development.\"\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\nGame designers talk about \"the core mechanic\"---the one repeating loop that\nplayers engage with over and over, the thing that has to feel _right_ or nothing\nelse matters. In COMP4020, (the plan is) that loop is the weekly studio session.\n\nEach week (apart from the first and the last) follows the same cycle. There's a\nlecture and office hours and the usual stuff as well, but this is the heart of\nthe course:\n\n1. students receive a **provocation**---a brief, open-ended prompt that they\n   respond to by building a working web-based prototype, due before their next\n   studio session\n2. a set of automated CI smoke checks verify that each prototype basically works\n   (does it 200 OK on a few pre-agreed routes? does the build pass? whatever\n   makes sense for that stage of the course)\n3. in the studio session itself, students interact with each other's prototypes,\n   followed by a tutor-facilitated feedback session covering the prototype\n   itself, the agentic development process behind it, and what the student was\n   going for in light of the provocation\n\nProvocation, prototype, feedback; repeat for ten weeks.\n\nThis is basically an\n[art-school crit](https://en.wikipedia.org/wiki/Critique#Art_and_design) adapted\nfor software. Students bring their work-in-progress, the group engages with it,\nand then there's a structured conversation about what's working, what isn't, and\nwhy. It's a model that privileges _making_ over _talking about making_, and it\ntreats the artefact---the actual running prototype---as the centre of the\ndiscussion.\n\nI've run this kind of studio model before, in the **ANU Laptop Ensemble** course\n(which evolved into\n[Sound and Music Computing](https://programsandcourses.anu.edu.au/2026/course/COMP4350)\nunder the awesome [Charles Martin](https://charlesmartin.au/)). In that course,\nstudents brought their sonic creations each week, performed them for each other,\nand gave feedback in a facilitated session, which included remixing and building\nupon all the pre-prepared submissions. The parallels are pretty direct---swap\n\"musical instrument\" for \"web prototype\" and \"sonic palette\" for \"agentic\nworkflow\" and you're most of the way there.\n\nThe model can be intimidating at first. From week two onwards, students are\nsimultaneously showing their own work-in-progress _and_ giving feedback on\nothers'. But COMP4020 will have later-year students, and with careful\nfacilitation I reckon it'll work really well. The awkwardness fades fast, and\nwhat replaces it is a genuine community of practice---people who share a\nvocabulary, who've seen each other's failures and successes, and who can have\ninformed conversations about what \"good\" looks like (because that's the key\nquestion in this type of agentic software development course).\n\nEach studio group will have around 20 students, led by an experienced\ntutor.[^tutor] The tutor's job isn't just to run the session---they're the one\ndoing the facilitation that makes the whole thing work. They need to know when\nto push, when to let a conversation breathe, and when to redirect a critique\nthat's veering into unhelpful territory.\n\n[^tutor]:\n    \"Tutor\" in the Australian university sense---usually a PhD student who leads\n    small-group teaching sessions.\n\nThere'll also be a small, marked-in-class component assessed by the tutor each\nweek. Nothing worth a huge amount---just enough so students have skin in the\ngame. The point is investment, not anxiety. If you know you're going to demo\nyour work and discuss your process, you'll actually do the work (a point I've\nseen validated across several years of Laptop Ensemble courses). And if you're\ngoing to give feedback to someone else, you'll engage with their prototype\nproperly rather than just clicking through it. And in general our students are\ncool and nice and can be trusted not to be arseholes to each other.\n\nOne thing I want to emphasise about the crit itself: the feedback covers both\nthe prototype (the product) and the agentic development process that produced\nit. This maps onto the week's lecture content, where students learn about\ndifferent aspects of working with LLM agents for software development.\n\nSo the studio session isn't just \"does your app work?\"---it's \"how did you get\nhere, what did you try, what did the agent do well, where did you have to\nintervene, what infrastructure/harness did you need to build around it, and what\nwould you do differently?\" The goal is for students to develop a sophisticated,\ncritical understanding of agentic software development through repeated practice\nand reflection, not just through reading about it.\n\nThe hope is that over these weeks the class collectively builds a shared\nunderstanding of what good agentic software development looks like---both in\nterms of the process and the resulting prototypes.\n\nThe course doesn't start until July, so I've got some time to flesh out the\nweekly provocations. I want these to be fun and thought-provoking. We have other\n(great!) courses for building viable startups and software businesses; part of\nthe point (and opportunity) here is for students to do and make stuff that\ndoesn't make sense in a shark-tank-style business context.\n\nHere are some ideas I've had. Honestly some of them I'm super excited about\nwhile others are pretty... meh.\n\n- build a blog (kindof boring, but might be the first one so they can use that\n  for the rest of the course to share their reflective thoughts)\n\n- pick an existing project and re-create it with a different tech stack (e.g.\n  take a React app and re-create it as faithfully as possible in Vue)\n\n- use a different students' previous submission as a starting port, pick a new\n  feature to add and add it\n\n- do something in the browser that Tim Berners Lee would disapprove of\n\n- do something in the browser that\n  [Ethan Molick](https://bsky.app/profile/emollick.bsky.social) would be\n  impressed by\n\n- make a js/ts library with doco and how-to guides for both LLMs and humans\n\n- create a new ANU course website (with a curriculum, lecture slides, tutorials,\n  and assessments) on whatever topic you like... and then we'll create a whole\n  new \"shadow ANU\" of these courses, put them into new degree programs, and more\n\n- build a thing (any thing) and then tell the story of it's development by\n  dramatising the git history in the style of your favourite Hollywood director\n\n- make and present a bunch of (code-based) visual identity elements, e.g. a\n  brand identity and marketing website for a fictional product of your own\n  invention\n\n- create a prompt to make a simple html page which will be judged Elo-style\n  against a rubric vs all others (we can then one-shot them in class and do the\n  comparisons)\n\n- tell a story in a single website (collab with NIDA)\n\n- make a homage to the \"old web\" (geocities, marquee/blink tags, guestbooks and\n  webrings, etc)\n\n- build a website for a nightmare client, and develop an agentic workflow to\n  ameliorate the difficulty of dealing with them somehow\n\n- write a spec for evaluating a web protytype with an LLM\n\n- use oblique strategies to implement a static website\n\n- describe the uni system that you hate dealing with the most, and build a\n  prototype for a replacement system that's just heaps more awesome\n\n- write up a design brief for a simple website that you think is LLM/agent-proof\n  (i.e. for which Claude Code wouldn't be useful at all)\n\n- pick one of the crazier \"agentic workflows\" you can find online (e.g.\n  [Gas Town](https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16dd04))\n  and commit to it for a week to build something, then write up a blog post\n  about it\n\n- create the website for a public awareness campaign about the dangers of\n  falling in love with chatbots\n\n- create an online resource pack for an offline activity of your choosing\n\n- create a datavis website for a dataset that you think should be better\n  known/understood\n\n- create a SKILL.md file which allows you to one-shot any assessment item from\n  any ANU course (including this one!)\n\n- create a (mini) social app which is as beneficial (or destructive) to modern\n  liberal democracy as possible\n\n- make the web version of one of Katerina Kamprani's\n  [deliberately inconvenient objects](https://www.inconspicuous.info/p/the-pleasures-of-poor-product-design)\n\n- write AI skills (instructions) to generate prose that doesn't exhibit the\n  usual LLM-generated text tropes, and another one that generate text that's\n  cartoonishly over-the-top in it's LLM-generated-cliche-ness\n",
  "createdAt": "2026-05-13T23:14:40.111Z",
  "description": "The repeating loop at the heart of COMP4020: provocation, prototype, studio crit. An art-school model adapted for agentic software development.",
  "path": "/blog/2026/02/20/comp4020-the-core-mechanic",
  "publishedAt": "2026-02-20T00:00:00.000Z",
  "site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
  "tags": [
    "comp4020",
    "teaching"
  ],
  "textContent": "The repeating loop at the heart of COMP4020: provocation, prototype, studio crit. An art-school model adapted for agentic software development.",
  "title": "The road to COMP4020: the core mechanic"
}