All of the changes listed here are high priority, except those under the heading "General features, lower priority". "High priority" means the changes should get done before we give the tool as a demo to Diane and Michael Haungs.

  1. Changes to the menubar:
    1. Put menu bar intially at x=150, y=100. Then place first content window at x=150, y=150. Place all subsequent new windows at x=x+25, y=y+25.
    2. Swap the positions of the 'View' and 'Schedule' menus in the menubar.
    3. Add a 'Databases' menu to the menu bar. Its items are 'Courses', 'Instructors', 'Locations', 'Preferences', 'Constraints'. These are the same five items as on the top top of the current 'Scedule' menu. They bring up the DB dialogs that you now have, except you should remove the 'Add Sections' button from the bottom of the 'Course DB' dialog.

  2. Changes to the 'Schedule' menu:
    1. Use the same names as the first five 'Databases' menu items (i.e., pluralize, and use "Course" instead of "Class").
    2. Change the dialog for the first five items to be the check-box style list you now have in the larger 'Generate' dialog. I.e., each dialog will be one of the three lists you currently have in the 'Generate' dialog.
    3. Add a new item to the 'Schedule' menu called 'all-in-one' that shows the current 'Generate' dialog, i.e., the one with the three lists side-by-side.
    4. Change the 'Generate' dialog to have just a summary of the overall schedule properties, and a 'Generate' (or 'Go') button at the bottom. The overall properties are: Quarter, year, phase, and version number.

  3. Courses DB:
    1. Have both 'Prefix' and 'Number' for each course, where 'Prefix' defaults to "CPE".
    2. Change 'Name' to 'Catalog Title.
    3. Add a few more courses to the database to force the course list to have a scroll bar on its initial display. (This will give the user a clue what things will look like with a full course DB.)
    4. Put a "Courses:" label above the course list in the 'Course Database' dialog.
    5. Put a white-background, bordered box around the course information that's to the right of the course list. Make the list box and the information box the same height.
    6. Make the width of the course list the same as the buttons below it.
    7. Put about 1 'em' white space to in the left and top margins.
    8. Sort the courses alphanumerically, with labs listed below their paired lectures.
    9. Use the course prefix as entered in DB dialog, not just "CPE". E.g., I entered "CSC" in the dialog, but it lists as "CPE" in the course list.

  4. Instructors DB:
    1. The instructor time prefs need to include days of the week. (I thought they did at some point.)

  5. Generation:
    1. There should be a progress bar that shows up when the scheduling algorithm is going to take longer than a couple seconds. Let's discuss.

  6. Viewing:
    1. I don't think the right panels are necessary in the schedule, a least not by default. It looks like everything that you can do in those panels can be done from selecting items in the 'View' menu. I think not having the commands in two places will eliminate some of my confusion about how the 'View' menu dialogs and schedule panel features are related. Plus right now, there are some confusing inconsistencies between the 'View' menu dialogs and the Schedule dialog panels, e.g., "Day, Week" versus "Daily, Weekly"; the order of the 'List' and 'Calendar' radio buttons.
    2. We can add an 'all-in-one' option somewhere, that allows the user to select the current form of schedule view.

  7. General features, high priority
    1. Make all of the dialogs stretchable.
    2. Make all of the dialogs update dynamically with DB changes. It looks like the Generate dialog does dynamically update, but the Instructor preferences dialog does not.
    3. Have confirm dialogs for all 'Remove' actions. It's too easy to delete something by accident.
    4. Generalized is too hard for the first release. We need some policy for saving copies of DBs when the tool is entered, so in case someone makes a bad edit, he can revert to a save copy. This can be in the form of a 'Revert' menu item, on the 'File' or 'Databases' menu.

  8. General features, lower priority
    1. Allow the panes in multi-pane windows to be individually resizeable.
    2. In keeping with the free-floating menubar style, it would be nice to have an option for the schedule view to show up in its own window.
    3. At one point during a session, it looked like the generator got stuck; the 'Generate' button in the dialog went solid, and the schedule view never showed up. I cannot reproduce this, so for now it's not an issue.