ASc TimeTables is a program that will help you schedule courses, classes, teachers, and weekly hours in a very easy way. You can even take care of special distributions or add more teachers to a class. The courses, classes, and teachers can be individually determined, too, so you can figure out if you can schedule a math class for a certain time or check whether a teacher is available early on Tuesdays, for example.
From these parameters, aSc TimeTables generates a full schedule in a few minutes, taking into account every one of your requirements. Subjects can be proportionally distributed throughout the week, so you can control the lessons and divide the classrooms and subjects appropriately. ASc TimeTables also checks the schedule with you to get rid of any errors, alerting you to possible problems and allowing you to make changes manually if there's a mistake.
This program thinks of everything and can even help you manage substitutions, generating monthly and yearly reports of absences and substitutions according to the type of substitution.