Inspiration

GOLD is buggy, so we wanted to make course scheduling a more stress-free experience, and develop a program that is more user-friendly and adaptable.

What it does

Our program takes a user's inputted courses, along with features such as start/end times and professor ratings taken from RateMyProfessor. It then produces a number of ranked potential schedules that the user can then select from.

How we built it

We primarily used Flask, Python, and JavaScript. JavaScript and HTML were used to handle the frontend, while Python was used to fetch and process data as well as write the backend algorithm.

Challenges we ran into

Some (but definitely not all) challenges included having no API access, so we had to create our own dataset. RateMyProfessor's API was a bit outdated, and it was also half our group's first time working with Python. Interfacing multiple languages with each other also presented to be difficult.

Accomplishments that we're proud of

We were able to gather and process sufficient data to produce a decent model for what the project could grow to become. Also, we were able to handle a lot of user preferences and cases within the code without requiring user input.

What we learned

We learned how to interface with APIs and handle larger databases.

What's next for UCSB Course Schedule Builder

We'd like to add more user preferences that we didn't have the time to work on, such as meal time preferences.

Share this project:

Updates