Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
30 views6 pages

Course Scheduling Support System

Uploaded by

eulamaesoberano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views6 pages

Course Scheduling Support System

Uploaded by

eulamaesoberano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Session T4K

Course Scheduling Support System


Roy Levow, Jawad Khan, and Sam Hsu
Department of Computer Science and Engineering, Florida Atlantic University
Boca Raton, FL 33431
{levow, jkhan, samh}@fau.edu

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

San Juan, PR July 23 – 28, 2006


9th International Conference on Engineering Education
T4K-20
Session T4K
explains what each component in the Web Form Module of that the course id inputted by the user can be used to
Figure 3 does in their correct sequence of occurrence as construct the filter query for the Preference table.
connected by the lines. d) Schedule Filter and Order – This component brings up the
Schedule Filter and Order web form for the purpose of
allowing the user to filter and order the Schedule records
based on the values provided for the Schedule fields
“Days1” and “Days2” and values provided for the
sequence of Schedule fields that the Schedule records
need to be ordered by.
e) Select Filters Campus, Days1 and Days2 and the Ordering
Sequence – These are the input boxes of the Schedule
Filter and Order web form where user enters values for
Campus, Days1 and Days2 that the resulting set of
Schedule records should have, and values for the ordering
sequence where user enters the field names of the
Schedule table based on which the Schedule records
should be ordered.
f) View Filtered and Ordered Set of Schedule Records –
This component transfers the user input to the Form
Processing Module so that the course id inputted by the
user can be used to construct the filter and order query for
the Schedule table.
g) Copy Schedule – This component brings up the Copy
Schedule web form for the purpose of allowing the user to
copy old Schedule records as new Schedule records.
h) Select Old and New Term/Year Values – These are input
boxes for the Copy Schedule web form where user enters
values for Old Term/Year and New Term/Year.
i) Copy Old Schedule to New Schedule – This component
transfers the user input to the Form Processing Module so
that the Old and New Term/Year values can be used to
construct the insert statement for the Schedule table.
j) Insert/Update/Delete – This is a common component in
all table web forms allowing user to insert new records,
update current records or delete current records.
k) Provide Values for Insert and Update – There are web
forms for only Insert and Update since they both require
more information from user to generate the appropriate
query. These forms are generated automatically based on
schema information of the table in question. Once user
inputs all the data necessary, the information is sent over
to the Form Processing Module so that the values
provided can be used to construct the insert or update
FIGURE 3 statement for the table.
DETAILED VIEW OF SYSTEM ARCHITECTURE l) Download From OASIS – This component brings up the
Download From OASIS web form where user can specify
a) Preference Filter by Course ID – This component brings the course listing web page from which to gather
up the Preference Filter web form for the purpose of scheduling information from.
allowing the user to filter Preference records by Course m) Select Year and Term – These are input boxes for the
ID. Download From OASIS web form where user can enter
b) Select Course ID to filter by – This is the input box of the the year and term of the course listing web page that the
preference filter web form where the user inputs the system should connect to and gather scheduling
course id that the resulting set of Preference records information from.
should have. All other Preference records not having this n) Create CSV and Insert Schedule Records or Update
course id will not be listed. Enrollment - This component transfers the user input to
c) View Filtered Preference Table – This component the Form Processing Module so that the Year and Term
transfers the user input to the Form Processing Module so

San Juan, PR July 23 – 28, 2006


9th International Conference on Engineering Education
T4K-21
Session T4K
values can be used to locate the course listing web page
and connect to it for scheduling information.
o) Export Table to CSV – This component brings up the
Export Table to CSV web form where user can specify
the table for which to create the CSV file for.
p) Select Table and Export – This component presents an
input box where user can enter the table name for which
the system should generate CSV file. This information is
passed on to the Form Processing Module so that it can
generate a query to extract all data from the specified
table and create a CSV file.
Form Processing Module
The Form Processing Module takes care of backend
processing tasks which include processing user input to
generate SQL queries, communicating with the database to
execute queries and display database results including error
messages, retrieving data from web pages to auto populate the FIGURE 4
INTERACTION BETWEEN SYSTEM MODULES
Schedule table and generate CSV files, and error handling to
keep the system from crashing due to erroneous user input.
In forms that need to process queries, when the user
hits the Update or Delete button on a web form, the form does
a post back which means updates and deletions are taken care A WALKTHROUGH
of in the same web form. Each record in the web form is We will walk through one major feature of the Course
preceded with the check box form element whose value is all Scheduling Support System and see how the system works.
the field values in the record the checkbox represents, This feature is called the “Download From OASIS” utility
concatenated with the asterisk. Once the field values are service, illustrated with the flow chart in Figure 5. OASIS is
received, they are used to construct a query. This is done the name given to our university’s student academic
simply by concatenating field values with the general query information web pages which include course schedule listings.
which could either be an update, insert, delete or other query. This service is requested when the user selects the
Once the query is constructed, it is executed and the results academic year of the course schedule listing web page that the
displayed on the web page. user wants information from. The user then needs to indicate
Automatically populating the Schedule table is the term of the year. The system then presents a web form
performed by connecting to the university course listing web consisting of a drop down list and three buttons to choose
page and reading the page as a set of lines and characters. from, which are “Create CSV/Insert Records”, “Update
Each line is stripped of any HTML tags and regular Enrollment”, and “Home”. Values for the drop down list
expressions are used to identify lines containing scheduling consist of the three academic terms, Fall, Spring and Summer
information. Those lines are then parsed to extract information which the user can select from. The user can then choose to
for each field in the Schedule table and to create the CSV file. create a CSV file and insert records into the Schedule table,
Database Module update only the enrollment information in the Schedule table,
or go back to home page. When user decides to either update
The Database Module defines the tables in the database, the enrollment or create CSV file and insert records, the system
relationships between them and rules that describe how data is checks to see whether a course schedule listing page for the
to be inserted, updated or deleted from each table. It forms the academic year and term selected exists. If it does not, an error
backbone of the Course Scheduling Support System and is message is displayed. If it does, then the system connects to
needed by all the other modules as illustrated in Figure 4. The the course schedule listing web page, gathers all the relevant
Web Form Module relies on the database for table schema information needed, disconnects from the course listing web
information to create and process web forms for each table. page and populates or updates the schedule table. It also
The Maintenance Support Module has specific tables in the creates a CSV file and a Log file and provides the user with a
database that it uses to manage the content of drop down lists link to these files so that they can be downloaded. The CSV
and the size of table field names in the web forms. The Form file will contain all scheduling information in the comma
Processing Module communicates with the database to process delimited format. The log file will contain any error messages
user queries and display information returned such as query generated while performing this task and while
results and error messages. Finally the User Interface Module communicating with the database.
provides the user a medium through which to interact with the
database.

San Juan, PR July 23 – 28, 2006


9th International Conference on Engineering Education
T4K-22
Session T4K
REFERENCES
[1] D. Montana, “So you want to build an automated scheduling system”,
BBN Technologies, 2002, pp. 1 – 3.
[2] IQ.Session, ComQuip Inc, “Key benefits”, February 2006.
http://www.comquip.com/IQ%20Session.htm
[3] CyberMatric Class Scheduler, CyberMatrix Corporation Inc,
“Benefits/Features”, December 2005.
http://www.cyber-matrix.com/csched.html
[4] iMagic Timetable Master, iMagic Software, “Product overview”, 2006.
http://www.imagictimetablesoftware.com/
[5] Free Evolutionary Timetabling Software, Liviu Lalescu, “Features”,
April 2006.
http://www.lalescu.ro/liviu/fet/features.html

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.

San Juan, PR July 23 – 28, 2006


9th International Conference on Engineering Education
T4K-23

You might also like