ASSIST is created to help avoid those circumstances. It generates all possible schedules based on the the subjects the users have on their list. A light expert system implementation is included in the form of removing options that the user has already chosen. Timetables are calculated everytime a user adds/removes a subject from the list.
As the program is browser-based, all the schedule processing is done on the user's system, thus no extra load is placed on the server. Data is also passed to the client via XML, which helps reduce network traffic should such data is required again due to the cacheable nature of the document. In most online registration systems (which are usually run in a local network), there are almost hundreds of users who will use the same terminal to register over a period of time (unless the user is registering from an Internet connection), thus storage of data locally is beneficial.
A minimal demonstration of running ASSIST
The demonstration linked above is available for download at the Releases section our project page at Sourceforge.net.
To be implemented/researched
ASSIST, licenesed under GNU Lesser General Public License, is written and designed by Aminuddin Abdollah. Any enqueries can be delivered to d a n g e r i s m @ g m a i l . c o m.