Inspiration
We've all had bad experiences with choosing classes. From advising appointments, to the Schedule Builder, to attempting to navigate the KU website, it can be quite a mess.
So why not have a computer do it?
What it does
The main premise behind our web application is to generate a graduation plan for any combination of majors and minors. Enter your school, major(s), and minor(s), and instantly get results.
How we built it
Frontend: Angular hosted on Firebase
Backend: Flask hosted on Google Cloud App Engine Supabase PostgreSQL database
The algorithm uses a variation of a priority queue to prioritize lower-level courses that should be taken earlier.
Challenges we ran into
Our biggest challenge was creating an algorithm that can create a realistic and accurate graduation plan. We had to compile over 15,000 rows of data for the course offerings at KU in order to have all of the course offerings available.
Accomplishments that we're proud of
We are proud of the way we were able to solve problems with our dataset and create an algorithm that works well. We are lucky to have taken Data Structures.
What we learned
We became much more experienced with querying large datasets. We were very overwhelmed at first, but once we got the hang of it we were able to implement our data into the frontend with ease.
What's next for courseflo
We believe this solution could easily be implemented at universities around the world. Some necessary improvements before it takes off would be adding more schools and more majors. We also want to implement a better schedule optimization, which could take location, time, and difficulty into account.
Note
We have two repositories, one for the frontend and one for the backend. They are both posted in the GitHub link below.
Log in or sign up for Devpost to join the conversation.