The purpose of our project is to create a program that suggests courses to CS students,
based on what remaining classes they need to take to finish in the shortest time possible.
The students enter their major option and what classes they have completed. Our program
then generates an optimal schedule for upcoming semester from the list of available classes.
Students can adjust the order of courses they take, or otherwise rearrange or delay the
classes listed in a way that adds no more than 1 year to their expected graduation time,
and then export it to a printable format.


Important restrictions to keep in mind is that this is not a scheduling program
or a registration program. It is the student's responsiblity to check for possible
time conflicts, and to sign up for courses on time.