|
|
HKUST Timetable Manager 2 (TTMan2) is a JSApp that provides a user-friendly course querying interface, and evaluates all possible timetables of a given course list. It is created with the goal of replacing HKUST’s default Time Table Assistant.
Course list data is taken from UST Course Planner by microtony (tm_wmh).
Basically, you add all courses you may or must enroll, and then click on to get all possible combinations of the courses.
To get the detail of a course, you enter the course code to the textbox on the top, and click on the button, or just hit [Enter ↵].
In addition, you can just enter the department code (e.g. “ELEC”) and click to get all courses available under that deparment in the current semester.
If course codes are found inside the description, they will be hyperlinked to the corresponding courses. You can simply click on it to get detail of the course.
To add a course, you enter the course code , and click on the button.
Additionally, you can check the “ Required” checkbox to ensure the combinations must include the course. (If not, when there is time conflict, that course may be ignored.) Or you can check the “ Audit” checkbox so that all time conflicts happened will be ignored (and the corresponding courses can be chopped apart.)
To modify the preferred sections or background colors of a course, select the course from the course list, change the information, then click on the button.
To remove a course, select the course from the course list and click on the button.
Because of the limitations of JSApps, you cannot directly save the course list, nor put it somewhere on web (otherwise it will be a server-based webapp). However, this can still be manipulated manually. To export the course list, click on the button below the course list. A dialog will then pop up. The code inside the textbox is the course list you will need. Simply copy it and save it anywhere you like for later use.
To import the code back to Timetable Manager, click on the same button . Then paste your previously exported code into the same textbox, and click .
Some courses such as MATH‑101 and LANG‑106 have a few to over twenty tutorial sections to choose from. Sometimes you are just interested in one or two of all the varieties. In this case, you can check the boxes in the table below course code textbox to indicate your preferences.
The three buttons , and are useful for quickly manipulating the preferred sections.
The first will let you check all sections available; the second will invert you selection, and the last will clear them all. This is useful, e.g. if you want to blacklist some unwanted sections, instead of making a whitelist.
If you select no boxes, it is equivalent to having no preferences, and all sections will be considered when computing the timetable.
After you clicked on the button above the course list, all possible timetables will be listed out. Beside each table, the course codes and the corresponding section numbers are listed. The total credit for this combination will also be automatically calculated.
Around to the credits there are some buttons.
will create a new window which shows the detailed information for that timetable. This detailed table is suitable for printing and presenting on your blog (you can save this file just like an ordinary web page using the “File → Save As” in the menu bar).
will replace your course list with those defining this timetable.
TimeBlocks are user-defined time intervals to represent important regular events that no courses can interfere, e.g. day-off, part time job, etc. It works like the Constraint feature in Time Table Assistant, but more powerful.
To add a TimeBlock, you need to switch to TimeBlock mode by clicking on the button just above the horizontal line.
Then you enter the title of the TimeBlock, selecting the days and time your TimeBlock would occupy, and finally click to insert it into the course list, just like what you would have done to regular courses.
HKUST Timetable Manager 2 is very smart. Whenever it encounters a course in
a description, it will automatically check if that can be fit into the
course list. If time clash occurs, the course will be highlighted in
red to indicate so. You can
point to the course to see the reason of time clash. Similarly, if the course
is already enrolled, it will be shown in green.
While Timetable Manager surpasses the default Time Table Assistant in many aspects, in some cases you still have to work with it. Timetable Manager did have features to ease interoperation with the Assistant.
For example, after generating the timetable there is a button which will transfer the timetable to Time Table Assistant. If you need to, for example, generate an Excel file based on the timetable or save it directly on HKUST’s server, this feature helps a lot. (Note that, audit courses will not be transfered, in order to prevent crashing the Assistant.)
Additionally, you can also import course list from the default Time Table Assistant. To do so, open the Assistant, copy all courses listed in the lower-left corner. Then press and type HKUST (in uppercase), and paste the list. Now click “Import” and the courses will be added. If you are using Firefox, you can just select the “Swap” and “Drop” buttons while copying, and typing HKUST would be unnecessary.
You can go back to this screen by clicking on the button.
As of the current version of HKUST Timetable Manager, it has the following advantages:
The followings are disadvantages of HKUST Timetable Manager which cannot be improved because of limitation of natures of JSApps:
Nevertheless, you can always transfer the timetable you want to the Assistant to do want you cannot do here.
To reduce size and dependency of this JSApp, button images are represented by a Unicode character, not an image file. This may cause problems if that character is not supported by any fonts in your system, or your browser does not substitute fonts properly. A workaround is to install the font Arial Unicode MS, which should show most glyphs.
Close that window (or tab), login to the Time Table Assistant and try again. This is a problem of ITSC, not us ☺
XMLHttpRequest
Object”?This JSApp depends on the XMLHttpRequest
object, which has been implemented in most modern browsers. Older types, such as Netscape Netvigator 4 (you are really
happy to use this?), do not support it, and therefore giving this
error. To temporary workaround this, use a modern browser that supports XMLHttpRequest
such as Mozilla Firefox 2, Apple Safari 3 or Opera 9.
Sure! This JSApp is released under the GNU General Public License (version 3.0), so as long as you keep complying to it you can redistribute it as you like.