Context
The admin dashboard has runner/health analytics. The instructor view has activity cards (v0.4.48) but nothing aggregating student performance across an assignment. Modern systems give you histograms, time-to-first-pass distributions, and "this test is failing for 70% of students — your spec is probably ambiguous" signals.
Goal
Per-assignment analytics page:
- Score distribution histogram (final / best-submission scores).
- Time-to-first-pass distribution (how long from first attempt → first all-green).
- Submissions-per-student distribution.
- Per-test pass-rate sorted descending — easy to spot outlier-hard tests.
- "Students with zero submissions" call-out.
- "Students whose last submission was >7 days ago and not passing" — at-risk indicator.
Per-course rollup:
- All assignments side-by-side: median score, % submitted, % passing.
Done when
- Instructor lands on a single dashboard URL per assignment showing the above.
- Loads in <1 s for a class of 300.
- Charts use the existing sparkline / chart stack from the admin dashboard.
Out of scope
- Statistical inference (item response theory, etc.) — descriptive only.
- Per-student deep-learning predictions.
Context
The admin dashboard has runner/health analytics. The instructor view has activity cards (v0.4.48) but nothing aggregating student performance across an assignment. Modern systems give you histograms, time-to-first-pass distributions, and "this test is failing for 70% of students — your spec is probably ambiguous" signals.
Goal
Per-assignment analytics page:
Per-course rollup:
Done when
Out of scope