Skip to content

Grading Systems ​

Configure grade scales and GPA calculation.

Overview ​

Grading systems define:

  • Available grades
  • Quality points for GPA
  • Grade policies (Pass/Fail, Incomplete)

Viewing Grading Systems ​

  1. Navigate to Admin > Grading Systems
  2. View configured systems
  3. Click a system for details

Creating a Grading System ​

  1. Click Add Grading System
  2. Configure:
FieldDescriptionExample
CodeIdentifierSTANDARD
NameDisplay nameStandard Letter Grades
DescriptionDescriptionMain undergraduate scale
Is DefaultDefault for new coursesYes/No
  1. Click Save

Grade Definitions ​

Adding Grades ​

  1. Open grading system
  2. Go to Grades tab
  3. Click Add Grade
  4. Configure each grade:
FieldDescriptionExample
GradeLetter gradeA
Quality PointsPoints per credit4.0
Include in GPAAffects GPA calculationYes
PassingCounts as passingYes
OrderDisplay sequence1

Standard Grade Scale ​

GradePointsGPAPassing
A4.0YesYes
A-3.7YesYes
B+3.3YesYes
B3.0YesYes
B-2.7YesYes
C+2.3YesYes
C2.0YesYes
C-1.7YesYes
D+1.3YesYes
D1.0YesYes
D-0.7YesYes
F0.0YesNo

Special Grades ​

GradeMeaningGPA
PPassNo
NPNo PassNo
IIncompleteNo
WWithdrawalNo
AUAuditNo
IPIn ProgressNo
NRNot ReportedNo

GPA Calculation ​

Quality Points ​

GPA = Total Quality Points / Total GPA Hours

Quality Points = Grade Points × Credit Hours

GPA Types ​

TypeDescription
Term GPASingle term calculation
Cumulative GPAAll terms combined
Major GPACourses in major only
Institutional GPAExcludes transfer credits

GPA Rules ​

Configure calculation rules:

  • Repeat course policy (replace or average)
  • Transfer credit treatment
  • Incomplete grade handling

Pass/Fail Grading ​

Configuration ​

  1. Define P/NP grades in system
  2. Set passing threshold (C or better = P)
  3. Configure limits:
    • Maximum P/NP credits
    • Courses allowed for P/NP
    • Deadline to elect P/NP

Student Election ​

Students may elect P/NP:

  • During election period
  • Subject to restrictions
  • Faculty enters letter grade
  • System converts based on threshold

Incomplete Grades ​

Incomplete Policy ​

Configure incomplete handling:

  1. Default grade if not completed
  2. Completion deadline
  3. Extension procedures

Processing Incompletes ​

  1. Faculty assigns I grade
  2. Enters default grade
  3. Sets completion deadline
  4. When completed, grade updated
  5. If not completed, converts to default

Grade release ​

A final grade entered by faculty is not automatically publishable outside the SIS.

A grade is publishable when its latest change is Colleague-sourced, or when a registrar release covers it (records.grade_releases, migration 203).

Release gates every faculty grade, not a selection

This is a registrar-controlled gate over faculty grade entry as a whole. Until a release covers them, faculty-entered final grades are held back from external publication — notably from any connected LMS, where grade passback fails closed: if the release gate is not wired at all, passback publishes nothing rather than publishing ungated grades.

Enabling LMS grade passback does not replay history: the first scan for an LMS instance only initialises its watermark, and the release hook enqueues held grades the moment the registrar acts. See LMS Setup.

Withheld grades ​

A final grade can be withheld (migration 232). A withheld grade is not published, and is distinct from a missing grade.

Grade visibility rules (hold a grade from the student) ​

Grading → Grade Visibility Rules (GRADING.VISIBILITY, migration 299) hides official grades from the student's own view until a condition is met. The usual case is "complete the course evaluation to see your grade".

This is not grade release

Grade release (above) decides whether a grade is official. A visibility rule only decides whether the student can see it yet:

  • A held grade still counts in GPA and standing.
  • It still prints on the official transcript.
  • It is visible on every staff screen.

The rule also applies to Colleague-imported grades, which is most of them.

Each rule belongs to one term. It narrows to the whole term, one course or one section, and optionally to one academic level. It has one of two conditions:

ConditionMet when
Completion recordedA completion is recorded for the student. Per section needs one per course evaluation; per term needs one that covers every section.
Released by hand onlyA registrar releases that student's grade.

Releasing itself: each rule can set a date when it releases itself, so every grade it holds becomes visible then even if the condition isn't met. If you leave the date empty, grades stay held until the condition is met or a registrar releases them.

Releasing one grade by hand: open a rule's student list, choose Show grade on one student's row, and add a reason if you want. That student sees that one grade, and their other held grades stay hidden. Hide again undoes it.

Recording completions: upload the evaluation system's CSV export.

  • The header row must have a student-number column. student_number, colleague_id and id are all accepted.
  • A per-section rule also needs course_code and section_code. If section_code is missing, the course alone is enough when the student is in only one section of it.
  • An optional completed_at column records when the student finished.
  • Extra columns are ignored.
  • Re-uploading the same file updates existing rows; it doesn't duplicate them.
  • Rows that can't be matched are listed with the reason. Common reasons are an unknown student number or a student who isn't enrolled in that course.

Integrations can post the same data as JSON to POST /grading/visibility/rules/{id}/completions.

What the student sees:

  • My Grades: shows Held in place of the grade, with the rule's message and link. The cumulative GPA is replaced by a note until every grade is visible.
  • Their own transcript: term and cumulative GPA figures are blanked from the first held term onward, because a held grade could otherwise be worked out from them.
  • Grade history: the held grade is blanked.

Not yet covered

The student's degree audit still shows held grades. It also shows grades the registrar has not released yet, which is a separate existing gap. Hiding a grade there needs the audit engine to treat the course as in progress; masking the response would still give the result away through the failed-course list and requirement status.

LMS grade passback ignores visibility rules. If a section passes grades back to Canvas, the student sees the grade there.

How a grading system is chosen ​

Resolution is section, then course, then the academic-level default (records.academic_level_grading_systems, migration 188). Migration 189 cleared a blanket course-level grading system that was overriding the level default everywhere.

Grade Changes ​

Change Policy ​

Configure who can change grades:

  • Instructor (within deadline)
  • Department chair
  • Registrar
  • Required approval workflow

Grade Change History ​

All changes logged:

  • Original grade
  • New grade
  • Who changed
  • When changed
  • Reason

Student Information System Documentation