The university course scheduling problem (UCSP) aims at optimally arranging courses to corresponding rooms, faculties, students, and timeslots with constraints. Previously, the university staff solved this thorny problem by hand, which is very time-consuming and makes it easy to fall into chaos. Even some meta-heuristic algorithms are proposed to solve UCSP automatically, while most only utilize one single algorithm, so the scheduling results still need improvement. Besides, they lack an in-depth analysis of the inner algorithms. Therefore, this paper presents a novel and practical approach based on Tabu search and simulated annealing algorithms for solving USCP. Firstly, the initial solution of the UCSP instance is generated by one construction heuristic algorithm, the first fit algorithm. Secondly, we defined one union move selector to control the moves and provide diverse solutions from initial solutions, consisting of two changing move selectors. Thirdly, Tabu search and simulated annealing (SA) are combined to filter out unacceptable moves in a parallel mode. Then, the acceptable moves are selected by one adaptive decision algorithm, which is used as the next step to construct the final solving path. Benefits from the excellent design of the union move selector, parallel tabu search and SA, and adaptive decision algorithm, the proposed method could effectively solve UCSP since it fully uses Tabu and SA. We designed and tested the proposed algorithm in one real-world (PKNU-UCSP) and ten random UCSP instances. The experimental results confirmed its effectiveness. Besides, the in-depth analysis confirmed each component's effectiveness for solving UCSP.