[net.unix] need student scheduling system

dave@lsuc.UUCP (David Sherman) (06/18/86)

I need a system for scheduling students into classes.
Here's the problem:

The Bar Admission Course has approximately 1100 students in
three cities. In the past, we simply divided them up (alphabetically)
into seminar groups of 25 or so. All of the regular student data is
stored on a Mistress (Empress) database running under UNIX.

This year, students have a bunch of choices. For one course,
they choose 2 out of 10 options (and get assigned to seminar
rooms accordingly). For another, they choose 1 out of 4, plus
one out of 3 time slots. In all these cases, they rank their
choices so we can give them their second or third choice at worst.
For some courses, they can choose an "advanced" seminar.
Depending on the number that choose advanced seminars, we might
have to cut down the number of regular seminars due to a limitation
in number of rooms. And so on. Limiting criteria include:
number of rooms available; number of students in a given room
(the rooms vary in size); number of faculty available to teach
seminars in a particular topic; availability of evening time slots.
[Where possible, I think we want to keep people in the same regular
group together all year, though some seminar groups may get split
up and sprinkled around to make (physical) room for advanced seminars.]

Using the database query language is too cumbersome. What I
need is a package which will take all of the indicated preferences
and give as many people as possible their first choice, subject
to all of the weird constraints I've mentioned. Does such a
thing exist? Under UNIX? Any universities using such programs for
their scheduling?

If it proves to be so custom a job that I have to program it myself,
I'll do so in C with hooks into the database. Is there literature
on how to write such things that anyone can point me at? Obviously
I want it to be as flexible as possible.

Any help would be appreciated.

David Sherman
Bar Admission Course
The Law Society of Upper Canada
Osgoode Hall
Toronto, Canada  M5H 2N6
(416) 947-3466
-- 
{ ihnp4!utzoo  pesnta  utcs  hcr  decvax!utcsri  } !lsuc!dave