Project Description
Home Project Description Documentation Source Files Executables\Demo Links

 

General

UDonkey is a course scheduling program, designed to answer the specific needs of the Technion students. It draws its course information from the REP files created by ANAM, while allowing its users to add their own custom events to the schedule alongside the courses. Once the user picks out courses, and defines her own custom events, UDonkey will automatically generate all the possible schedules and display them sorted by the user's preferences.

Objective

Up till now, there existed only one program that was specifically designed for this task - Marprog. The main objective of this project was to create a new and better solution to the problem of creating schedules. Marprog suffered from several key issues:

1. It had several known bugs, for example the room numbers were reversed.

2. Students complained that it was unintuitive to use, and to compound the problem, no user manual was ever written.

3. Marprog did not give the user enough flexibility to custom fit the schedules.

4. Marprog is closed-source. Nobody can fix now what needed to be fixed.

Features

  • Uses a XML Database for easy viewing and editing from every text editor
  • Provides automatic creation of the database from the internet or a local file
  • Allows creating schedules with overlapping courses
  • Allows full customization of the information included in the schedule
  • Joins schedule table cells for courses spanning more than 1 hour
  • Includes colors for every course for easy recognition of course events
  • Exports schedule to HTML format for easy printing in any browser
  • Exports course information to HTML format for easy reference
  • Allows flexible and easy course searching similar to the UG web site
  • Allows saving and loading of the entire system state
  • Provides 4 sorting preferences for optimal results
  • Allows filtering of the results by several types of constraints such as daily starting and ending times.
  • Allows users to define their own events, that will be printed out in the schedule
  • Allows users to define course nick-names for personal customization
  • Warns users about colliding tests
  • Allows the inclusion of any set of days in the schedule, including Friday and Saturday
  • Allows custom defining starting and ending times for the schedule
  • Automatically joins parallel lectures and tutorials held in the same day same time
  • Open source allowing future development by anyone
  • Well documented, and includes a user manual