Timetabling for Schools: An Exercise in Program and Data Structuring - Hoare, C; Johnston, H (2015)