Skip to content
Studeia Docs

Gradebook: grades, categories and rubrics

Studeia gradebook with GradeCategory (weight, drop-lowest), GradeItem (activities), Grade, Rubric (criteria). CSV export with weighted average. Integrity flags inline. Expandable breakdown.

2026-05-31 5 min
Resposta curta

Studeia gradebook organizes grades via GradeCategory (weight, drop-lowest), GradeItem (activities, optionally linked to a lesson) and Grade (individual scores). Supports multi-criteria rubrics, expandable breakdown for students, CSV export with category-weighted average + drop-lowest, and inline integrity flags (ShieldAlert for quizzes with tab switches, copy/paste-while-blocked or time anomalies). Late penalty and scheduled date-based release are on the roadmap.

Model

GradeCategory (weight, drop_lowest)
  └── GradeItem (activity — quiz, assignment, manual; optional lesson link, dueDate, isPublished)
      └── Grade (per-student grade)
          └── Rubric (optional — criteria)

Calculation (CSV export)

The CSV export computes the weighted final grade as:

courseGrade = Σ (categoryAvg × categoryWeight) / Σ weightsUsed
categoryAvg = average(itemPercents after dropping the category's drop_lowest)
itemPercent = studentScore / itemMaxScore × 100

Items without a category are weighted by their own GradeItem.weight. Only published items count.

Roadmap: automatic late penalty based on submittedAt > dueDate and scheduled date-based release are not yet enforced. dueDate is stored and shown; isPublished controls visibility.

Integrity flags

QuizAttempt persists tabSwitchCount, copyPasteCount, blurCount, total timeSpentSec, IP and user-agent. A 🛡️ ShieldAlert appears next to a quiz grade in the gradebook when the attempt is flagged — e.g. tab switches over the configured maximum, time over the limit, or copy/paste attempts while copy/paste is blocked. Average time per question is derived from timeSpentSec ÷ question count (not stored as a column). Tooltip shows the flag reason.

Export

GET /api/institution/gradebook/[courseId]/export returns CSV with student, email, each GradeItem as a column, and the weighted average. Compatible with Google Sheets, Excel.

See also

FAQ

How do I do weighted average?

Create GradeCategory with weight (e.g., 'Quizzes' 40%, 'Tests' 60%). Each GradeItem (activity) belongs to a category. Studeia calculates weighted average automatically.

Can I use rubrics in assignments?

Yes. Create Rubric with criteria (each with scale 1-5 or custom). Link to a GradeItem or assignment lesson. When grading, teacher evaluates criterion-by-criterion and system calculates final grade + expandable breakdown for student.

Does student see grade immediately?

Gradebook items use GradeItem.isPublished — students see a grade once the teacher publishes the item. Quizzes have their own showResultsMode (after_submission, after_due_date, after_all_attempts, manual_release, never). Scheduled/date-based auto-release for gradebook items is on the roadmap; today release is the publish toggle.

Does it have plagiarism detection?

For text assignments: Turnitin integration via LTI (roadmap). For quiz: native academic integrity (tab switch, time anomalies — shown as ShieldAlert in gradebook). For essays: optional LLM detection (admin enables).

Veja tambem

Gradebook: grades, categories and rubrics