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
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".