Although the University of Göttingen's exam data can be viewed by students in FlexNow, it is not easy to work with them there anymore. Therefore, I would like to offer a way to manipulate the exam data, e.g. B. Find out which exams are the easiest/hardest or which lecturers give better grades.
Features that should be included are:
The university server can be requested to send all data that can be viewed in FlexNow using simple GET and POST requests. For this I use the modules requests
, urllib
and json
. A relatively complete data set can be created from this.
A POST request must be sent for each of approximately 10,000 modules, from which the data for individual exam dates (I only collected data for the last 10 semesters) can be found. The data can then be saved in table form using pandas
. I also use numpy
for manipulation.
To save others some work, I will add my own mini version of API documentation to this repository when I get around to it. Can be found as documentation.md
. In addition, the data set that I use can be found as module_data.csv
in this repository.
I changed the data over several steps using pandas
functions. In hindsight, I would have liked to have done it in a Jupyter Notebook as it would have been clearer. Searching and manipulating data in user requests is handled via functions in analyze_modules.py
.
Hosting of the APP runs via the gunicorn
and module Heroku GCP. The app can be found here (new URL because Heroku no longer has a free plan).