# ChrTong/UBCHowDoIRank

WebApp for calculating your academic ranking against other students enrolled in the same courses as you.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore

# UBCHowDoIRank

WebApp for calculating your academic ranking against other students enrolled in the same courses as you.

Visit the project by visiting the link: https://chrtong.github.io/UBCHowDoIRank/

## What is this?

TL;DR - A calculator for a fair-er representation of a student's academic performance than GPA.

Explanation - I would argue that GPA is an unfair metric to compare student's grades. For example, lets take two (hypothetical) students, William and Andy. We think William is a stronger student than Andy; he has a 4.1 GPA (using UBC's 4.33 scale) compared to Andy's lesser 3.6. However, this is only because William took GPA booster courses, opposed to Andy, who took more rigorous courses to further his learning.

This is especially problematic, if we are using GPA to decide who gets into med school (again, as a hypothetical example; I don't know UBC's true policy). Should we admit William, who has a higher GPA, or Andy, who may perform better because of his harder courses? To level this playing ground, "How Do I Rank UBC" calculates a fair-er score that more accurately represents a student's preformance. Specifically, we compare a student's grades to the grades of other students who took the same courses.

Using these comparisons, we create a score of the student's relative performance to others. This way we mitigate any effect of courses that are easier or harder than average.

## Methodology

I count the number of people who scored better and the number of people who scored worse than the user by analyzing grade distributions. These grade distributions bucket scores (e.g. 15 people scored between 80% - 84%), so I have to do some approximation to where the user lies if they are in the middle of the grade range of a bucket (e.g. using the example above, if a user gets 82% I approximate that they may rank around ~7 in the 15 people that scored 80% - 84%). I then aggregate the scores from all the courses the user took and output an overall percentile ranking. The lower score the better.

## Found a Bug?

Nothing is bug free. Help me out by reporting any bugs you find. An explanation of what the issue is and steps on how to reproduce it are appreciated.

File a bug here: https://github.com/ChrTong/UBCHowDoIRank/issues