We propose in this paper a new approach for tackling constrained course scheduling problems. The main idea is to decompose the problem into a series of easier subproblems. Each subproblem is an assignment type problem in which items have to be assigned to resources subject to some constraints. By solving a first series of assignment type subproblems, we build an initial solution which takes into account the constraints imposing a structure on the schedule. The total number of overlapping situations is reduced in a second phase by means of another series of assignment type problems. The proposed approach was implemented in practice and has proven to be satisfactory.