University exam scheduling algorithm/problem

I wonder how to schedule 10k students to do exams in 2 weeks and guarantee no student will have an exam in two consecutive periods. I'm assuming some form of heuristics be applied.

All we know :

  1. Number of students and the courses that they're each enrolled in.
  2. Number of exam period spots.


  • This is a famous computer science problem (the exam scheduling problem) which is known to be NP-hard. You might not be able to solve it over a weekend.