The theory timetable design is widely elaborated. There are plenty of algorithms and mathematical principles that can be used to create timetables in theory. Unfortunately, in practice, timetables are mostly hand-made. This is true for the Budapest University of Technology and Economics, where the faculties employ their timetable creators who deal with this task completely manually.
The subject of my dissertation is the automation of university timetable creation. This is a complex task since the ideal timetable has to meet several different requirements and needs, so we need to mathematically formulate this problem to be able to provide a solution that can be further expanded to meet emerging needs.
The method chosen is constraint programming. Constraint programming problems provide a mathematical description for a task consisting of variables, domains and mathematical formulae of constraints. They can be used to describe arbitrarily complex conditions. Using such a toolkit, one can programmatically generate solutions based on the description of the problem.