Patrick H. PanUpdated 25 Oct 2026

← Tangents

PrairieGrader.

A grader for essay exams in which the page I grade on is the page the student gets back.

01 Sep 2026

Filed underPedagogy

The philosophy exams I grade are stored on PrairieLearn, a testing platform that exports a whole course’s answers as one CSV. PrairieGrader turns that spreadsheet into something to read and mark. It runs in the browser from a single HTML file, with no server and nothing uploaded, so students’ answers never leave my laptop.

The idea is that the grading surface is the document the student receives. Each answer is set as a page with a wide right margin beside it. Selecting a phrase, or double-clicking a word, opens a comment in the margin next to that line. When grading is done, each student gets a PDF laid out as I saw it, with comments where I wrote them. Under each criterion’s score is the rubric’s description of the level awarded, so a 1 out of 5 comes with its reason.

Grades can be points, letters (with marginals like B+/A−), or scores per rubric criterion, and a curve can shift the class or set a target mean and spread. A student who handed in nothing can be held out of the curve, so a real zero stays zero instead of dragging everyone else down and then being lifted back up.

PrairieLearn exports the whole course, with no way to ask for one section, so a GSI pastes in the addresses of their own students and everyone else disappears from the pages, the grade sheet, and the exports. Grading can be blind: each student gets a pseudonym, stable within an exam and different across exams, and names come back only once every answer has a grade. Students who sit the exam late arrive in a later export, which folds into the one already open. When a new answer conflicts with an old one, the grader decides which to keep. For a course with a settled rubric, a preset build fixes the criteria and their descriptions so that no grader drifts out of the agreed format by accident.