Welcome#
Week 1#
Introduction#
agentic coding studio
agentic coding studio
agentic coding studio
humans making things for humans#
a course about humans making things for other humans — using AI and other tools
deciding what’s worth building is the tricky part, and requires judgement — hence the studio
a note about 4020/8020
welcome to COMP4020#
a studio course: build web-app prototypes with LLM coding agents, every week, in public
one rhythm all semester: Thursday lecture, your 90-minute studio crit, and the build in between
two threads: mostly agentic coding at the centre; just enough web to build something real
(the field’s two poles are vibe coding and agentic engineering — we’re the second one)
today’s beats#
- what the course is, and how it runs: outcomes, the semester, working in public
- your week-1 mission — your crit 1 (C1) prototype live at a URL before your first crit next week
- how a coding agent actually works
- demo: build a small site and put it on the internet
what changed this week?#
(every lecture opens here)
the tools will change under us mid-semester — that’s a design feature of the course, not a failure of planning
Kimi K3, Opus 5
hating AI properly#
this course bans nothing, which is exactly why the critiques matter here
why an AI-everything course needs its critics
Learning outcomes#
By the end of the course you will be able to:
- design, build and test full-stack web applications using a rapid-prototyping process
- explain how LLM-based coding agents work, including model capabilities, tool use and context management
- design and evaluate different LLM agent workflows for software development
- apply principles from the scholarly literature to work-in-progress and finalised software prototypes
the shape of the semester#
- censusCensus date
Census date
Mon, 31 Aug · week 6
Last day to drop the course without academic or financial penalty. Assignment 1 marks come back before it, by design.
- drop byLast day to drop without failure
Last day to drop without failure
Fri, 9 Oct · week 9
Past census you still owe the fees, but dropping on or before this date leaves a withdrawal on your record rather than a fail.
- A1 · 20%Assignment 1
Assignment 1
due Mon, 17 Aug · 20%
The first individual prototype: an interactive explainer built with an agentic workflow, marked on the legibility of your process and your response to the brief.
- A2 · 20%Assignment 2
Assignment 2
due Mon, 21 Sept · 20%
The second individual prototype: a whole course website for a course of your own design, marked on the legibility of your process and your response to the brief.
- A3 · 40%Final Project (Assignment 3)
Final Project (Assignment 3)
due Mon, 9 Nov · 40%
The capstone: a full-stack web application with a persistent backend, built and deployed with an agentic workflow.
- C1: Forgotten web (week 2)
C1 · Forgotten web
week 2 · demo at your crit session
The opening build: a simple text-first site you can ship on day one.
- C2: Unsolicited redesign (week 3)
C2 · Unsolicited redesign
week 3 · demo at your crit session
The content is given this week, and serving it well is the brief.
- C3: Assignment 1 retro (week 4)
C3 · Assignment 1 retro
week 4 · demo at your crit session
A brief demo of your Assignment 1 prototype, then articulate the breakthrough.
- C4: An instrument (week 5)
C4 · An instrument
week 5 · demo at your crit session
Judgement week: an agent can build a synth but can't hear the result, so your ear is the harness.
- C5: A game (week 6)
C5 · A game
week 6 · demo at your crit session
A small game gives tests and human judgement different jobs.
- C6: Assignment 2 retro (week 7)
C6 · Assignment 2 retro
week 7 · demo at your crit session
A brief demo of your Assignment 2 prototype, then articulate the breakthrough.
- C7: Build the ANU system you wish existed (week 8)
C7 · Build the ANU system you wish existed
week 8 · demo at your crit session
The first full-stack crit, and the week the database gets real.
- C8: It's alive! (week 9)
C8 · It's alive!
week 9 · demo at your crit session
The final project starts here, and the bar is proof of life.
- C9: Crit the critics (week 10)
C9 · Crit the critics
week 10 · demo at your crit session
No new prototype this week — the write-up is the artefact, and it feeds straight into the portfolio.
- C10: Fly by instruments (week 11)
C10 · Fly by instruments
week 11 · demo at your crit session
Observability turned on your own project.
- Setup drop-in
Setup drop-in
week 1 · Fri, 31 July · 3–4pm · Birch 3.03
Can't finish onboarding? Bring your laptop and we'll help you get sorted.
- Redeemable crit
Redeemable crit
week 12 · at your crit session
One extra sitting that replaces an earlier crit mark of 1 or below. Open to everyone, no form and no reason to give — but only worth coming to if you're carrying a lost week.
- Week 1: Introduction
Week 1: Introduction
week 1 · Thu, 30 July
Welcome to the Agentic Coding Studio
- Week 2: Specs and self-portrait
Week 2: Specs and self-portrait
week 2 · Thu, 6 Aug
The brief poses the problem, the spec is the contract, and your response is a self-portrait of the developer you want to be
- Week 3: Backpressure
Week 3: Backpressure
week 3 · Thu, 13 Aug
Harness engineering is the art of giving good negative feedback — the model generates; the harness rejects what's wrong, fast and automatically
- Week 4: Context engineering
Week 4: Context engineering
week 4 · Thu, 20 Aug
The agent's working memory as a designed resource — and, on the web side, the ceiling of static: neal.fun / pudding.cool-style interactive pages
- Week 5: Verification
Week 5: Verification
week 5 · Thu, 27 Aug
The agent says it's done — but has anyone run it, and do you still understand it? Verification, and the cognitive debt that green checks can't see
- Week 6: Evidence of practice
Week 6: Evidence of practice
week 6 · Thu, 3 Sept
Read the transcript and the git log closely, reconstruct one consequential decision, and write what you learned into the harness, where the next session will read it
assignments weekly crits one-off sessions lectures enrolment dates today
assumed knowledge#
git and the command line — you’ve cloned, committed, pushed before
design, iteration, feedback, reflection (COMP3900/6930)
web development is not assumed — the supporting web thread starts next week
what the course asks of you#
3.5 hours of contact a week: this 2h lecture plus your 90-minute studio crit
the Your participation page lists all of it — setup, weekly rhythm, deadlines
this week: two clicks in Canvas Start here: a survey and the access quiz — no marks in either, but the quiz unlocks your key
in public, on purpose#
every prototype ships to a public URL, and the repo becomes public at submission: source, history, CI logs, agent files
by November it’s your portfolio — evidence of how you work, not just what you made
no secrets, nothing private (inc. claude logs), and a fresh GitHub account for the course is fine
your week 1 mission#
today: get a working agent and meet the workflow
this week: build and ship C1, your first small website
before your week-2 crit: C1 is public and live; your reflection is in the repo
at the crit: demo it, discuss it, and build with your pod — your group’s time and room are on the crits page
C1: forgotten web#
create a simple site, and give it a look the modern web has forgotten
GeoCities, brutalism, teletext: the look is the brief; the content is yours
keep it small: a handful of readable pages, reachable from the home page
build it with plain HTML and CSS; no JavaScript this week
what you hand in#
- the prototype: live at its Pages URL by your cutoff
- the checks: (
spec/) the starter’s invariants plus this week’s spec PROCESS.md: a map of how the work came together, citing commitsreflections/crit-1.md: the two standing questions, one short entryCLAUDE.mdand your commit history
1. get the essentials working#
by hand: GitHub, a terminal, Git, mise, Claude Code, Chrome, the ANU VPN
then set up the tools, log in to GitHub, and test:
mise use -g node@24 pnpm gh jq
gh auth login
claude --print "say hi"2. install the course plugin#
claude plugin marketplace add comp4020-agentic-coding-studio/core
claude plugin install comp4020@comp4020/comp4020:doctor checks what is missing; /comp4020:onboard helps fix your
key, invitation and crit group
/comp4020:start gets you into C1; /comp4020:preflight and /comp4020:ship
gets it over the line
3. tell us who you are on GitHub#
the course generates your repos, but you need to tell us which GitHub account is yours
in Canvas Start here, on the Your Claude Code API key assignment, submit
your username as the text entry: octocat, on its own — not a sentence, not a
URL
handle in → organisation invitation out → you accept → your C1 repo is generated
(compulsory)
4. meet your C1 repo#
accept the course GitHub-organisation invitation promptly
you do not create the repo: the course generates it for you once your handle lands
run /comp4020:start for C1: it clones the repo and pulls the brief in — keep
every course repo in one folder, there are a dozen by November
build privately; before the cutoff, make the repo public to turn on GH Pages
going off piste#
the documented path — mise, Claude Code, the starter templates — is the supported one, not the mandatory one
another agent, another model, another runtime manager: nothing is forbidden and nothing about the marking changes — but you own the debugging
all the way to the conscientious objector: you can do this course without AI — same specs, same deadlines, same rubric
stuck on setup?#
every step we’ve just covered is on the Onboarding page on the course site
if you’re stuck, post on Ed (tech support) or come to the drop-in: this Friday, 3–4pm, Seminar Room 3.03, Level 3, Birch Building — bring your laptop, we’ll help you get sorted before crit 1
communication channels#
this website: how the course runs, and the source of truth — if anything disagrees with it, the website wins
Ed for everything else: public threads answered within one working day, private threads within two
Canvas for marks, recordings, your api key, and the door into Ed
no email, no Teams, no Discord (you’ll get a polite redirect)
Claude Code cheatsheet#
cd into the repo first, then claude — context starts where you launch it
Esc interrupts a response; /clear starts the conversation fresh
/help lists the built-ins; /comp4020:help lists the course skills
plain English beats memorised commands, e.g. “how much budget do I have left?”
ask the course#
point your agent at the course site: handbook is the first course skill we use
live; it retrieves the course’s published facts rather than trusting the model
to guess them
- “What exactly must C1 contain?” — brief and definition of done
- “When is my C1 cutoff?” — the group-specific answer
demo: from brief to live site#
Use the
handbookskill to find out exactly what C1 asks for, then build me a small site that answers it — and give me a page that shows at a glance what I need to do before my first crit next week.
one prompt, then we walk away from it — the agent builds while we talk about how it works
The agent loop#
a small machine#
every coding agent is the same machine: a language model, a set of tools, and a loop
the model never touches your filesystem — it consumes and produces text
some of that text is tool calls, which the harness carries out on its behalf: read this file, apply this edit, run this command
read, edit, run#
read: nothing about your repo is in the model’s training data, so it searches and reads; every result lands in the transcript, its entire working memory
edit: the model proposes, the harness applies; permission lives in the harness
run: dev server, build, tests: the step that separates an agent from autocomplete
in a loop, until the model decides the job is done
“done!” is a claim, not a fact
model vs harness#
the model: weights on someone else’s GPU, turning a context window into the next chunk of text
the harness: everything else — the tools, the system prompt, what makes it into context, the permission rules, the loop itself
Claude Code: a polished harness, tied largely to one vendor’s models
pi: the same machine, a different take — minimal, model-agnostic, a codebase you can actually read
where feedback enters#
look where the world gets a say: run — reading and editing act on the repo; running is the repo answering back
“make pnpm test pass” gives every turn a verdict; “improve the code” free-runs
on the model’s confidence
a question to watch all week: which turns got a real answer from the world, and which ran on confidence alone?
the lecture-demos repo#
every lecture runs in lecture-demos — clone it once, keep it all semester
gh repo clone comp4020-agentic-coding-studio/lecture-demos
cd lecture-demos && pnpm install && pnpm devnow you try#
Restyle the home page to look like ______ (a 90s fan page, a terminal, a newspaper — your call). Keep
pnpm checkgreen.
this week only: nothing is set up yet, so watching along counts — from week 2 the pauses assume a working laptop
demo: ship it#
Ship it: get the checks green, then push and turn on GitHub Pages.
turn what it built into something on the internet: the C1 path in miniature
the agent runs the checks instead of merely claiming it’s done — and what they say next is not up to either of us
commit, push, live#
the push lands on GitHub; a throwaway machine boots, checks out your repo, builds the site
the built files go to GitHub’s webservers — seconds later
https://<org>.github.io/<repo>/ serves them to anyone on earth
Pages serves static files only — why it’s free, fast, and hard to break
(a server of your own arrives in week 7)
which box does what?#
green checks and red#
green: the machinery ran and every check passed — not that the site is good
red: don’t squint at it — open the failing run, copy the log, read it back to the agent
gh puts all of it in the terminal, which means your agent can watch its own
checks
the course skills don’t replace this loop — they make good feedback cheap to ask for
Ben uses… the GitHub CLI#
(another standing segment: one piece of my own harness)
gh — GitHub in the terminal: runs, logs, PRs, flipping repos public
in the demo just now, the agent watched its own deploy instead of waiting for me to paste logs in
now you try#
browser only, nothing to set up — the demo’s push is in CI right now
Open the Actions tab and watch it live. Green or red? Commit to one, out loud, with your neighbour.
key already wired up? ask handbook a question you actually care about
Predict, then watch#
your prediction#
push is done, CI is running; before it comes back: green or red?
green → the live URL, opened in the room
red → read the failing check back to the agent, fix, push again
would you ship this? thirty seconds of verdict — informal, for now
demo: read the failure#
The CI run failed. Read the log and fix it.
we never ran that check locally — CI held a sensor in reserve, and it found something we didn’t
watch what it does with a dead link: create the missing page, or delete the link? one of those is a fix
bring C1 to your crit#
C1 freezes at your cutoff, two hours before your week-2 session
the session opens on your crit agent’s prototype — fifteen minutes, whole group, your tutor driving
then, in a pod of four: show your live site, open with your breakthrough, give and take critique, and riff on the agent’s prototype
come able to account for how you directed and corrected the agent
your group has an agent#
six crit groups, six named agents — Shítāo, Bādà, Báishí, Dàchī, Yúnlín, Liùrú — and your group goes by its agent’s name
it sits the course beside you: same provocation, same cutoff, shipped publicly, same two reflection questions
the session opens by critiquing it as a whole group, and every pod forks it for the riff — never reset, never marked
two questions, every week#
- what was the breakthrough that moved the work forward?
- what did this work change about who I want to be as a software developer?
in your repo’s reflections/ — your breakthrough opens your pod crit
PROCESS.md sits beside it and describes (with commit citations) the key
moments
studio mindset#
agents make the easy-to-test stuff easy — what remains is hard, and subjective, and human
come with something to show — a broken prototype beats no prototype
critique the artefact, not the author; take it the same way
this course is an experiment
research participation is voluntary#
the study uses data you already generate — commits, telemetry, work, marks
Lorenn Ruster holds the responses; I can’t see yours until after final grades
yes, no, or ignoring it changes nothing about your marks or your standing
you can change your mind later; the sheet and the form are in Canvas
new: the week 12 redeemable crit#
an extra crit in week 12 that buys back a lost week — open to everyone, no form and no reason to give; answer any week’s provocation, fresh work is fine
marked like any other crit: shipped at the cutoff (1, 0.5 or 0), plus your contribution (1, 0.5 or 0)
it replaces your lowest crit mark if that mark was 1 or below, one crit only — however many weeks you lost, it covers one
on the assessment page now — put to the room in week 1 and agreed as it stands
assignment 1 is open#
build an interactive explainer of something you think more people should know or understand — one strong idea, one dataset or mechanic, and nothing else
interactive: the explanation is something a visitor does, not just reads
static and client-side, on the same canvas as C1 and C2 — due noon, Monday 17 August
class reps wanted#
every course gets a couple of class representatives — the cohort’s voice back to the teaching team; you’d gather feedback from the class and raise it with us and with ANUSA, a small time commitment, with training and support provided
interested? we’ll take nominations and vote in the room, during the lecture
deadline radar#
open now: Canvas Start here — survey, quiz, key and GitHub handle,
onboarding, then doctor
Friday 3–4pm: setup drop-in (Birch 3.03)
before you build C1: crit group registered, org invitation accepted, repo cloned
your week-2 cutoff: C1 live at its URL via ship; reflection submitted
noon, Monday 17 August: assignment 1 — brief up now, repo lands next week
tl;dr#
every coding agent is the same small machine: a model, some tools, and a loop — and “done!” is a claim, not a fact
the model is fixed this afternoon; the harness is yours, and that’s where this course lives
shipping is cheap and starts today — push, read the checks, open the live URL
this week: get set up, then get C1 live before your first crit
ask your agent#
recast the week’s topics as prompts — ask until you can explain the answer back:
- static sites: what “static” means, and what it can still do
- HTML & CSS fundamentals: structure and layout from the ground up
the web thread proper starts next week — until then, your agent is the web tutor