When you make a class time table, you must take into consideration many requirements (number of professors, students, classes and classrooms, size of classroom, laboratory equipment in classroom, and many others).
These requirements can be divided into several groups by their importance. Hard requirements (if you break one of these, then the schedule is infeasible):
• A class can be placed only in a spare classroom.
• No professor or student group can have more then one class at a time.
• A classroom must have enough seats to accommodate all students.
• To place a class in a classroom, the classroom must have laboratory equipment (computers, in our case) if the class requires it.
Some soft requirements (can be broken, but the schedule is still feasible):
• Preferred time of class by professors.
• Preferred classroom by professors.
• Distribution (in time or space) of classes for student groups or professors.
Hard and soft requirements, of course, depend on the situation. In this example, only hard requirements are implemented.