A **school timetable** is a calendar that coordinates students and teachers within the classrooms and time periods of the school day. Other factors include the class subjects and the type of classrooms available (for example, science laboratories).

Since the 1970s, researchers in operations research and management science have developed computerized solutions for the school timetable problem (STP).

A school timetable consists of a list of the complete set of offered courses, as well as the time and place of each course offered. The purposes of the school timetable are to inform teachers when and where they teach each course, and to enable students to enroll in a subset of courses without schedule conflicts.^{[1]}

Prior to the introduction of operations research and management science methodologies, school timetables had to be generated by hand. Hoshino and Fabris wrote, "As many school administrators know, creating a timetable is incredibly difficult, requiring the careful balance of numerous requirements (hard constraints) and preferences (soft constraints). When timetables are constructed by hand, the process is often 10% mathematics and 90% politics,^{[2]} leading to errors, inefficiencies, and resentment among teachers and students."^{[1]}

For the simplest school timetable, such as an elementary school, these conditions must be satisfied:^{[3]}

- a teacher cannot teach two courses in the same time slot
- no classroom can be used by two courses simultaneously
- each teacher has a set of unavailable teaching timeslots.

Hoshino and Fabris describe other conditions of real-life timetabling problems, that

...involve additional constraints that must be satisfied, further increasing the complexity of the STP (school timetable problem).

^{[3]}These variations include event constraints (e.g. Course X must be scheduled before Course Y), and resource constraints (e.g. scheduling only one lab-based course in any timeslot). At large universities, there are additional constraints that must be considered, such as taking into account the time students need to walk from one end of the campus to the other.^{[1]}

Since the 1970s, researchers have developed computerized solutions to manage the complex constraints involved in building school timetables.^{[1]} In 1976, for example, Gunther Schmidt and Thomas Ströhlein formalized the STP with an iterative algorithm using logical matrices and hypergraphs.^{[4]}

Nelishia Pillay published a comprehensive survey paper of these algorithms in 2014,^{[5]} including a table of methods for solving the school timetabling problem.^{[6]}

High school timetables are quite different from university timetables. The main difference is that in high schools, students have to be occupied and supervised every hour of the school day, or nearly every hour. Also, high school teachers generally have much higher teaching loads than is the case in universities. As a result, it is generally considered that university timetables involve more human judgement whereas high school timetabling is a more computationally intensive task (see the constraint satisfaction problem).^{[7]}

The task of constructing a high school timetable^{[8]} may involve the following options (not an exhaustive list):

- Part-time teachers
^{[9]}need to have certain entire days off. They will either specify to the school which weekdays they are or simply how many days per cycle they need off. Such teachers can greatly add to the difficulty of timetabling when they are assigned to large blocks. - Sometimes there are 2 or 3 subjects which rotate between student bodies throughout the year. For example, the 8A students
^{[10]}might take Art in the first half of the year and Music in the second half. - Off-timetable lessons:
^{[11]}sometimes an occasional lesson is scheduled "off the timetable" meaning before school, after school, or during lunch. This usually happens with older students. It can be a desperate response to intractable timetabling problems or a compromise reached in order for the school to be able to offer less popular subjects. - Abbreviations: In the United States «TTh» (or sometimes «TTH» or «T-TH») and «MWF» or «M-W-F» are used as unofficial short-hands for «Tuesdays and Thursdays» and «Mondays, Wednesdays and Fridays».
^{[12]}^{[13]}They are used when columns need to be very narrow on tables where the extra characters would create an unintended new row or other unwanted formatting issues.