Course Scheduling Support System
Course Scheduling Support System
Abstract - The Course Scheduling Support System is results can affect not only an establishment’s bottom line but
designed to facilitate manual generation of the faculty also the people involved. It may require a change in the
course schedule. It aids in assigning faculty to courses and Information Technology infrastructure since better solutions
assigning each course section to a time block. It captures are not always available in the set of technologies currently
historic and current scheduling information in an being used. This could mean increased costs and training
organized manner making information needed to create hours spent in buying and learning to use such a product.
new schedules more readily available. The interaction Commercial scheduling systems are rarely cheap and come
between user and database is made as friendly as possible with the additional onus of performing a cost-benefit analysis
so that managing, manipulating, populating and retrieving to analyze whether the benefits outweigh the cost [1]. Publicly
scheduling data is simple and efficient. We have available solutions for university course and faculty
implemented an open source web-based prototype of the scheduling provide many features to support those scheduling
proposed system using PHP, MySQL, and the Apache services in general. However these solutions also bring up
Web Server. It can be invoked with a standard Web issues including cost of purchase and maintenance, amount of
browser and has an intuitive user interface. It provides training needed, technological requirements to use the system,
tools for customizing web forms that can be easily used by and adaptability of product to distinct university scheduling
non-technical users. Our department plans to deploy this needs.
system by Fall 2006. Four other solutions were studied and compared to our
system. Table 1 summarizes the comparison. These solutions
Index Terms - Faculty Course Scheduling, Open Source. are IQ.Session, Cyber Matrix Class Scheduler, iMagic
Timetable Master and Free Evolutionary Timetabling.
INTRODUCTION IQ.Session is the product of ComQuip, Inc. [2] and is
Scheduling is a very broad term that can be applied to all developed with Visual Basic and Microsoft Access. It can
kinds of tasks. The American Heritage Dictionary defines the schedule classes taking faculty preferences into account.
verb schedule as “to make up a schedule” and defines the noun Schedule reports can be printed as text reports, Crystal reports
schedule as “a plan for performing work or achieving an or viewed as HTML reports. IQ.Session provides no support
objective, specifying the order and allotted time for each part”. for the CSV file format and cannot scan a web page for
The components of a schedule vary from one type of information. The Cyber Matrix Class Scheduler is developed
establishment to another. In a technical support business, such by CyberMatrix Corporation, Inc. [3]. It provides services for
a component would be forwarding incoming calls to an scheduling students, rooms and faculty to classes, and has a
available agent on a first come first serve basis. Likewise a CSV import/export feature for extracting data from the
city’s public transport system would usually consist of three database into CSV files. It can only be installed and used on a
inter-related components. First, the creation of timetables for Windows machine. It provides no mechanism for auto-
buses and subway trains which the public can refer to; second, populating database tables through scanning web pages.
assigning vehicles to certain routes which the vehicle must iMagic Timetable Master is developed by iMagic Software [4]
complete within a time block; third, designating drivers to to perform course, faculty and room scheduling. Features
each bus and subway train. Scheduling in the university include an export function to integrate into software
primarily deals with classes and term examinations. Entities applications like Excel and the Web to output timetables for
involved within scheduling classes include courses, faculty, courses and faculty. It only provides the option of viewing
students and rooms which should be optimally assigned to generated schedules on the web and is not entirely web based.
each other in order to create a class schedule. This thesis It is also reliant on Microsoft technology and provides no
focuses on systems that support faculty and course scheduling. support for the CSV file format. It provides no mechanism for
Faculty need to be assigned to teach courses and each section reading information from a web page. Free Evolutionary
within a course need to be assigned to days and times. In this Timetabling is open source free software developed by Liviu
paper we propose the Course Scheduling Support System as a Lalescu [5] which uses genetic algorithm to generate course,
viable alternative to other systems. faculty, student and room schedules. The user can either
Choosing a scheduling support system has certain manually provide or submit an xml file for the system to read
implications. The system will alter the manual process and the from. Even though Free Evolutionary Timetabling is not
entirely web based, it is not reliant on Microsoft and provides
San Juan, PR July 23 – 28, 2006
9th International Conference on Engineering Education
T4K-18
Session T4K
distributions for all major operating systems. However it and filtering tables, and a facility to archive faculty and course
provides no support for the CSV file format and no services records when deleted.
for scanning web pages for scheduling information.
Internet Users
TABLE 1 (PART 1) FAU Course Listing
UNIVERSITY SCHEDULING SOFTWARE COMPARISON TABLE Web Page Server
Features OS Support Input Source (Format)
Solutions
IQ.Session Windows Manual (Application
GUI)
Internet
Cyber Matrix Windows Manual (Application
Class Scheduler GUI), File (CSV)
iMagic Timetable Windows Manual (Application
Master GUI) Incoming requests authenticated
Free Evolutionary Windows, Mac OS X, Manual (Application with web server’s built in user
Timetabling Linux, Unix GUI), File (XML) authentication system
Course Scheduling Windows, Mac OS X, Manual (Web Forms),
Support System Linux, Unix Web (HTML)
Operating System
TABLE 1 (PART 2)
UNIVERSITY SCHEDULING SOFTWARE COMPARISON TABLE Web Server
Features Output Format Scheduling Features
Support Accessible
Solutions through Web
IQ.Session Plain text, Courses, Faculty, Finished
HTML, Crystal Students, Rooms schedules Database access
reports Authenticated with DB
Cyber Matrix CSV Courses, Faculty, None server’s Username
Class Scheduler Students, Rooms and password
iMagic Timetable Excel, HTML Courses, Faculty, Finished
Master Students, Room schedules Schedule Database
Free Evolutionary XML, HTML, Courses, Faculty, Finished
Timetabling iCAL Students, Rooms Schedules FIGURE 1
Course Scheduling CSV, HTML Courses, Faculty All System SYSTEM INFRASTRUCTURE
Support System Features
The system needs to be able to connect to the Florida
The remaining sections of this paper introduce the Course Atlantic University course schedule listing web page server to
Scheduling Support System by describing its requirements and retrieve scheduling information and automatically populate the
implementation details. We take a look at the system design at Schedule table with that information. At the same time the
the modular level and explain how each module in the system system should produce a CSV file containing all schedule
interacts with one another to make the system work. related and non-schedule related information. This task can be
SYSTEM REQUIREMENTS achieved by scanning the webpage line by line to find a
schedule record and then parse the schedule record to extract
The high level system view shown in Figure 1 is an overview field information for the Schedule database table.
of the environment under which the Course Scheduling
Database
Support System operates. Since our system is accessible
through the web, security is an important issue but the Database tables with just a single field are used to populate
requirement is rudimentary. Therefore existing security drop down lists in web forms for other database tables. This
protocols need to be utilized to secure the scheduling system provides an easy way of maintaining drop down list values
from unauthorized access. Most web and database servers without changing any code in the web form itself. To add,
have built in security features that provide authorization, delete or update any values in this drop down list, a user just
authentication and access control. needs to update its corresponding table. Other significant
Other requirements include an open source web tables needed in the database include Course, Faculty,
based solution, a mechanism to distinctly identify courses with Preference, and Schedule. The Course table is for mainstream
the same prefix and number, the ability to display records for courses that have their own unique course id. Maintaining
only a specific term and year, a utility to scan scheduling historic course records are important so no Course record
information from course listing web pages to auto-populate should be physically deleted. Instead they will get deactivated
the Schedule table, a utility to extract course listing web page by switching a Boolean value. The Faculty table will store
information and database table records into Comma Separated information about each faculty in the Computer Science and
Value (CSV) files, a utility to duplicate schedule records from Engineering department who teaches its courses. Like Course
one term/year to another, user friendly web forms for ordering records, Faculty records also hold historic importance and
should not be physically deleted. The Preference table will
San Juan, PR July 23 – 28, 2006
9th International Conference on Engineering Education
T4K-19
Session T4K
store information about the courses that a faculty can teach or forms allow users to insert, update and delete database
prefers to teach in a particular term and year. The last and records. It also allows user to sort, filter and copy records
most important table in the database is the Schedule table based on the requirements of certain tables. Each function has
which will hold scheduling information such as the days, its own web form for input and display of information related
times, locations for each course section and the faculty to that web form. The User Interface Module sets the standard
teaching it. for the Maintenance Support Module and the Web Form
Module so that their user interface features remain consistent.
A PROTOTYPE
Maintenance Support Module
The Course Scheduling Support System prototype includes a
web based user interface developed in HTML, CSS and The Maintenance Support Module is part of the Front End and
JavaScript. Its processing logic is developed in PHP and it helps the user control certain front end features such as drop
includes a MySQL database system. As illustrated in Figure 2, down lists and field name abbreviations. It reduces the amount
the system has a Front End and a Back End composed of of time needed to update changes to these features. The drop
modules. The Front End is defined by the User Interface down list values come from a table specifically created to hold
Module which determines how the user interacts with the its values. Therefore any updates made to these tables affect
system and ensures users can access the entire system through what user sees in the drop down list. Like any other table,
any web browser that supports viewing through HTML, CSS these tables also have their own web forms which the user can
and JavaScript. The Back End is a combination of the Form use to insert, update and delete values in order to update the
Processing Module and the Database Module. values in a drop down list field of another web form.
Field names for all tables in the database are stored in
the Abbr table which consists of two fields, Field_Name and
Field_Abbr. Web forms for all other tables use this table to
determine the abbreviated versions of their field names to
display for the user. This allows user to customize meaningful
filed names and control the display width of a column which
may expand with a long field name.
Web Form Module
The Web Form Module is also part of the Front End and it
ensures that web forms are created and displayed based on
schema information retrieved from each table that the web
form represents. The module ensures all web forms are
generated automatically and changes made to the existing
database tables are automatically reflected in the front end
web forms. This procedure is implemented by first collecting
all schema information such as field names, field types, field
lengths and number of fields into variables which are then
used wherever they are needed to generate a web form. No
value is hard coded except for the table name for which the
web form is being built. This module is also responsible for
FIGURE 2 colleting user input and passing it to the Form Processing
SYSTEM ARCHITECTURE Module.
The components within the Web Form Module
Figure 3 provides a detailed view of the system shown in the detailed system architecture view of Figure 3
architecture with insight into each system module and how represent all the operations that can be performed on these
they interact with each other to make up the entire system. The web forms. The operations are labeled by the purpose that they
system modules are denoted in bold letters. The dashed line serve. The lines connecting these components illustrate the
delineates the boundary for the User Interface Module, Web sequence of operations that are called in order to gather user
Form Module and Form Processing Module to indicate which input before transferring that input to the Form Processing
parts of the system architecture are its components. field Module. Even though each one of these operations serve a
information for the Schedule database table. different purpose, the implementation logic behind them are
User Interface Module similar since they all have the same goal. The goal is to gather
information inputted by the user in the forms and send them to
The user interface to the system includes text the Form Processing Module so that it can process them into
information, html links and web forms. There is a home page queries for the database to execute. When a user is finished
containing links to all web forms for all database tables as well entering all data into the forms, the Form Processing Module
as other services. The user interface of the database table web takes over to gather and process this input. The following list
FIGURE 5
FLOW CHART FOR “DOWNLOAD FROM OASIS” UTILITY
CONCLUSION
The Course Scheduling Support System addresses the issues
presented in the introduction. This system has no cost of
purchase since it was built as on open source thesis project. It
has been designed and implemented to reduce cost of
maintenance such that certain changes like schema changes to
the database, addition of new tables or deletion of old tables,
and updating drop down lists in web forms, are automatically
reflected by the system without the need for code changes.
Since the system has an interactive user friendly interface, and
is built on the existing scheduling process used by our
department, there is hardly any training needed for a user to
use this system. Technological requirements to deploy this
system anywhere is not an impediment since open source
technology such as PHP, MySQL and Apache are used to
build the system. These technologies provide builds for all
major operating systems and only need to be installed on one
server machine. Finally, since the system is web based, the
user interface to the system can be accessed from any web
browser.