This is the (current) homepage for the UMBC scheduler. Current semesters available for viewing include:

In addition, the source code (in Perl) is available under the MIT license. Please respect the licensing terms. Run it as "./parse.pl <semester> > mydatabase.schedb". Some debugging output is provided in an attempt to let you see what went wrong. Make sure "semester" is of the form "spring2009". It runs fine on GL; make sure to run it in an empty directory, it'll gladly nuke certain filenames.

Also, please note that this code is not intended to be normative; good Perl doesn't (or at least shouldn't) look like this. Writing XML is best accomplished using an XML library, not a series of stacks. Also, the regular expressions are intended to scare you off. Try to figure out what they do, though; they're quite powerful when put in the wrong hands. That is, mine.

Any questions on the function of this program or its derivatives can be forwarded to the username associated with this webpage (the part after the ~ and before the first slash) at umbc.edu. I am quite busy this (and every :-/ ) semester, but I'll try to make time to answer questions on this.

Known Issues

  1. "Quirky" courses may not work as desired - BIOL labs/lectures, for example, are all listed as being lecture. This is the parser's fault, and it's not getting fixed. If you submit diffs that fix this, I will be glad to accept.
  2. Fractional credits aren't handled. PHED classes (many worth 1.5 credits) have been floor()ed. Tough.
  3. Only one semester's database may be loaded at once, and I don't think running two copies of the program for two different semesters works. Tough.
  4. The scheduler claims there is one seat available per class, when in reality the number is more likely to be between zero and a thousand. No attempt to keep track of open seats left (or even how many there were when registration started) is made.
  5. This page sucks a lot. Anyone who wants to make one that doesn't is welcome to try, but if it doesn't validate I'm not accepting your input.
  6. The parser ignores lab/lecture/discussion and claims everything is lecture. Tough.
  7. This ``known issues'' thing is really mean. You're just trying to report bugs, why am I being such a jerk about this?

Fixed Issues

  1. The .jnlp files were being improperly served, which caused them to be displayed as xml parse trees in Firefox and other browsers. A change to the .htaccess files fixed this.
  2. On the 18th of April 2007, I recieved notification from Ashley Dyjack that some courses had been removed, so I re-generated the database file for Fall 2007.
  3. On 2 April 2008, I noticed that schedules were out for Summer and Fall 2008. Databases for them were generated, and additional links added to this page.

Any additional errata are entirely the product of your fevered imagination, and therefore your fault. Thus, please contact me and I will update this page with a mention of who is causing bugs in my otherwise perfect software.

Additional notes

This program works under Debian Linux. "apt-get install sun-java5-jre sun-java5-plugin sun-java5-fonts", then you can either save the jnlp file to disk and run "javaws scheduler.jnlp" or set your web browser to associate jnlp files with javaws.

Valid XHTML 1.0 Strict