The system sets incentives for you to reveal all preferences truthfully. You cannot make yourself better off by submitting only your top preference or a different preference. Then the stable matching system tries to find solutions such that no two pairs of course organizers and students want to change and the students’ preferences are maximized. We use the many-to-one version of the well-known algorithm by Gale and Shapley (1962), which is being used in large-scale applications such as the US National Resident Matching Program.

http://en.wikipedia.org/wiki/Stable_marriage_problem

http://en.wikipedia.org/wiki/National_Resident_Matching_Program

There are always courses which are heavily overbooked and not all students can be admitted. However, even in the initial pilot most students got one of their top two preferences. There are also cases where students cannot be assigned to any course on their preference list because all of them are heavily overbooked. This is unavoidable and a matter of supply and demand. At least now we have detailed data on when this happens and can take this into account in the capacity provided for future semesters.