Given a list of students and their courses, place them in specific classes
At first glance, the stable matching problem's solution is discussed in the following pdf.
https://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/01StableMatching.pdf

It would be hard to cast the course assignment problem as stable matching because he fact that the courses have a finite capacity 

However, the following pdf states that, http://dss.in.tum.de/files/bichler-research/2014_diebold_matching_course_allocation.pdf


  The allocation of students to courses is a wide-spread and repeated
  task in higher education, often accomplished by a simple first-come
  first-served (FCFS) procedure. FCFS is neither stable nor
  strategy-proof, however. The Nobel Prize in Economic Sciences was
  awarded to Al Roth and Lloyd Shapley for their work on the theory of
  stable allocations. This theory was influential in many areas, but
  found surprisingly little application in course allocation as of yet.
  In this paper, we survey different approaches for course allocation
  with a focus on appropriate stable matching mechanisms. We will
  discuss two such mechanisms in more detail, the Gale-Shapley student
  optimal stable mechanism (SOSM) and the efficiency adjusted deferred
  acceptance mechanism (EADAM). EADAM can be seen as a fundamental
  recent contribution which recovers efficiency losses from SOSM at the
  expense of strategy-proofness. In addition to these two important
  mechanisms, we provide a survey of recent extensions with respect to
  the assignment of schedules of courses rather than individual courses.
  We complement the survey of the theoretical literature with results of
  a field experiment, which help understand the benefits of stable
  matching mechanisms in course allocation applications.