Click here for DNDN 4.

DNDN stands for DNDN's Not Degree Navigator. It is a course scheduler designed for the University of Calgary (as an alternative to their Degree Navigator system). Click on the link to try it out!


Because of the shortcomings of the existing Degree Navigator system, there have been several student-created alternatives. One of the earliest was SoylentSoft, a PHP web site created by Tom Flanagan, whose data was obtained by automating Firefox to scrape the PeopleSoft website. This data was used to create the first version of DNDN, which was a course project in CPSC 301. Four of us (including the author) wrote a Java program to schedule courses, which was intelligent enough to offer schedule suggestions (combinations of courses that worked together).

However, a PeopleSoft update broke the Firefox scraper. It should be mentioned that their site consists of auto-generated HTML which is very difficult to parse (it is not standards compliant and all elements have randomly generated names). Also, you need valid student credentials. In one of the DNDN rewrites (2 or 3), we found a public access portal link and managed to parse the HTML with Perl scripts. When the PeopleSoft software changes it sometimes requires changes to the scraper, but they are usually minor. Now, the scraper runs once every few hours and incorporates new data automatically.

Version 4 was a final rewrite in JavaScript (for better accessibility), created by two of us over a three-week period, in preparation for a presentation with the CIO of the University. The university expressed interest in purchasing our software, but the deal later fell through so we put DNDN up online for free. It has received many thousands of hits from students looking for a better way to schedule courses, thanks mainly to Facebook and word-of-mouth advertising. If you enjoy it, please email us or pass the word on!

We are also interested in incorporating data from elsewhere to run DNDN instances for other universities. A scraper for UBC was written in less than three hours (we don't keep this running though, because UBC's scheduling system is fairly reasonable). Please contact us if you'd like to help get your university's data into a DNDN system.

Visitor counting

Usage statistics: here. Add about 4000 to the total hits number; we lost most of the logs for the first semester's worth of hits.

Page generated on Tue Jul 27 04:31:25 2021