Self conflict resolving interactive web-based class scheduling system.
Yoo, Sehwan ; Jin, Jongdae ; Kim, Dae Ryong 等
ABSTRACT
This paper explores the possibility of an interactive web-based
class schedule management system, which includes automatic conflict
resolution functions. This system utilizes the automatic conflict
resolution capability to solve tardiness and complexity of class
scheduling problems and to save time consuming in the scheduling for
both instructors and administrators. The system allows instructors to
enter their class schedules to the system directly and solve most of the
conflicts with other classes by the criteria already set in the system.
The system finalizes each scheduling when the conflicts are solved by
the set rules, and administrators intervene to the scheduling process
only when the system cannot solve the conflicts even after applying all
the criteria. In this case, involved instructors and administrators
receive a message from the system to have further adjustment. Through
this process, the system provides efficient and powerful means to
instructors to set up their class schedule by themselves every semester in timely manner without sacrificing all the stakeholders'
interest. By replacing a primarily paper-based work process and
utilizing web-based on line scheduling system, both instructors and
administrators can use all the scheduling information saved in database
and update it whenever they use the system. This practice may save time
and cost in class scheduling tremendously for all sort of educational
institutions.
INTRODUCTION
With the advancement of information technology, many
colleges/universities use Web-based registration systems in which course
schedules are offered to & selected by students and then
students' course selections are registered with the
colleges/universities.[1] For the effective use of Web-based
registration systems, Institutions should have a well-organized class
schedule system in place before they offer course schedules in their
Websites. Having a good schedule is not that easy job in most
institutions, because instructors have conflicting preferences on such
issues as day, time, classroom, building, and lab [7]. Therefore, there
are class conflicts almost all the time in most institutions.
Conventional Web-based class scheduling systems in many
universities [2, 4, 5] do not have automatic conflict resolution
functions that can solve incompatible and inconsistent class schedules
raised by all the instructors in the universities. Department
administrators usually have to take actions to resolve not only
systematic conflicts but also unsystematic conflicts manually, although
systematic conflicts can be resolved automatically in the system.
Conventional systems also utilize paper-based work processes or e-mails
to interact and/or communicate each other. Conventional systems work but
are neither efficient nor convenient in terms of time and process. The
motivation of the proposed system is to replace conventional off-line
conflict solution processes with automatic resolution processes using a
group of pre-set criteria to reduce time and effort for upcoming class
scheduling.
The purpose of this paper is to explore the possibility of an
interactive web-based class schedule management system, which includes
automatic conflict resolution functions. To accomplish this objective,
this study provides an essence of the proposed system development to
show how it was developed, what it looks like, how it can be used, and
what are the criteria used in the PHP programming. The study also
provides a few captured screens of the user-friendly interfaces of the
system. The proposed system provides an efficient and user-friendly
Web-based interface to the instructors, too. It also responds
immediately to any course scheduling requests with conflicts. The system
resolves the conflicts automatically whenever it finds any applicable
pre-set criteria for the conflict.
METHODOLOGY
Three important steps in coding class schedule management systems
are: creating tables in MySQL, creating HTML pages, and embedding PHP
codes into HTML tags. We download PHP [3, 6, 10] and configure PHP to
run on personal computer and test the PHP script, first. Then we install
and configure MySQL [8, 9], which is followed by a coding of HTML pages.
In order to publish the webpage and run it on a web server that supports
PHP & MySQL, we gained an access to a DATAFLAME web server
supporting PHP and MySQL. Once we learn how to administer the web
server, we begin to create tables in database and load the tables with
data. PHP files for HTML pages are coded as shown in Figure 1. This
figure shows that what kind of information instructors can enter into
the program and what kind of view the program produces in response using
PHP coding.
The database for this application is developed using MS Access that
is widely used for the small database. This database is linked with the
web pages in this application. We design nine tables for instructors and
administrators: Login_info, Courses_Offered, Semester_Description,
Room_Assignment, Bldg_Description, Time_Slots, Requested_Schedule,
Instruction_Description, and Conflict_Description
Login_info table--It stores the login information such as User ID
and password. First name, last name and email address of the user are
also stored in this table. Users can be department administrators,
facility administrators or instructors who want to register for teaching
courses.
Courses_Offered table--This table has the basic information about
the courses being offered in a particular semester of a year.
Instructors choose from amongst these courses. And his choices are
populated in the Requested_Schedule table. It shows course
identification numbers, credit hours and the semester and the year in
which the course will be offered.
Semester_Description table--It stores the descriptions of the
semester codes that are being used in the Course_info and
Requested_Schedule tables.
Room_Assignment table--This table shows the room number, building
number and the capacity of the room.
Bldg_Description Table--This is another description table of the
building codes that are being used in Room_Assignment and
Requested_Schedule table.
Time_Slots table--This table shows the day and time available for
the slot.
Requested_Schedule--This table gets populated when the instructor
chooses course ID, room No, time and other information related to the
class that he/she wants to teach. As the relationship window
illustrates, this table is getting values from the others tables.
Instruction_Description--This table shows the descriptions of codes
for instruction methods. For example code 0 means that instruction
method is face to face and code 1 means that it's a web course.
Conflict_Description Table--This table shows the description of
codes for different class scheduling conflicts.
Considering the above-addressed typical tables of this application,
we design the entity relationship (ER) diagram that is a logical
representation of the data as shown on Figure 2. The database reflects
the principal information system of basic functionalities. The tables
are accessed by primary key(s), which are bold, and they are
interconnected by foreign key(s) from other tables. All tables are
linked by the Requested_Schedule table which shows instructors'
offering courses.
[FIGURE 2 OMITTED]
IMPLEMENTATION
The class schedule management system is based upon a client-server
architecture. The client side is any Internet browser capable computer
with an access to the university network. Instructors and administrators
enter class-scheduling information through the system. The interface is
developed using HTML and the communication protocol is based upon HTTP.
The users can access to the system by logging into their pre-established
accounts, which is verified and validated by the system. The users'
requests are posted to and processed on the university server via HTTP
protocol. Then the system updates the database with the new requests.
This interactive Web-based class schedule management system has two
primary users: instructors and administrators. Instructors should be
able to perform the following functions in the system:
1. Add classes to their schedules with specific requests for time
and location of instruction;
2. Modify class information in the schedule;
3. Delete classes from their schedule;
4. View the schedule;
5. Request new classes with specific requests for time and location
of instruction.
The administrator should be able to perform following functions in
the system:
1. View un-resolved conflicts;
2. Add new courses;
3. Drop courses not complying with the institution's policy.
This Web-based class schedule management system is a program that
enables instructors to schedule classes by applying the pre-set criteria
in the system. The system saves all class scheduling requests in the
data repository, based on which appropriate reports are produced. The
system provides a simple means of class scheduling through a
user-friendly Web-based interface. The system will produce the final
class schedules if all conflicts in the scheduling requests are resolved
automatically by the system. For those un-resolved conflicts, the system
sends notices to corresponding instructors and administrators for the
necessary actions to resolve the conflicts off-line. This Web page
contains hyperlinks to such features as add class, modify class, delete
class, show instructor schedule, request a new course addition, modify
user preference, home, and logout. Instructors select their class
schedules after they choose the 'add class' button.
The screen in Figure 3 shows that instructors can add one or more
of pre-selected classes stored in the system to their schedules. The
pre-selected classes are classes approved by the administrators before
they are entered into the system. Instructors select time and locations
of instructions considering such factors as available time slot,
enrollment cap, teaching method, and available classrooms. Instructors
modify, delete, and see their schedules. They also can request new
courses after they choose the proper main menu buttons as shown in
Figure 4. Then, instructors can choose their preferred days, time of the
days, and classrooms on the menu.
[FIGURES 3-4 OMITTED]
Administrators are supposed to enter classes to be offered to the
students and pre-approved classes for each instructor. However,
administrators' roles in resolving schedule conflicts are very
limited in this class schedule management system. They participate in
the conflict resolution process only if there are unresolved scheduling
conflicts by the system after applying all applicable conflict resolving
criteria.
RESOLVING CONFLICTS IN THE WEB-BASED CLASS SCHEDULE MANAGEMENT
SYSTEM
Conflicts occur when more than one instructors request for the same
classroom and the same time slot or when more than one instructors
teaching different required classes request for the same time slot.
These conflicts will be resolved in the web-based class schedule
management system using the following criteria.
Criterion 1: the required course has a preference over the elective
course, which means scheduling requests for the required course should
be granted, first, between the required course and the elective course.
Criterion 2: the upper level course has a preference over the lower
level course. The upper level course is a course offered to the upper
class students, while the lower level course is to the lower class
students. For example, among advanced level course, intermediate level
course, and introductory level course, scheduling requests for advanced
level courses should be granted, first, then intermediate level courses,
and introductory level course, last.
Criterion 3: the course in the core competent area of the
instructor has a preference over the course in the non-core competent
area of the instructor. For example, schedule requests for MIS classes
by instructors with MIS expertise should be granted before the approval
of schedule requests for MIS classes by instructors without MIS
expertise for the benefit of students.
Criteria 4: scheduling requests that cause violations of the
institution's teaching policy, if not granted, have preferences
over the other class scheduling requests that do not. Suppose that an
instructor's teaching schedule will violate the institution's
teaching policy that prohibits any instructor from teaching more than 3
days a week, if his or her course scheduling request is not granted, his
or her course scheduling request should be granted, first.
The above-mentioned 4 criteria should be applied in the same order
as they are presented. In other words, apply the criteria in the order
of criterion 1, 2, 3, and then 4. It is necessary to apply the immediate
subsequent criterion, only if the immediate preceding criterion does not
resolve the conflict in the scheduling requests. If all four criteria do
not resolve the conflict, the system informs the requesting instructor
that he or she must contact the administrator to resolve the conflict.
[FIGURE 5 OMITTED]
If all conflicts are resolved by the system, the approved course
schedule of an instructor will appear in the monitor screen. On rare
occasions where there be any unresolved course scheduling conflicts,
both the requesting instructor and the administrator will receive
e-mails regarding them. This request needs further attention of the
administrator and will be finalized off line. And the following message
shown in Figure 7 will appear in the monitor screen,
[FIGURES 6-7 OMITTED]
CONCLUSION
This paper explores the possibility of an interactive web-based
class schedule management system, which includes automatic conflict
resolution functions. This system utilizes the automatic conflict
resolution capability to save time and effort consumed in the scheduling
process for both instructors and administrators. The system allows
instructors to enter their class schedules to the system directly and
solve most of the conflicts with other classes by the criteria already
set in the system. The system finalizes each scheduling request when the
conflicts are solved by the pre-set criteria, while administrators
intervene to the scheduling process only when the system cannot solve
the conflicts even after the system applies all the criteria. In this
case, involving instructors and administrators receive a message from
the system to have further adjustment.
Through this process, the system provides efficient and powerful
means to the instructors to set up their class schedules by themselves
every semester in timely manner without sacrificing any
stakeholders' interest. By replacing a primarily paper-based work
process with a web-based scheduling system, both instructors and
administrators can use all information saved in database of the system
and update the database whenever they use the system. This practice may
save time and cost in class scheduling tremendously for all sort of
educational institutions.
REFERENCE
1. Babb, D., (2000). A Brief History of Registration at at UH Manoa
Since The Beginning of Time, Infobits, 6 (1).
2. Brown A., (1997). Designing for Learning: What Are the Essential
Features of an Effective Online Course?, Australian Journal of
Educational Technology, 13 (2).
3. Deitel, H.M., Deitel, P.J., and Nieto, T.R. (2002). Internet
&World Wide Web: How to Program, Prentice Hall: Upper Saddle River,
NJ.
4. Fredrickson, S., (1999) Untangling a Tangled Web: An Overview of
Web-based Instruction Programs, Journal Online, June.
5. Johnson, J., (2003). The Evolution of Distance Learning In
Higher Education, EEE: News & Events, December.
6. Moulding, P., (2001). PHP Black Book Comprehensive Problem
Solver, Coriolis Technology Press: Scottsdale, AZ.
7. Thomas N., (2002). Electronic Schedulers for Resource Room and
Itinerant Teachers, Odyssey Magazine, Fall.
8. Yarger, R.J., Reese, G., and King, T., (1999). MySQL and mSQL,
O'Rielly & Associates, Inc.: Cambridge, MA.
9. http://www.mysql.com, A site for downing MySQL and its
documentation.
10. http://www.php.net, A site for downloading PHP and its
documentation.
Sehwan Yoo, University of Maryland Eastern Shore
Jongdae Jin, University of Maryland Eastern Shore
Dae Ryong Kim, Delaware State University
Figure 1. PHP Coding (instr_view.php)
<?php
session_start(); //Starting a session where empid is a session
variable i.e reading the empid
from current session
$_SESSION[empid]; //and when user logs in, it is stored like a global
variable
$connection = mysql_connect("localhost", "ujtjxwc_110", "BABA") or die
("Couldn't connect to server.");
$db = mysql_select_db("ujtjxwc_c5633s3g25", $connection) or die
("Couldn't select database.");
$sql_query1 = "SELECT TM.COURSE_RUBRIC,
TM.COURSE_NUMBER,R. SECTION_ID,E.LNAME,E.FNAME,RM.BLDGDESC,R.ROOM1,
T.day,T.time
from requested_schedule R, semester_desc S, courses_offered
TM, login_info L, emp_desc E,
room_assignment RM, timeslot T
where R.SEMESTER_ID=S.SEMESTER_ID and
TM.CLASS_NUMBER=R.CLASS_NUMBER and L.EMPLOYEEID=R.EMPLOYEEID
and
E.EMPLOYEEID=R.EMPLOYEEID and RM.BLDG_ID=R.BLDG_ID1 and
RM.ROOMNO=R.ROOM1 and T.TID=R.TID and S.SEMESTER_ID=L.SEMESTER_ID and
R.employeeid=$empid";
$sql_result_query1 = mysql_query($sql_query1,$connection) //executes
the query & stores the data in //$sql_result_query1
or die ("Couldn't run query!");
?>
//instructor_view.php continued
while ($row1 = mysql_fetch_array($sql_result_query)) { //passing
the results of the query in to an array
//called row1 which consist of multiple entities & then we
are breaking those entities in to different variables.
$title1 = $row1["COURSE_NAME"]; //picking up course name
from array & storing it in title1
$title2 = $row1["COURSE_NUMBER"];
$title3 = $row1["SECTION_ID"];
$title4 = $row1["LNAME"];
$title5 = $row1["FNAME"];
$title6 = $row1["BLDGDESC"];
$title7 = $row1["ROOM1"];
$title8 = $row1["day"];
$title9 = $row1["time"];
echo"
<tr>
<td width=10% align=center>$title1</td> //This prints out on screen
the data according to the following alignment
<td width=10% align=center>$title2</td>
.......
.......
<td width=10% align=center>$title8</td>
<td width=10% align=center>$title9</td>
</tr>";