The time table generator assumes that the only information it recieves is the time each teacher must spend in a class per week,and it create one of the many possible viable configuration via genetic algorithm.
I made this project starting at the end of my first year to get practice in OOP.