Each term, the MIT Schedules Office must assign a time slot for each final exam. This is
not easy, because some students are taking several classes with finals, and a student can
take only one test during a particular time slot. The Schedules Office wants to avoid all
conflicts, but to make the exam period as short as possible.
We can recast this scheduling problem as a question about coloring the vertices of
a graph. Create a vertex for each course with a final exam. Put an edge between two
vertices if some student is taking both courses. For example, the scheduling graph might
look like this: