Course scheduling is a combinatorial optimization problem with multiple constraints. To achieve the reasonable allocation of teaching resources, all courses should be arranged under a number of specified constraints. With the increased number of courses, the solution space increases exponentially. However, the traditional methods cannot quickly find the optimal solution. In order to overcome the disadvantages of low efficiency and the possibility of high conflict in traditional course scheduling, this research study proposes a course scheduling, method based on an improved binary cuckoo search algorithm (IBCS). First of all, a multi-objective and multi-constraint mathematical model of course scheduling is established. Course scheduling involves issues, such as allocating teachers, courses, classes, classrooms and time under specific constraints. The class element is defined to represent the class and the course that the teachers will teach. Therefore, the problem of course scheduling is transformed into the process of mapping from the class element to the classroom-time pair. Six hard constraints and three soft constraints are also defined accordingly. Then, the BCS algorithm is used to search the best course scheduling scheme in the binary-encoded solution space. In order to control the convergence rate effectively and avoid falling into the local optimum, a dynamically adjustable, equilibrium coefficient is introduced. Therefore, the algorithm retains the diversity of the solutions while converging. Finally, this research study constructs the data set and carries out the simulation experiment. It also compares the IBCS algorithm in this paper with the genetic algorithm and the standard binary cuckoo search algorithm (BCS). Experimental results show that the IBCS algorithm can converge in effective time. Meanwhile, it can achieve an improved global scheduling scheme with higher stability.