Demonstrated aptitude for low-level programming in the Odin programming language to implement a system capable of assisting Carleton U students during timetable creation. Designed and tested multiple permutation algorithms, created a user-friendly REPL to interface with the system. Learned about multi-threaded design practices, using semaphors to synchronize tasks across threads. (..and saved myself a life-threatening headache during course registration and troubleshooting lol)
Can be accessed here.
Yeah, it's been done before--but I know a good excuse to program when I see one. This project was a great learning tool for learning more about the Odin programming language, and was invaluable while troubleshooting and re-developing my schedule during registration; I absolutely couldn't have found the ideal solution to this year's impossible registration constraints without it.
That being said, it does leave some to be desired. Next year I will likely make a version two, given I have the time. This improved version will allow the user to solve all 3 terms at once, instead of one at a time. Such an approach would allow for easy course-swapping between terms, which isn't very well supported in this first version.
If you happen to be a maintainer of Carleton's online registration infrastructure, contact me! I would love to implement this featureset on your website. Students would no longer need 3rd party tools to complete registration optimally, and the registrar's office would have less overrides and poorly chosen schedules to crunch through. It's a win for everyone involved :)