Inspiration

Students always have a hard time managing all the courses they want to take, and specifically figuring out the best schedule of courses to take in a certain semester. This program allows students to see a mock schedule of the courses they want to take.

With a name inspired by the UofA's Beartracks, we aim to make the schedule building process for students a little more efficient and productive.

What it does

The program takes user input of potential lecture, lab, and seminar times, and then tries to generate a mock schedule with each of the unique courses inputted, if one or more exists. If one does not exist, the user is prompted to enter less courses.

How we built it

We built our program entirely in Python 3, using the standard library for all back end implementation, and we used the external python module pyGame for the front end implementation, as we all had previous experience with it and wanted to ensure our back end was as good as possible.

For version control, instead of using branches on Github, we decided instead to make use of the VSCode LiveShare extension so we could collaborate and problem solve in real time

Challenges we ran into

We sadly were unable to figure out how to generate multiple possibilities in the case that the student entered multiple lecture or lab/seminar sections for the same course. We were able to figure out how it would theoretically work for only one duplicated lecture of lab/seminar, but could not figure out how to apply it to larger amounts of duplicates.

We also had issues testing as the LiveShare extension we used only allowed the host of the session to test, generating a bit of a bottleneck for testing and debugging in real time.

Accomplishments that we're proud of

We are incredibly proud of ourselves for being able to find an extension of ESTF scheduling algorithms that allowed us to applied to parallel schedules for multiple days of the week.

We also are quite proud of our UI design, although not aesthetically the prettiest, we do believe it to be user friendly and think it is an excellent example for our first time designing UI.

What we learned

We learned a lot about working collaboratively in a project. We all also had a great refresher of our python skillset and even expanded upon our abilities working with and modifying common algorithms found all across our discipline.

What's next for Course Scheduler

In the future, we would like to see the implementation of multiple schedules for the inputting of multiple course sections for the same course. We also would like to see more options for day design in regards to letting the user enter any custom permutations of days possible, as that more accurately reflects courses at the UofA. Eventually, we would love to be able to pull data from Beartracks or the Course Catalog itself to streamline the program and make it much more user friendly.

Built With

Share this project:

Updates