BIS 4231 Home Page The Superior Page The Next Page
Middlesex Logo

Course Work 1: Scheduling

Scheduling is a classic problem. For example, the University has to schedule classes each semester. They would like a piece of software that would help them. Develop such a piece of software. Describe the problem, the knowledge needed, the search space, your algorithm, and your algorithms traversal of the search space. I have provided an evaluation scheme. Every conflicting lecture (same room, same time) is -10, every conflicting seminar (same room, same time) is -5, every conflicting lecturer (different lecture or seminar, same room, same time) is -2, and every conflicting student (different module, same room, same time) is -1. My best score on the complex data set is undone.

Further notes

You can write the code in any language you like, but I prefer Java or C++. If I can not compile (assuming I need to compile) and run the code you will have to help me do that. Two sample data sets are provided. simple data and complex data. I have provided an input class in Java, an output class in Java and an evaluator in Java. They are available at input, output, and evaluator. Please feel free to report any problems with these back to me, though I make no guarantees. If you want to share code for these portions of the project, feel free.