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

Old-style

New-style

New-style documentation

Starting in the fall of 2009, the old-style pages (static HTML, navigateable by regular HTML links) are no longer available to me. The new schedule of classes is not terribly suited to navigation by computer. I'm still interested in keeping this project going, so I've contacted DoIT asking for a method of retrieving the schedule of classes that is easily dealt with by computer. Their current solution is to e-mail me an Excel spreadsheet containing the schedule. This works, to a point, but it's a jury-rigged solution and has several glaring flaws. First, only courses which have been assigned a classroom are included in the current spreadsheet. Second, the spreadsheet is inherently slow to be updated. Third, the spreadsheet is only sent to me, not to any student who wants their own copy of the schedule for their own purposes. These downsides lead me to believe that a better solution can, and should be found.

Please note that I don't want to cause trouble for DoIT staff. They have always been helpful in response to my questions, and I don't want to force them to implement anything. I'm willing to do whatever work is necessary to build the pieces I need.

If you would like to see a scheduler that has these flaws corrected, please drop me an email and let me know you're interested in such a thing. I'll keep a list of people who have sent me email here (and relevant quotes, unless you request otherwise), so that the amount of interest can be judged.

The schedule for fall 2009 was last updated April 3, 2009. Independent study and capstone classes are not included. Classes which have not yet been assigned a professor are now included.

List of interested people

In total, I have received email from 8 people (and several in-person conversations) concerned with the lack of (or inferiority of) a scheduler program.

Selected quotes

Old-style documentation

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.
  4. On 2 November 2008, I generated schedules for Winter and Spring 2009.

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