Skip to main content

CoursEnroll: The Game

In less than a month from now, tens of thousands of Cornell students will yet again participate in one massive battle against each other, fighting for the best courses and times possible. To every Cornell student, this needs no explanation. For everyone else: here is setting. Every semester, students are required to log to the student management website during a window of three days in order to select classes from the roster. Sounds simple, right? Nothing could be further from the truth. Because class slots are limited, students fiercely compete for the best slots possible as soon as the window opens. This, coupled with the less-than-adequate software backing the system, results in massive frustration and general sadness from almost the entire student body simultaneously.

The most fundamental problem with the infamous CoursEnroll system lies not in its software implementation (though speaking as a CS Major, it does indeed leave much to be desired), but in the nature of the game. Consider each student at Cornell to be a player in this game. The payoffs for each player can be represented by a variety of factors including whether or not they register the courses they want and whether or not their schedule fits their lifestyle. Each player has a very simple pure strategy in order to achieve the highest payoff. They must attempt to register courses as fast as possible as soon as the window opens and continue to adjust their schedule until they achieve the best result possible. If a player decides to delay, in favor of sleep for instance, he or she will not be best responding to all the other players and as a result, will not have as high a payoff. As a result, thousands of students attempt to connect to the server at exactly 7am to register, inevitably driving it to a halt. What’s more, if the page doesn’t load, everyone refreshes it repeatedly, assaulting the server with even more page requests. CIT makes it clear that refreshing isn’t a good idea but we don’t listen. Why should we? We’re attempting to get the best courses possible and refreshing the page is a best response as it may slightly increases the chances that our page requests make it through.

In addition to issue of massive server load, the entire course registration premise is flawed in some sense. While it does feel good to have the freedom to battle it out for your classes, it is completely inefficient and does not produce optimal results. Consider course registration as a matching market scenario. Each student has a specific value associated with a specific schedule. Schedules that he or she would consider registering are given a positive value while schedules with more reasonable class times might be given an even higher value. However, the picking process is completely agnostic of how these values compare with the values of others. Consider the case where a student has successfully registered all the classes he or she wants. Will the average student stop there? No. The average student will continue to swap classes to get better class times. Who wants to wake up at 8am anyway? As a result, the student will attempt to get a better schedule, without considering the effect it might have on other students because that information is not provided. Perhaps this schedule change will prevent somebody from getting into a class they need for affiliation; no way to know for sure. The current system does indeed yield a clearing market, that is, everyone is eventually paired up with a class. Does it produce optimal results for everyone? No. Far from it in fact.

Does a solution to this problem exist? Perhaps, it is hard to say. It would take a very complex piece of software to actually calculate each student’s absolute valuation of a specific schedule and then generate an optimal matching. Even if such a system was implemented, would the average student be happy with it? Probably not. I personally would be quite upset if an auto-generated schedule gave me 8am classes or failed to provide me with a class I wanted to take, even if it did increase the welfare of the entire community. People want to play the game, not have the solution dictated to them, for better or worse.


Leave a Reply

Blogging Calendar

October 2011
« Sep   Nov »