Info
Difficulty scores were made to try to quantitatively distill the difficulty of a class using course evaluations into a single number.
FAQ
Loading...
Difficulty scores are scaled the same as OPS+ in baseball. This means the intention is that 100 is the average Rice class difficulty while a score of 150 is a class that is 50% harder than the average and a score of 50 is a class that is 50% easier than the average.
All classes since fall semester 2007 that have either 2 or more people that responded to expected grade or 2 or more people that responded to expected pass fail.
R Code: difficulty = 1.5 * (1-1/(`Expected_Grade Responses`+1.1)) * (`Expected_Grade Class Mean` - mean(`Expected_Grade Class Mean`))/sd(`Expected_Grade Class Mean`) + 2.5 * (`Workload Class Mean` - mean(`Workload Class Mean`))/sd(`Workload Class Mean`) + 1.2 * (pass_fail_percent - mean(pass_fail_percent))/sd(pass_fail_percent) + 1 * (`Overall Class Mean` - mean(`Overall Class Mean`))/sd(`Overall Class Mean`) + 0.5 * (`Challenge Class Mean` - mean(`Challenge Class Mean`))/sd(`Challenge Class Mean`) + .25 * (`Assignments Class Mean` - mean(`Assignments Class Mean`))/sd(`Assignments Class Mean`) difficulty_scaled = 100 + 90 / abs(min(difficulty4)) * difficulty4 How were these weights and scaling chosen? These ratings are for entertainment purposes only. This combination of weights gave results that seem to mirror the public perception but there is not a way to get true numbers so this serves as an estimate.
Data is protected at the database level and is enforced to users who have verified a @rice.edu email address. The website is secured using passwordless authentication.
Custom difficulty allows students to input difficulty ratings for classes they took in the past and then the website runs and MLR to determine how difficult other classes will be for them.
The dark blue bars are the values for the selected course semester while the light blue bars are the course's historical averages. For each of the bars, a lower value is better, meaning either a higher grade, easier workload, or better organization.
All calculation is done locally and saved to your browser. Nothing is sent to the database.
Supabase, SvelteKit, R tidyverse, Python BeautifulSoup, Python Selenium, Papercss.
The repo contains code to scrape course evaluations which should not be public.