Inspiration

We wanted to create a method to systematically make recommendations on what classes would be best to add to your schedule in any given semester.

What it does

Taking in parameters of what classes a student has taken in previous semesters, and what classes they defintely are already taking this semester, our program makes a recommendaton on what classes they can add to their schedule. It analyzes which blocks of time are free/available to fill with class, as long as said class does not exceed your unit cap, and you have completed prerequisites.

How we built it

All of the algorithm was written in Python, and then the front end was built using HTML/CSS, with Flask as a framework for running python code on a webpage

Challenges we ran into

The api used to pull class information was very slow, and not practical to use everytime we wanted to pull data. We overcame this by making a local copy of the full database, and then reading that database into python for faster I/O.

Flask was also a brand new tool to us, as none of us had done any Python for web development, let alone use a framework. We had to do a lot of research and trial and error to get the framework up and running correctly.

Accomplishments that we're proud of

After pulling the data out of the API, it was reatively quick and efficient to access all information about any course title, using a system of nested dictionaries. This allowed for easy reference and access to the information at any point, and allows for future expansion upon the daa displayed.

What we learned

On the technical side, we definitely learned the most about Flask and how it works to allow Python to work on the web and it will useful for any future web development. We also learned about Python dictionaries, and how they can be nested to create powerful data storage types. Using Git and version control was also new for some of our members, so they learned about a valuable and popular tool that is essential for programming. On the personal side, we figured out how to delegate work amoung team members, how to take breaks and naps at strategic times, and how to work under stress. Perhaps most importantly, we learned the skills necessary to work well together, without harming each other's progress.

What's next for Schedulr

We hope to integrate Google Map's API into our system so that in addition to giving you courses to take, it also is able to produce the route that is time optimized for your schedule.

Built With

Share this project:

Updates