X Medical students must complete a clerkship program in their fourth year.
Individual students have preferences for the clerkships to which they are assigned.
However, individual hospitals also have capacities on how many students may be assigned to each clerkship. The problem of scheduling medical students to clerkships is formalized. The problem is then placed in a theoretical framework, and the most general case of Clerkship Scheduling is proven NP-hard. A detailed approximation algorithm is given, and an implementation of this algorithm is discussed and tested. The text of the source code is also available on the web .