HACKCMU 2020: CMU Schedule Optimizer

Want to register for a schedule where have you to wake up the latest? Want to take as many in-person classes as you can?

Given a list of your courses and a metric, the CMU Schedule Optimizer generates all possible schedules using data extracted from the Course Catalog in order to find the best one that best fits your needs. It also displays helpful statistics and information so you can best understand your schedule.

Built with Python, HTML, CSS, Javascript, Flask, BeautifulSoup, DayPilot, requests, matplotlib.

We learned a lot about web scraping, heuristics, Flask, and Git.

We faced a lot of challenges with updating the calendar feature of our app with DayPilot. It was also difficult to scrape the data from the CMU course catalog. It was also a challenge to integrate backend and frontend components with Flask, which we learned especially for this project.

Share this project: