Abstract. The general timetabling problem is an assignment of activities to xed time intervals, adhering to a prede ned set of resource availabilities. Timetabling problems are di cult to solve and can be extremely time-consuming without some computer assistance. In this paper the application of constraint-based reasoning to timetable generation is examined. Speci cally, we consider how a timetabling problem can be represented as a Constraint Satisfaction Problem (CSP), and propose an algorithm for its solution which improves upon the basic idea of backtracking. Normally, when a backtracking routine fails to nd a solution, there is nothing of value returned to the user however, our algorithm extends this process by iteratively adding constraints to the CSP representation. A generalized random model of timetabling problems is proposed. This model creates a diverse range of problem instances, which are used to verify our search algorithm and identify the characteristics of di cult timeta...