Define basic goals of the project
Define entities and attributes used for timetabling
Create XML Schema description for input data
Create database schema for (temporarily) storing input data
Create script for loading input data into database
Prepare documentation for input data a scripts, respectively
Define interface encapsulating database operation to algorithm – to easily transfer application to a different database system if needed
Loading data (handling queries)
Storing data (with application-level abstraction – eg. we are not handling some db-dependant structures, rather application-defined objects etc.)
Define structures used in the algorithm to represent entities from database
Define means for execution and interoperation of different algorithms
Create documentation to objects used in the application + the interface
Define user interface requirements – handling current schedule etc.
Create use case for an interface
Create user interface definition in Glade
Implement all callbacks needed (maybe in Python)
Create user documentation on using proposed interface
Too far from now...