Grading System

GradeForge supports different grading systems based on the type of student. This page explains how grading works for different student types and how grades are calculated.

Student Types and Grading

GradeForge supports three types of students, each with its own grading system:

Generic Student

The base Student class uses a simple numeric grading system:

  • Grades are stored as numeric values (typically 0-100)
  • Subject average is the mean of all grade scores for that subject
  • Overall average is the mean of all subject averages
  • Pass/Fail status is determined by comparing the overall average to a threshold (default: 50.0)

High School Student

The HighSchoolStudent class extends the base Student class and uses the same numeric grading system:

  • Grades are stored as numeric values (typically 0-100)
  • Subject average is the mean of all grade scores for that subject
  • Overall average is the mean of all subject averages
  • Pass/Fail status is determined by comparing the overall average to a threshold (default: 50.0)

College Student

The CollegeStudent class uses a letter grade and grade point system:

  • Grades are stored with both a letter grade (e.g., "A+", "B-") and a corresponding grade point (e.g., 4.0, 2.7)
  • Subject average is the mean of all grade points for that subject
  • Overall GPA is calculated by weighting subject averages by credit hours
  • Academic standing is determined based on GPA and the presence of "F" grades
For College Students, the GPA is calculated by multiplying each subject's average grade point by its credit hours, summing these products, and dividing by the total credit hours attempted.

Letter Grade to Grade Point Mapping

For College Students, the following mapping is used to convert letter grades to grade points:

GRADE_POINTS = {
    "A+": 4.0, "A": 4.0, "A-": 3.7,
    "B+": 3.3, "B": 3.0, "B-": 2.7,
    "C+": 2.3, "C": 2.0, "C-": 1.7,
    "D+": 1.3, "D": 1.0, "D-": 0.7,
    "F": 0.0
}

Academic Standing for College Students

College Students are assigned an academic standing based on their GPA and the presence of "F" grades:

  • Good Standing: GPA ≥ 2.0 and no "F" grades
  • Academic Warning: GPA ≥ 2.0 but has "F" grades
  • Academic Probation: GPA < 2.0
  • Failing: GPA < 1.0

Grade Calculation Examples

High School Student Example

For a High School Student with the following grades:

  • Math: 85, 90, 78 (Average: 84.33)
  • Science: 92, 88 (Average: 90.00)
  • History: 75, 80, 82 (Average: 79.00)

The overall average would be: (84.33 + 90.00 + 79.00) / 3 = 84.44

With a passing threshold of 50.0, this student would be in "Pass" status.

College Student Example

For a College Student with the following grades:

  • MATH101 (3 credit hours): A- (3.7), B+ (3.3) (Average: 3.50)
  • PHYS201 (4 credit hours): B (3.0), C+ (2.3), B- (2.7) (Average: 2.67)
  • HIST101 (3 credit hours): A (4.0), A (4.0) (Average: 4.00)

The GPA would be calculated as:

(3.50 × 3) + (2.67 × 4) + (4.00 × 3) / (3 + 4 + 3) = 3.31

With a GPA of 3.31 and no "F" grades, this student would be in "Good Standing".