Cal Poly Class Search
Jalius Welch
Inspiration
The EE department at my school had a special policy of not allowing a waitlist for classes with labs. During registration time, I was spending a lot of time checking the course registration page for classes. Therefore, I decided to make an automated tool that would check the course registration page and send notifications to my phone if new openings appeared.

Program Design
While I was only really looking for EE classes for a quarter, I wanted the program to work for students in other departments and for future years. Therefore, I designed the program to be configurable between catalog years and departments, by a user configuration file. The program was also designed to run 24/7 on a dedicated server, so it was implemented as a CLI Python program.

I decided to have the program run on Google Cloud Compute Engine servers, because they offered 24/7 use of a low-power server as part of the service’s free tier.

Using a standard Linux distribution with systemd, I created a startup and monitoring service that would keep the class search tool running and handle auto-restarting.

Final Product

The final program was able to help me find classes for 3 quarters in a row. First I could configure the classes I wanted, then I would receive phone notifications whenever seats opened up. The program should continue to work as long as the course registration page is not significantly changed.