Enrolment

ANU Enrolment, redesigned

A prototype replacement for the part of ISIS students use to add courses. You search the First Semester 2027 postgraduate computing courses by code, name or keyword; every course says whether you can take it, and why not, before you press anything; one press enrols you, and your plan and your week update beside the list. Enrolments are stored in SQLite, so they survive a reload and a redeploy.

The enrolment page: a searchable list of courses, each marked with whether you can take it, beside your plan and a week grid showing a clash

What good looks like here

I walked the real ISIS add-a-course flow in a logged-in session and recorded all nine screens (docs/research/isis-enrolment.md in the repo). Adding one course took two different “Add Class” buttons, an error dialog in between, a final button called “Save”, and only then did the system say whether I was allowed to enrol at all. Courses were identified by a class number nobody knows, titles were truncated, and nothing showed prerequisites or teaching times. Good, here, is the opposite of each of those:

The same page on a phone: the plan collapses to a summary bar above the list

Judgement calls

What is enforced, and what is judged

The tests in spec/ hold the promises that don’t depend on taste: a course enrolled in is still there after a reload; the server refuses a course that isn’t offered, a duplicate, an unmet requirement and a plan over 24 units, each with a 4xx and a reason; dropping works and can’t touch another student’s plan; a clash enrols with a warning; other open tabs hear about a change; and each kind of page (home, enrolment, a course, this one) passes the accessibility floor. Unit tests hold the requirement and clash rules, including that reasons use titles, not codes.

The visual design and the words are judgement. Colour contrast was checked by hand in both light and dark mode, because the automated accessibility pass can’t measure it.

What I chose not to build

Try it as

Use “Viewing as” at the top of the page to switch between three fictional students:

Data

Course details are from ANU Programs and Courses, teaching times from the ANU timetable, both fetched on 28 September 2026 and committed as a snapshot. This is a student prototype, not an ANU service.