Thursday, May 30, 2013

Wharton's new Course Match for MBA students to choose their classes: market design in action

Eric Budish, Judd Kessler and Abe Othman (all veterans of my market design class at Harvard) have been champions in helping Wharton adopt and implement the course scheduling technology that Eric developed for his dissertation.  Here is Wharton's introductory video (and the course match site is here: Course Match)

Here's the Faculty FAQ:
Course Match FAQ for Faculty

How it works
With Course Match students express their relative preferences across sections. Each student is endowed with a set of course tokens which are used to purchase seats.  Second year students are given more tokens than first year students, and first year students are given more tokens the more fixed core courses they waive. Students must submit their preferences by August 14th. Then Course Match establishes a clearing price for each section such that (a) every student gets the best schedule they can afford and (b) course capacity constraints are satisfied.  A Drop/Add period begins shortly before classes start to allow students to make final adjustments to their schedule.

How many students will be enrolled in my class?
Each section has a target capacity, T, and is assigned in a room that has a legal limit of C seats, where clearly T <= C.  Typical values for T are 36, 60 and 78. Course Match attempts to assign no more than T students to a section.  However, the maximum number that will be enrolled is min{1.1 T, C}. We refer to this as the “10% rule” – if the room allows it, we will allow up to 10% more students above the target capacity in order to optimize the solution if necessary. For example, if T = 60, but the section is assigned to a room that legally can seat as many as 78 students, then Course Match may assign as many as 1.1 x 60 = 66 students.  However, if the section is assigned to a room that seats 60, then no more than 60 students will be enrolled. Note, the target capacity remains the target – Course Match attempts to adhere to the target. For example, if T = 60, Course Match views a solution with 60 students as preferred over a solution with 64 students (and 64 would be considered only if it is legal). But as Course Match utilizes a complex integer programming optimization engine, the quality of the overall solution improves considerably by allowing 10% leeway.

Does the 10% rule apply to every section?

When will I be able to see my course enrollment?
On August 21 fall semester enrollments will be available to students and faculty.

How will drop/add work?
Students submit requests to drop or add sections. Students must always have a feasible section. Therefore, if they add a section that conflicts with a section they already own (e.g., the two sections are the same course or they meet at the same time), then the added section is retained and the other section is automatically dropped from the student’s schedule. First-come first-served waitlists are maintained for every section, and students are removed from the waitlist whenever a seat becomes available.  “Chain reactions” of drops and adds are possible. For example, if a student adds course A, which triggers that student to drop course B, then the first student on course B’s waitlist is automatically added to the course, which may cause that student to drop a course (because of a conflict). The series of adds and drops continues as far as it progresses to maximize the number of trades and to remove as many students from waitlists as possible.

When will the Add period start and end?
The add period starts shortly before classes begin and continues to September 9th – the Add period ends once every section has met at least once. Students will not be able to add Q1 and semester courses after September 9th.

Can students add my class after the add period ends?
Yes, but after the add deadline, students may add a course only with written permission from the instructor.

Will the course waitlist be maintained after the add period?
No. At the end of the add period, waitlists are deleted.

If my enrollment is greater than my target, T, will students be added to the class?
No. If, due to the 10% rule, enrollment slightly exceeds T, students will be added to the class only when enrollment falls below T.

The academic papers on which this work is based, so far, are here (from Eric Budish's site, so when there's no author listed, it's just Eric):

1 comment:

Frank said...

Kidney exchanges will be covered in an online course starting in two weeks: