User Manual

Invoking the System

The tool requires Java 1.5 or above. The web version has no practical memory requirement, as the core processing is done on a server

GUI Overview

The tool's user interface consists of the following parts:

Loading Input

To begin an analysis, you must first load a degree program. Once one has been loaded, the course grouping panel will show the course groupings defined in the program, and the prerequisite panel will show the prerequisites of all defined courses in a tree.

From a Degree Program

To load from a degree program, click "Load Requirements". In the dialog that appears, you can select a pre-packaged degree program file (whose contents are available on our homepage). Press OK to proceed.

From a Problem File

A problem file contains a degree program, a partially completed schedule (which also indicates the semester time scope of the analysis, thus bypassing the “from/to Semester” option on the GUI), and any additional constraints specified by the user. It allows the most control over the analysis that is performed. To load from a problem file, click "Load Requirements" and select the path of the problem file to load.

Creating a Partial Schedule from a Grade Report

MIT students can access their internal grade report at https://student.mit.edu/cgi- bin/shrwsgrd.sh. Our system can automatically load in the HTML output from this page (which you will need to save onto a file) to fill in the completed courses set in “PastSemesters.”

Before you load a grade report, you must have already loaded a set of requirements. Then, click "Load Schedule" from the menu and choose to import the file containing your HTML grade report.

Loading a Previously Saved Partial Schedule

Click "Load Schedule" from the menu and choose the XML schedule file.

Generating a Schedule

Once input has been succesfully loaded, you will see that the course grouping panel at the upper right and the schedule panel will be populated. Now, to generate a schedule, press "Return" or click on the "Create Schedule".

Viewing and Tweaking a Solution

Once a solution is generated, each course appears as a row in its respective semester’s box on the schedule panel. The course grouping panel will show the value the values of each course grouping if you expand the corresponding node on the tree. Expanding the tree in the prerequisite panel will allow you to see how a particular course’s prerequisites were satisfied.

Saving a Query

All information about a query (including all additional user-specified constraints, but NOT including the results) can be saved in a problem file, so that the exact same query can be executed again at a later time.

To save a query, click "Save Requirements".

Saving a Schedule

Courses appearing in the schedule can be saved as a schedule file to be reloaded at a later time, or exported as a text file. To save a schedule, be sure first to "pin" (see "Keeping a Course" below) the courses you wish to save, and then click "Save Schedule". In the file dialog, select the XML or plain text format accordingly.

Keeping a Course

If you like when a particular course has been scheduled, you can force the system to keep the course there on subsequent reruns by clicking the pin-like button next to the course.

Moving a Course

If you want to change when a scheduled course should appear on subsequent reruns, press the course’s label (be sure to click you mouse pointer over the course number text), and drag the course to another semester’s box. Note that courses cannot be moved to “PastSemesters.” The moved course will automatically be “pinned.”

Requiring a Course to Appear Before/After a Semester

You can force a course to be scheduled before or after a certain time by clicking the “B” or “A” button, respectively, next to the course. A dialog will appear to allow you to choose the semester that the course should appear before/after. This constraint will appear in the additional requirements panel at the bottom.

Excluding a Course

A course can be explicitly excluded from future schedules by clicking the crossmark next to it. This constraint will appear in the additional requirements panel at the bottom.