Automated timetable generation for Egyptian schools

More Info
expand_more

Abstract

Cairo-based IT company Key2Soft is working on a comprehensive system to automate various systems in Egyptian primary-,middle- and high schools. This software system, named Key2School, includes a timetabling component, with which the company aims to relieve the workload of timetablers by providing them with a system which automatically generates timetables for all teachers, students and subjects. In consultation with the company, both functional requirements and timetable requirements have been composed for the timetabling part.
A literature study has been conducted to find and compare existing timetabling algorithms and libraries in order to select the best match for the company. All existing algorithms in literature were found to be too slow, so a system has been designed around an open source timetabling program. This system contains a part where the program is managed, a part which interfaces with the database of Key2Soft and a part where the timetable resources are constructed in a compatible manner. The system has been implemented according to and in consultation with programmers at Key2Soft and will be integrated in Key2School in the future. The system is programmed mainly in C# and uses XML files to configure the timetabling library. The system has been thoroughly tested with NUnit, a platform-specific unit testing library, which enabled the developers to verify the code quality. The code has furthermore been evaluated by the independent IT consultant SIG.