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.

Share this project:

Updates