In order to come up with a better course scheduling system, we must first properly understand the current domain we are working within. For us, this means that we must examine how course scheduling in UVA SIS works. Luckily, we did not need to do much extra research on SIS, as each of us have been using it for almost four years now.
SIS gives scheduling more scheduling priority to students as they progress through their college career. That is, 4th years who are enrolling in class for their last semester get the foremost enrollment priority, while rising 1st years get the last pick on classes. This method of course scheduling can be quite bothersome and even stressful for underclassmen. It is this problem that we aim to solve.
Almost every UVa student, at one point or another, has encountered an issue when enrolling in classes, from not getting into a required class to all classes that you planned on taking filling up before you had time to re-organize your schedule. For this reason, this will be a fun project to solve as we will take on an issue that we have all experienced first hand. We all enjoy problem solving and are excited to think of new innovative solutions to this problem, which has gotten in the way of our fun in the past.
The problem will also be technically interesting because it will give us a chance to practice and compare the different algorithms that we have learned throughout the class. This will give us the opportunity to explore and compare a variety of technical and theoretical solutions to develop our skills as problem solvers.
As for why this project is relevant, this project could be useful for the University, as we might be creating a model that will accomplish a higher maximum utility for students and the University as a whole when enrolling in classes.
Thus, our objective is to create a more stress-free and perhaps more egalitarian course scheduling system, so that students always get to take the classes that they value most.