To generate a schedule, all databases must be filled. Information about the databases can be found in 2.3. Database Management. If one or more of the three databases is empty, the 'Generate' button is not clickable.
After the databases have been filled with information, the user can press the 'Generate' button on the bottom of the screen to generate a new schedule. The scheduler will take all of the information, constraints, and preferences into account when creating a schedule. Once the 'Generate' button is pressed, the system displays the dialog shown in Figure 1.
Figure 1. Generating a schedule dialog.
First, the user chooses the term from the drop down menu. The choices are Fall, Winter, Spring, and Summer. Next, the year is chosen. If the year is not listed, the user chooses 'Add...' from the drop down menu and types in the year. If the user wants the schedule to be based on a previous schedule, he can choose the term in the drop down menu next to 'Base schedule on previous term:'. If he doesn't, he can choose 'None' at the bottom of the list. Figure 2 shows an example of the filled in dialog.
Figure 2. Generating a schedule dialog filled in.
The user then presses the 'Done' button to confirm the generation of the new schedule. To cancel generating a schedule entirely, the user presses the 'Cancel' button. In response, the system removes the dialog from the screen without generating a schedule. If the user presses 'Done', the system removes the dialog from the screen and displays a status message as shown in Figure 3.
Figure 3. Generating a schedule.
The program will run the algorithm to create the schedule and after a few minutes the schedule will be created and the user will be taken to the screen as shown in Figure 4.
Figure 4. Generated schedule.
At this point, the program has created a new schedule as well as complete copies of the three permanent databases. Each schedule has its own database copies, such that edits to the per-term databases do not affect the permanent databases. The user can make changes to the records in any of the three databases copied for the recently made schedule and the changes won't be made in the permanent databases. These databases are explained in the next section.