The essential formulas
GPA and CGPA are weighted averages of quality points.
The difficult part is deciding which course rows and repeat attempts are allowed into those totals.
The seven-stage calculation flow
The same sequence is used for every result.
- 1Normalize
Clean portal rows, labels, marks, and credits.
- 2Classify
Mark each row included, pending, exempt, or invalid.
- 3Group repeats
Match exact and cross-listed course versions.
- 4Select attempt
Keep the strongest valid completed attempt.
- 5Find quality points
Use marks and course credit hours.
- 6Total semesters
Divide semester points by semester credits.
- 7Total the record
Divide cumulative points by cumulative credits.
Prepare the published course data
Inconsistent portal rows are converted into a predictable academic record.
- Missing semester labels are carried down from the surrounding result group.
- Credit values such as 3(2-1) are read as three GPA credit hours.
- Obtained marks are read from the published total. A total is derived only when enough published components are present; partial rows remain pending.
- Duplicate portal rows are removed before calculation.
- Course-code spelling is normalized so matching attempts can be compared safely.
Decide whether a course can contribute
A visible course row does not always add GPA credits or quality points.
Completed GPA-bearing course with valid marks and credit hours.
Incomplete, withdrawn, pending, or otherwise not ready for calculation.
Pass/fail, satisfactory, or audit course shown for context but excluded from GPA.
Invalid marks, credits, or malformed source data that must not silently change CGPA.
Resolve repeat and improvement attempts
The cumulative record counts one valid attempt for the same course identity.
Exact course-code matches and cross-listed spellings such as FST-403 and FST/HND-403 are grouped when their normalized code components match.
The strongest valid completed attempt is used in CGPA. If two valid attempts have equal quality points, the later attempt is retained. A later failed, pending, or invalid attempt does not automatically erase a stronger earlier result.
Convert marks into course quality points
Every GPA-bearing course carries 20 maximum marks per credit hour.
Credit hours × 200 quality pointsLinear scale from 1.00 to 2.00 grade pointsLinear scale from 2.00 to 4.00 grade points4.00 grade pointsCourse quality points are rounded to two decimal places before semester and cumulative totals are formed.
Official reference: UAF Controller of Examinations quality-point grading system. This project documents additional handling for imperfect portal rows, repeats, and cross-listed course codes.
See the formula in one semester
Three counted courses produce 28.01 quality points across eight GPA credits.
Status guide
Use this guide when a visible course does not appear in the cumulative totals.
Valid marks and credits contribute to CGPA.
No completed GPA contribution is available yet.
The grade type is GPA-exempt.
A stronger valid attempt is retained.
This is the strongest valid completed attempt.
The row requires review before calculation.