Skip to main content

Assignment 1: Build a predictive input system

A working predictive-text build in a domain of your choice, submitted with a short written account of exactly where and why it fails

Due: 26 March 2027 · Weight: 25%

The brief

Build a small predictive-text system, and be a better critic of your own build than anyone marking it will be.

Weeks 1 through 4 gave you four domains — keypad disambiguation, autocorrect, query completion, accessible input — each with its own vocabulary, its own signal, and its own way of going wrong. Pick one, build a working version of it, and then do the harder part: find where it breaks, and say precisely why.

The build doesn’t need to be sophisticated. A T9 disambiguator that also handles a second, harder constraint — disambiguating whole two-word phrases, say, or ranking by a frequency list you built yourself rather than alphabetically — clears the bar. A straight copy of the week 1 lab does not, because the brief is asking for a build you extended past the version everyone in the room already has.

The write-up is worth more than the build. A working system with a shallow write-up (“it doesn’t always get the right word”) will mark lower than a rougher system whose write-up correctly identifies the mechanism behind each failure — because identifying the mechanism is the skill this course is actually teaching.

What you submit

The spec

The brief poses the problem and leaves room for a response. The spec is the fixed part: what a marker checks. Some lines can be checked mechanically; the rest call for judgement.

How it is marked

CriterionWeight
The build works on its stated inputs35%
The failure-mode write-up is specific and evidenced45%
The chosen domain is harder than the minimum viable version20%