# Assignment 2

> 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.

## The brief

> Design the university course you wish existed, and build the website that runs
> it.

Your job is to create a new course for
[Slop University](https://slop.university) (SlopU). In particular your job is to
build the course website as a student in the course would see it. There is no
separate curriculum document, so every decision about the course lands in the
site. Assignment 1 was one page with one interaction; this is twenty-odd pages
that have to agree with each other.

You get to choose the topic/subject of the course, including the course title.
Make it niche: a subject narrow enough that no real university would run it, but
with enough depth to be taught for a full semester. A course that would pass
unnoticed through a curriculum committee is too broad, and rebuilding COMP4020
with just a find-and-replace for a different topic is too low-effort. Sincere,
deadpan and satirical courses are all fine, but you still need to deliver a real
course website. You will be provided a SlopU-branded course website template
repo as a starting point, and there will be a real SlopU "programs and courses"
page where you can browse everything the cohort creates in this assignment
(although you don't have to build that part---just the website itself).

It's really important that your course's curriculum is coherent. A course is one
idea explored throughout a semester, and two key things we're looking for are:
does it hold together, and would (a hypothetical) someone want to take it? An
agent will write lots of 'content shaped chunks', making sure they hang together
is your job. You should make sure the prose isn't just 'AI slop', too; the best
curricula have a unique and compelling voice.

Three real courses, each a site that carries one idea all the way through:

- [Calling Bullshit](https://callingbullshit.org/) --- a point of view stated in
  the title and held for a semester
- [How to Make (Almost) Anything](https://fab.cba.mit.edu/classes/863.25/) --- a
  syllabus that is a list of machines and a course that is the sum of them
- [CS 007: Personal Finance for Engineers](https://cs007.blog/) --- narrow
  audience, plain register, no filler

They aren't held up as 'gold standard', and you're not required to follow their
conventions closely. Courses, universities and education theorists all have
their own things to say about designing a course, and looking around at a few is
part of your job. What you take from that is a position on what a good course
is, and you get to tell us about how you incorporated that into your harness in
your `PROCESS.md`.

Your repo will be automatically provisioned from the course-site starter: the
Slop 'template', the content model, a working deck, placeholder content and one
data-integrity check. Its `README.md` draws the line between what is fixed and
what is yours; its `CLAUDE.md` arrives with no rules in it, because the harness
is yours to write and nothing about the platform is pre-recorded in it. The
university is fixed and the course is yours: SlopU's name, marks and palette,
the content collections and the generated API stay as they arrived, and
everything a course gets to decide---the pages, slide decks, components,
navigation, artwork, styling and every word of content---is up to you.

As well as a course title your course will have a SLOPxxxx course code. The last
three digits will be chosen for you in your template repo, and no other course
in the cohort has them; you choose the first digit (the level) according to the
usual ANU course level scheme: 1xxx-4xxx for UG, 6xxx or 8xxx for PG (the level
is up to you, and doesn't affect your grade). The template artwork is a
placeholder like the rest, and `pnpm check:evidence` will not pass it.

## What you submit

- the **deployed site** (a GitHub Pages URL) --- this is what gets marked
- the **source repository** it was built from --- this is how we read your code
  and your checks
- **evidence of process**: your `PROCESS.md`, your `CLAUDE.md` and the commit
  history behind them. The
  [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/#what-you-submit) sets out what each one
  is and how to cite commits; the starter's `PROCESS.md` template shows the
  shape. `PROCESS.md` runs to **400--600 words** and is your own account,
  written by you for a reader, of how you got from this brief to the harness and
  agentic workflow behind the site you are submitting. Write it as one
  narrative: how directing this particular course changed what you asked the
  agent for and what you accepted back, rather than a run of fixes with a commit
  hash apiece. For this assignment that narrative has a spine: what you decided
  a good university course looks like, which of those decisions you encoded in
  the harness --- as a rule in `CLAUDE.md` or a check in `spec/` --- and which
  you deliberately left out. Cite commits as you go --- an uncited claim isn't
  evidence, and `pnpm check:evidence` fails a `PROCESS.md` with no citations in
  it. There is no separate reflection for this assignment: the
  [week 7 retro](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/06-a2-retro/) presents the breakthrough from this same
  file.

The submission mechanics, the marking environment, deadlines, extensions and
appeals are the same for every task and live on the
[assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/). Read it before you submit.

## How it's marked

Worth 20% of the course, just like Assignment 1. Three criteria, each marked out
of 100:

| Criterion                 | Weight |
| ------------------------- | ------ |
| Legibility of process     | 45%    |
| Working deployed artefact | 20%    |
| Response to the brief     | 35%    |

Markers read the site the way a prospective student would, for about ten
minutes: the home page, a few non-adjacent weeks, an assessment, the deck and
the policies page if there is one, at both viewports. Twelve weeks that repeat
one another, or a site that reads as the starter with the nouns swapped, says
something about your 'response to the brief', regardless of whether or not the
CI checks pass. Restyling isn't required, though: the artefact criterion asks
whether the site works, not what it looks like, and a course that keeps the
starter's look but reads as one coherent, compelling course can land in HD on
every criterion.

Then your `PROCESS.md`, read against the commit history and the `CLAUDE.md` it
points at. Process is the largest criterion, and deliberately so: corroboration
is the floor of that band rather than the top of it. What lifts a `PROCESS.md`
into the HD is the part no commit can supply on its own --- why a call beat the
obvious one, and how you knew the result was right before you accepted it. Here
the calls worth explaining are course-design calls as much as technical ones:
your `spec/` checks are read as the record of what you decided had to stay true
about your course.

The band descriptors are on the
[assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/#marking-rubric).

## Key dates

- **Due:** noon, Monday 21 September 2026, the first day back after the
  mid-semester break
- **Marks and feedback returned:** Friday 2 October 2026

There are no late submissions, but extensions are easy to arrange _before_ the
deadline --- see the [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/) for how.

This is an individual assessment.

Source: <https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/assessments/assignment-2/>\
Licence: [CC-BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)\
Cite as: Swift, B. (2026). _COMP4020/COMP8020 Agentic Coding Studio_ [Course materials]. ANU School of Computing. https://doi.org/10.5281/zenodo.21395760
