Skip to content

Gradebook: wire up the existing instructor report, add search/sort/low-score flagging #99

Description

@atwine

Filed from a read-only UX/product audit of main. Not urgent — batching under nice-to-have. Companion to the AI-grading-timeout bug filed separately.

Quick win: the instructor report already exists, it's just not wired up

deeptutor/multi_user/gradebook.py has a complete, tested build_instructor_report with CSV export, live at GET /instructor/report[/export] (router.py:889-920). A repo-wide search finds zero frontend references to it. An instructor teaching several course units currently has no UI to see a report the backend already produces — this is a pure "add a button" fix, no new engineering.

Polish

  • The gradebook table (web/app/(admin)/admin/course-units/[courseUnitId]/gradebook/page.tsx) has no search, sort, or filter, unlike the richer StudentDashboard component already built and used elsewhere in admin (StudentDashboard.tsx:81-104).
  • No score is visually flagged as low or failing — every cell renders in the same muted color (gradebook/page.tsx:152-159).

Suggested fix

  1. Add a button/page that calls the existing /instructor/report endpoint.
  2. Reuse (or adapt) StudentDashboard's search/filter/sort pattern for the gradebook table.
  3. Add a simple color/pill treatment for scores below a threshold.

Metadata

Metadata

Assignees

No one assigned

    Labels

    nice-to-haveWorth doing eventually, not urgent — UX polish, ideas, low-priority improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions