The university course timetabling problem looks for the best schedule, to satisfy given criteria as a set of given resources, which may contain lecturers, groups of students, classrooms, or laboratories. Developing a timetable is a fundamental requirement for the healthy functioning of all educational and administrative parts of an academic institution. However, factors such as the availability of hours, the number of subjects, and the allocation of teachers make the timetable problem very complex. This study intends to review several optimization algorithms that could be applied as possible solutions for the university student course timetable problem. The reviewed algorithms take into account the demands of institutional constraints for course timetable management.