The gradebook is a legal document
Design notes on the part of the system that ends up in front of an appeals panel — why every override is logged, and why we refuse to let a released grade change silently.
Most of an LMS is software. The gradebook is not. The gradebook is the evidential record behind a decision that can end someone’s degree, and it will eventually be read by somebody hostile — an appeals panel, an external examiner, occasionally a solicitor.
We designed it accordingly, and some of the results are deliberately inconvenient.
A released grade cannot change quietly
Once a grade is released to a learner, changing it requires a reason, and the reason is stored with the old value, the new value, the actor and the timestamp. There is no admin path that skips this. Not for us, and not for your institution’s superuser.
This annoys people roughly once per term, usually when a genuine typo needs fixing at speed. We have kept it because the alternative — a grade that changed and no record of why — is indefensible in exactly the situation the record exists for.
Missing is not the same as zero, until it is
A blank cell is ambiguous, and ambiguity in a gradebook is the enemy. Ours distinguishes three states explicitly:
- Not submitted — shows as an em dash, counts as zero in the weighted mean, and flags the row as incomplete.
- Submitted, not marked — shows as a marking status, and the final column reads pending rather than producing a number from partial data.
- Excused — removed from the denominator entirely, which requires a reason and is logged like an override.
The third one matters more than it looks. Most platforms implement “excused” as “enter zero and adjust the weighting”, which produces a defensible number by an undocumented route.
The final column is arithmetic you can see
If a learner asks how their 67.6 was produced, the answer has to be reconstructable from the same screen. Every component, its weight, its raw mark and the treatment of anything missing — all present, all on one row.
We resisted several requests for a configurable “final grade adjustment” field for this reason. A number that can be nudged by an amount stored nowhere is not a grade; it is an opinion with a decimal point.
What the learner sees
The same row, rendered the same way. Not a simplified version, not a friendlier version — the identical arithmetic their instructor is looking at.
An appeal that begins with “the system showed me something different” is a bad day for everyone, and it is entirely avoidable by refusing to build a second view of the truth.