Inspiration

While it is easy at Penn to explore classes within one's own major, we were not familiar with an easy way to learn about classes throughout the rest of the school. We want to provide students with an easy, but intelligent, means of searching for electives during their undergraduate time at Penn.

What it does

We leverage a machine learning platform (SciKit-Learn) to take student preferences regarding courses (including course difficulty and instructor engagement) and compare it to data from the PennLabs Course Review API to generate a course recommendation.

How we built it

For the webapp we used Flask to tie in the HTML/CSS and Python programs. We used SciKit-Learn to process our database of courses and organize them to generate simple recommendations. We use static pickle files to ensure that we respond to queries quickly.

Challenges we ran into

The API was comprehensive but produced data that was challenging to organize. We spent a good deal of time wrangling the data into a form that the machine learning program could understand.

Accomplishments that we're proud of

Getting practice working with different file/data structures Collecting information from across many platforms to provide a complete offering of data regarding past courses. Producing a webapp that students can use today!

What we learned

This was our first comprehensive experience working as a group and using Github to its full potential. We enforced good practices throughout the project regarding version control and buddy-checking conflicts.

What's next for OfCourse

We would like to gather more data where students can make qualitative specifications to narrow down the possible recommendations.

Share this project:

Updates