Rochester Institute of Technology
RIT Scholar Works
Theses
Thesis/Dissertation Collections
1985
A Student scheduling system for a microcomputer
Michael Mahaney
Follow this and additional works at:
http://scholarworks.rit.edu/theses
This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion
in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact
.
Recommended Citation
Rochester Institute of Technology
School of Computer Science and Technology
A Student Scheduling System for a Microcomputer
by
Michael C.
Mahaney
Jr.
A thesis, submitted to
The Faculty of the School of Computer Science and Technology,
in partial fulfillment of the requirements for the degree of
Master of Science in Computer Science.
Approved by:
Henry A.
Etlinger
~nry
A.
Etlinger
(Advisor)
Chris Cornte
Chris Comte
Andrew Kitchen
Andrew Kitchen
May 1,
1985
-1-Title
ofThesis:
A
Student
Scheduling
System
for
a MicrocomputerI
Michael
Mahaney
hereby
grant permissionto
the
Wallace
MemorialLibrary,
ofRIT,
to
reproducemy
thesis
in
whole orin
part.Any
reproduction will not
be
for
commerical use or profit.6-^3001.
ACKNOWLEDGMENTS
I
wouldlike
to
express gratitudeto
the
members ofmy
thesis
committee,
Chris
Comte
andAndrew
Kitchen
for
their
suggestions and criticisms.
I
amespecially
indebted
to
Hank
Et
linger,
chairperson ofmy
committee,
for
help
in
reviewing
andrevising
this
paper.Most
of allI
wouldlike
to
thank
my
family,
who provided1.
PRELIMINARY
INFORMATION
ABSTRACT
A
STUDENT
SCHEDULING
SYSTEM
FOR
A
MICROCOMPUTER
This
studentscheduling
system was writtenfor
use on amicrocomputer
to
givethe
local
high
school more control overthe
scheduling
process.Scheduling
systems are usedby
high
schoolsto
scheduletheir
students,
balance
classes,
and print studentschedules and class
lists.
A
scheduling
system mustbe
flexible
to
providefor
the
generation ofmany
different
types
ofschedules.
Most
scheduling
programscurrently
used are sharedby
high
schoolsthrough
the
use ofBOCES
(Board
ofCooperative
Educational
Services).
Schools
sendtheir
schedulesto
the
BOCES
regional computer centers
to
be
run on mainframe computers.This
scheduling
system was writtenusing
Apple
Pascal
for
useon an
Apple
HE
microcomputer.The
system wasdeveloped
to
do
student
scheduling
for
ahigh
school ofless
than
1200
students.The
system will section students and providethe
school withstudent
schedules,
classlists
as well asmany
scheduling
tools
1.3.
KEY
WORDS
AND
PHRASES
Balancing
(Class
size)-Making
the
number of studentsin
each section
(or
class) of a coursethe
same,
or asnearly
so,
as possible.Block
Scheduling
-Placement
of students with common subjectselections
into
a group.The
group
then
couldbe
assigned
to
ateam
ofteachers
for
large
segments ofinstructional
time.
Code
Number
-A
three-digit
numberidentifying
each course offeredin
a school.Computer
Scheduling
-A
generalterm
describing
the
use of a computerto
assistin
student scheduling.The
range ofassistance extends
from
the
preparation of simplereports or printouts
to
the
completeprocessing
ofboth
the
master schedule and student schedules.Conflict
A
conditionin
whichtwo
or more courses selectedby
a student are offered atthe
sametime.
Conflict
Matrix
-A
list
of all coursesthat
would conflict with a given course.The
number of students who wouldhave
this
conflictis
alsolisted.
Conflict
Rate
The
percentage of students whohave
one ormore conflicts.
Conventional
Schedule
A
traditional
scheduling
methodbased
on aweekly
cycle of class periods of equallength
, usuallymeeting
the
sametime
eachday.
Course
Tallies
-Enrollment
figures
for
each course offeredin
the
curriculum.Doubleton
A
course whichhas
sufficient enrollmentto
require
two
sections.Flexible
Modular
Schedule
-A
type
of schedule whichdivides
the
schoolday
into
15
to
30
abbreviated periods(10
to
20
minutes each)in
orderto
providefor
a greatervariety
ofinstructional
experiences.Manual
Scheduling
-The
completion ofthe
scheduling
processby
hand,
without computerizeddata
processing
Master
Schedule
-A
comprehensivelisting
ofthe
classofferings
that
assignsevery
section ofevery
courseto
specific
teachers
in
designated
rooms at varioustimes
of
the
day.
Mosaic
Scheduling
-A
loading
technique
usedto
schedulestudent courses
individually
ratherthat
in
block
fashion.
Scheduling
The
processby
whichthe
curriculum,
the
students,
andthe
teachers
arebrought
together
in
anorganized manner.
Section
-A
class of students of a predetermined numberrange
that
study
a particular coursetogether
in
the
same period.
Simulation
Run
-A
computerizedtesting
ofthe
efficiency
ofthe
master schedulein
which problems or possiblesolutions are
identified.
Singleton
A
course whichhas
only
one section.Student
Requests
A
list
of coursesthat
a student wouldlike
to
schedule.Turnaround
Time
-The
elapsedtime
between
the
schoolsubmitting
information
to
the
computer center andthe
delivery
ofthe
resulting
computer printoutto
the
school.
Tripleton
-A
coursethat
has
sufficient enrollmentto
require
three
distinct
sections.1.4.
COMPUTING
REVIEW
SUBJECT
CODE
Not
applicable.-4-TABLE
OF
CONTENTS
1.
Preliminary
Information
1.1.
Title
andAcceptance
Page
1
1.2.
Abstract
2
1.3.
Key
Words
andPhrases
3
1.4.
Computing
Review
Subject
Code
= ....41
.5.
Tabl
e ofContents
5
2.
Proposal
8
3.
Introduction
andBackground
3.1.
Problem
Statement
8
3.2.
Previous
Work
3. 2. 1
.Types
ofSchedules
12
3.2.2.
Conflicts
in
Scheduling
13
3.2.3.
Manual
vs.Computer
Scheduling
15
3.2.4.
Research
Findings
18
3.3.
Theoretical
andConceptual
Development
3.3.1.
Phase
1
-Schedule
Development
22
3.3.2.
Phase
2
-Section
Students
23
3.3.3.
Phase
3
-Final
Output
....253.3.4.
Scheduling
Calendar
26
4.
Functional
Specification
4.1.
Functions
Performed
..284.2.
System
Data
Flow
Chart
30
4.3.
Limitations
andRestrictions
36
4. 4.
User
Inputs
36
4. 5.
User
Outputs
.375.
System
Specification
5.1.
System
Organizational
Chart
40
5.2.
Equipment
Configuration
48
5.3.
Implementation
Tools
...485.4.
Overvi
ew ofProgrammi
ng
System
48
6.
Verification
andValidation
6.1.
Test
Plan
56
6. 2.
Test
Procedures
56
6.3.
Test
Results
57
7-
Conclusions
7-1.
Problems
Encountered
andSolved
....597.2.
Discrepancies
andShortcomings
ofSystem
61
7. 3.
Lessons
Learned
61
7.3.1.
Alternative
Approaches
for
Improved
System
..617.3.2.
Suggestions
for
Future
Extensions
...62
7.4.
Future
Di
recti onsi
nSchedul i ng
63
8.
Bibl
iography
65
9.
Appendices
9.1.
Li
st ofStudent
Records
67
9.1.1.
General
Information
67
9.1.2.
Student
Course
Request
List
68
9.2.
Conflict
Matrix
. .699.3.
Course
Tallies
List
..709.4.
Course
List
71
9.5.
Results
-Trial
and
Final
Run
72
9.6.
Student
Schedul
es73
9.7.
Course
Class
Lists
74
-6-10.
Program
Listings
10.
1
.Entstuddata
75
10.2.
Unit
One
76
10.3.
Cmatrix
77
10.4.
Tallylist
78
10.
5.
Entcoursedata
79
10.6.
Scheduler
80
10.7.
Unit
Two
81
10.8.
Printschedules
82
10.9.
Printclasslists
33
-7-2.
PROPOSAL
A
copy ofthe
thesis
proposalis
onfile.
3.
INTRODUCTION
AND
BACKGROUND
3. 1
PROBLEM
STATEMENT
Every
high
schoolfaces
the
problem each year ofscheduling
their
students andteachers.
The
mostwidely
usedscheduling
format
is
onein
whichthe
computer generatesdata
from
whichthe
master scheduleis
built.
The
master scheduleis
alisting
that
assignsevery
section of every courseto
a specificteacher
at a
designated
time
ofthe
day.
The
data
that
the
computergenerates
includes
a coursetallies
list
andthe
conflict matrix.The
coursetallies
list
is
alist
of enrollmentfigures
for
eachcourse
in
the
curriculum.The
conflict matrixis
alist
of allcourses
that
would conflict with a given course.The
number ofstudents who would
have
each conflict are alsolisted.
After
the
scheduleis
built
the
computertests
the
efficiency of
the
master schedulethrough
a simulation runin
which
the
students areloaded
into
the
schedule.The
computerthen
prints partialschedules,
conflicts and coursetallies
sothat
the
scheduler can make adjustmentsin
the
schedule.A
partial schedule
is
a student schedulefor
all courses whichwhere successfully scheduled
along
with alist
of unscheduledcourses.
Finally
student andteacher
schedules, classlists
andother
helpful
reports are printed.-8-ine computer
usually
is
a mainframelocated
atBOCES
(Board
of
Cooperative
Educational
Services)
and allthe
schoolsin
agiven region would use
the
samescheduling
services.This
form
of centralization causes some problems
for
local
schools.Problems
encounteredby
schoolsinclude:
1.)
BOCES
allows a schoolonly
three
runs of a schedulewith a
two
to
three
weekturnaround
time
for
each run.As
a resultthe
scheduling
process startsin
May
andthe
final
runis
usually
in
early
August.
2.)
After
the
first
run,
if
the
schedulerfinds
a problemwith a course placement
he/she
correctsit.
The
scheduler must
then
waitfor
two
to
three
weeksto
find
out
if
his/her
solution works.The
scheduleronly
has
two
chances or runsto
resolve allthe
problemsin
aschedule.
3.
)
Any
student who enters afterthe
final
run(first
week
in
August)
has
to
be
hand
scheduled and all classlists
mustbe
updated.4. )
Any
student who changes a courseduring
the
first
week
in
August
orthe
first
few
weeks of schoolhas
anincorrect
schedule,
resulting
in
classlists
which areoften
inaccurate.
SOLUTION
This
thesis
will solvethe
problemslisted
aboveby
developing
a student scheduling systemfor
a microcomputer.Since
most schoolshave
a microcomputer,the
control ofthe
scheduling process could
be
held
in
the
local
school.-9-Difficulties
previously
encounteredthat
couldbe
solvedby
this
system are:1.)
Eliminating
the
two
to
three
weekturnaround
time
between
runs ofthe
schedule.2.)
The
scheduler would notbe
limited
to
only
three
runswhich would
greatly
increase
his/her
efficiency
andaccuracy.
3.
)
The
first
run couldbe
madebefore
the
end of schoolin
June
so guidance counselors wouldhave
time
to
contactstudents
regarding
conflictsin
the
students'schedules.
4.
)
The
final
run of schedules couldbe
madeduring
the
week
before
schoolbegins
to
ensure more accurate studentschedules and class
lists.
THE
STUDENT
SCHEDULING
SYSTEM
This
studentscheduling
system will allowthe
schoolto
enterall required
data
using
a microcomputer.The
computer willthen
be
ableto
generatethe
information
necessary
to
build
the
schedule.
Finally
the
schedule andfinal
reports willbe
printed.1.)
Data
enteredby
the
user.A. )
Student
information
1.)
Name,
grade,
address.2. )
Courses
requested.B.
)
Schedule
information
1=)
Courses
offered.2.)
Time
and room information.-10-C.
)
Teacher
information
1.)
Courses
and sections offered.2. )
Room
or rooms used.2. )
Data
generatedby
the
systemA.)
Information
usedto
help
build
the
master schedtile.1.)
A
conflict matrix whichis
usedto
determine
how
manystudents are
taking
a given combination of courses.2.)
A
list
ofthe
number of students registeredfor
eachcourse
by
gradelevels.
B=
)
After
scheduling
the
students,the
system will provideinformation
usedto
help
resolve conflicts.1.)
A
list
of students unableto
schedule all requestedcourses.
2. )
A
partial schedulefor
each student whose schedulecontained a
conflict,
listing
any coursein
which a studentwas unable
to
enroll.3.)
A
listing
of all classes andthe
number of studentsenrolled
in
each.This
list
wouldbe
usedto
considerbalance
problems.C.
)
Changes
canthen
be
madeto
both
student courseselections and course offerings.
The
schedule canthen
be
rerun until
the
results are acceptable.D. )
After
arriving
at an acceptable schedulethe
system willthe
following
information:
1.)
Individual
student schedulesfor
every
student.2.
)
Class
lists.
3.)
Master
list
of classes with enrollments.-li-3.2
PREVIOUS
WORK
3.2.1
TYPES
OF
SCHEDULES
The
scheduleis
an essential component ofthe
school program.Scheduling
combines all of a school's essential resources-faculty
andstaff,
curriculum,
space andfacilities,
and students
-into
anintegrated
and efficientlearning
environment.A
successful master schedule
holds
curricular objectives, studentcourse
requests,
andfaculty
strengths and preferencesin
appropriate
balance.
Some
ofthe
different
types
of schedulesused
by
schoolsinclude
block
schedules,
mosaicschedules,
acombination of
block
and mosaic schedules, and modular orflexible
modLilar schedules.BLOCK
SCHEDULES
Students
canbe
scheduledin
groups orindividually,
Block
scheduling
is
often used when students aretaking
a similar setof courses.
When
ablock
scheduleis
used students are scheduledin
groups.Block
scheduling
is
often preferredin
junior
high
schools
in
conjunction withteam
teaching.
All
students mightbe
taking
english,math,
socialstudies,
science andreading
courses.
Students
wouldfirst
be
divided
into
groups andthen
the
students
in
eachgroup
wouldfollow
the
same schedule.MOSAIC
SCHEDULING
At
times
the
block
structure methodis
impractical,
such aswhen
large
groups of studentsdo
nottake
similar subjects.In
-12-high
schools where required courses are offeredalong
with awide range of
electives,
a mosaic methodis
used.Mosaic
scheduling
methods are concerned withindividual
sections ofcourses.
In
this
methodthe
scheduler places one course sectionat a
time
into
the
masterschedule,
continually
building
uponthe
previous sections until
the
total
mosaicis
completed,FLEXIBLE
MODULAR
SCHEDULING
A
flexible
modular scheduledivides
the
schoolday
into
fifteen
to
thirty
abbreviated periods which rangefrom
ten
to
twenty
minutes each.These
schedules attemptto
provide a greatervariety
ofinstructional
experienceby
the
use ofvarying
time
blocks.
Modular
scheduling
permitsmany
alternativesthat
wereimpossible
undertraditional
scheduling.To
providefor
allthe
individual
differences
requiredin
the
flexible
modularschedule,
computer generation of
the
scheduleis
required.3,2.2
CONFLICTS
IN
SCHEDULING
No
matter whichtype
of scheduleis
used,
conflicts canarise.
Conflicts
occur as a result of problemsscheduling
rooms,
programs,
and courses.The
most commontype
of conflict ariseswhen
two
of a student's preferred courses are scheduledin
the
same period.
If
a single section course(singleton)
is
placedin
a particular period
along
with anothersingleton,
the
studentwill
be
unableto
schedule one ofthem.
Conflicts
do
not arise so muchfrom
individual
studentpreferences as
from
the
difficulty
ofconstructing
a schedulethat
will accommodatethe
seeminglyinfinite
combination of-13-different
courses.The
scheduler's goalfor
eachscheduling
yearis
the
building
of an efficient schedulethat
is
as conflict-freeas possible.
This
would resultin
only
a small number of studentsneeding
to
changetheir
course requests.In
an attemptto
limit
potential conflictsthe
scheduler usesa conflict matrix
(an
array
of all coursesin
the
curriculumpaired against each other).
The
matrix wouldusually
include
singletons,
doubletons
and sometripletons.
The
scheduler wouldread
the
matrixto
anticipate potential conflicts*Although
different
implications
arise whencomparing
two-section
courses(doubletons)
as opposedto
singletons,
the
matrix maintains ahigh
degree
of usefulness.According
to
Richard
Dempsey
andHenry
Traversa1 anumber of elements affect
the
scheduler'sability
to
construct aschedule with a minimum of conflicts.
Some
ofthese
ares1)
High
density
withinthe
schedule(e.g.
six requiredcourses
in
a six period schedule),2)
An
excessive number of singletons.3)
Nongraded courses
(e.g.
those
opento
studentsin
several grade
levels).
4)
A
large
number of restrictivefactors
(e.g.
parttime
faculty)
.5)
Constraints
in
the
teacher
contract(e.g.
length
ofteachers
'day)
.6)
Many
teachers
assignedto
morethan
onedepartment.
7)
Many
double-period
subjects(e.g.
sciencelabs).
1
Richard
Dempsey
andHenry
Traverso,
Scheduling
the
Secondary School
(NASSP,
1983),
p.51.
-14-As
more ofthese
factors
arepresent,
the
moredifficult
itwill
be
to
build
a conflict-reduced schedule.Scheduling
techniques
have
changedfrequently
anddramatically
sincethe
early
1960
's,
in
keeping
with changingnational priorities.
The
increase
in
school enrollments andproliferation of curricular offerings
in
the
1960
's
spurredthe
development
of computerizedscheduling
techniques.
The
number ofcourses
offered,
andthe
individualization
of instructionresulted
in
a surgein
the
variety
andflexibility
ofscheduling
models available
to
schools.By
the
early
1970's,
agrowing
awareness of accountability prompted educators
to
revitalizeconventional scheduling.
3.2.3
MANUAL
VS
COMPUTER
SCHEDULING
Many
procedures employedby
manual and computerizedscheduling
arethe
same.Steps
requiring
analysis and evaluationmust
be
performedby
the
scheduler regardless ofthe
scheduling
method used.
They
include:
1)
Determining
student needs.2)
Reviewing
the
curriculum.3)
Formulating
the
program of studies.4)
Preparing
registration materials.5)
Setting
the
calendarfor
registration.6)
Interpreting
the
tallies.
7)
Identifying
staffing needs.8)
Utilizing
a conflict matrix.The
computeris
usefulin
preparation ofthe
conflict matrixand
providing
coursetallies.
A
conflict matrix can
be
preparedby
hand
but
it
is
avery
time
consuming
process,Computers
aregenerally
usedin
the
"load"phase where
the
computerdoes
notgenerate
the
master schedulebut
does
assign studentsto
classes.The
computer also provides valuable reports and partial schedulesto
assistin
refining
the
master schedule.Junior
high
schools which useblock
scheduling
techniques
canmanually
producetheir
schedules while mosthigh
schoolsusing
mosaic schedules use computers
to
assistin
the
scheduling
ofstudents.
There
aretwo
types
ofscheduling
programs: studentsectioning
programs,
andintegrated
classscheduling
and studentsectioning
programs.STUDENT
SECTIONING
PROGRAMS
Programs
for
assigning
studentsto
course sectionsi,T
apre-determined master schedule make
up
the
majority
ofoperational school
scheduling
computer programs,One
ofthe
first
operational models ofthis
type
wasdeveloped
atPurdue
University
in
1956.
I.B.M.
followed
this
development
with a program calledCLASS
(Class
Load
andStudent
Scheduling)
based
onthe
work atPurdue.
Several
other studentsectioning
programshave
been
written which are allbasically
quite similar.
A
large
number of private and public organizationsprovide student
sectioning
servicesto
schools.Most
ofthese
modelstake
asinputs
the
master classschedule,
the
student courserequests,
and class size parameters.Using
varioustypes
ofheuristics,
students aresectioned,
student schedules are printed
out,
and names of studentsfor
whom-16-the
technique
cannotfind
a no-conflict schedule are printed out.The
scheduler makes some adjustments andthe
processis
repeated.INTEGRATED
CLASS
SCHEDULING
AND
STUDENT
SECTIONING
PROGRAMS
A
number of research groupshave
written computer programswhich
integrate
the
two
jobs
ofbuilding
the
master classschedule and
sectioning
the
students.Two
models areGASP
(Generalized
Academic
Simulation
Program),
developed
atM.I.T.
,and
SSSS
(Stanford
School
Scheduling
System),
developed
atStanfoi'-d
University.
Input
to
these
programsincludes
rooms andinstructors
available,
desired
time
patternfor
the
schoolday
and eachcourse,
andthe
student course requests.Using
this
data,
amaster schedule
is
developed
andthe
students are sectioned,This
procedureis
mostcommonly
performedby
the
scheduler whoutilizes
the
conflict matrixto
develop
the
master schedule.The
main
difference
between
these
integrated
classscheduling
programs and programs
that
only
"section"students
is
that
the
master schedule
is
computer generated.High
schoolsbegan
to
usethese
programsin
the
1960s
withthe
introduction
offlexible
modular scheduling.The
varying
time
blocks
andindividualization
providedfor
in
aflexible
modularschedule made
it
almostimpossible
to
generatethese
schedulesby
hand.
As
a result schools startedto
usethe
services of computer3.2.4
RESEARCH
FINDINGS
COMPUTERIZED
SCHEDULING
Lynne
M.
Durward
in
"Computerized
Scheduling
In
Vancouver
Schools"
examined computerized
scheduling
in
sixteenVancouver
secondary
schools.Fifteen
ofthese
schools usedthe
Honeywell
Scheduling
Program
(a
sectioning
program) and one usedColumbia
Computing
Services
Limited
(an
integrated
class andsectioning
program).
Durward
listed
the
main advantages of computerscheduling
assaving
of secretarialtime,
more complete andaccurate student
lists
andbetter
balancing
of class size.3Schools
using
the
Honeywell
Scheduling
Program
had
a medianconflict rate after
the
final
scheduling
run of4.77..
The
schoolusing
aflexible
modular system ofscheduling
(the
Columbia
Service)
had
a62%
conflict rate.Durward
found
the
62%
rateto
be
somewhatmisleading
because
most ofthese
were resolvedby
teachers
agreeing
to
hold
classesduring
their
free
modulesto
accommodate students.3
The
report's main criticisms ofthe
Honeywell
System
werethat
the
turnaround
time
for
simulation runs wastoo
long
andthat
the
rundates
weretoo
early
andinflexibLe.
While
shefound
no significant
relationship
between
the
number of simulation runsand
the
conflict rateit
appearedthat
schools with extrasimulation runs were
operating
smoothly
earlier.2
Lynne
M.
Durwood,
"ComputerizedScheduling
in
Vancouver
Schools.
A
Research
Report."(
April
1973),
p.3.
3
Ibidj.
, p.10.
-18-FLEXIBLE
MODULAR
SCHEDULING
Clayton
Braddock
in
his
1967
article"Changing
Times
areChanging
Schools"examined
flexible
modular scheduling.Braddock4
listed
some ofthe
advantages of modularscheduling
as:1)
More
efficient use oftime.
2)
More
opportunities
for
independent
study and research.3)
Closer
contact withteachers
and other students as wellas smaller groups.
4)
Highly
personalized class schedulesfor
each student.5)
Greater
opportunitiesfor
teachers
to
teach
in
depth.
6)
More
decisions
by
students abouttheir
own school work.At
Trezevant
High
School
in
Memphis,
Tennessee,
Braddock
found
that
as much as40%
of a student'stime
wasunscheduled,3
Some
provisionshad
to
be
madefor
studentswho were unable
to
handle
the
unscheduledtime.
Braddock
found
that
many
peoplefelt
that
a modular scheduledid
not alwaysaccomplish
its
objectives.Dr,
Frank
Brown,
aSuperintendent
ofSchools
in
Florida,
called modularscheduling
a"gold
platedfad,"
Brown
felt
modularscheduling
took
an excessive amount ofadministrative
time
andinvolved
higher
costs.In
1965,
Robert
Oakford
andDwight
Allen
began
athree
yeardevelopment
programto
determine
the
desirability
of modularscheduling.
In
their
reportOakford
andAllen
investigated
the
impact
ofthe
Stanford
School
Scheduling
System
(SSSS)
on4
Clayton
Braddock,
"Changing
Times
areChanging
Schools,"Southern
Education
Report
,V3N3(0ct.
1967)
p.4.
5
Ibi d.
, p.1.
-19-scheduling
eighteensecondary
schools.They
found
that
in
many
project schools
the
technology
for
flexibility
is
present,
but
teachers
andadministrators
were not gearedto
implement
the
full
potential .
Oakford
andAllen
found
that
evenin
the
schools where staffswere
deeply
committedto
the
new educationalobjectives,
99
percent of
the
possible alternatives permittedby
modularscheduling
had
yetto
be
tried.
The
authors statedthat
"only-people can make a modular
schedule,
aflexible
schedule." *SECTIONING
VS.
INTEGRATED
PROGRAMS
Project
Pass
(Project
in
Automated
School
Scheduling)
wassponsored
by
the
Western
New
York
School
Study
Council
during
the
summer of1965.
The
goal wasto
provide inservice educationfor
school personnelcontemplating
the
use of automatedapproaches
to
school scheduling.The
two
techniques
utilized wereCLASS
andGASP.
Two
pilot schools were selected andthese
schoolswere scheduled with
both
processes.Analysis
ofthe
data
showedCLASS
and6ASP
could notbe
compared
in
terms
oftheir
ultimate objectives.CLASS
is
a"sectioning"
technique,
where asGASP
develops
a master schedule.Dr,
Leonard
Chaffee
andDr.
Robert
Heller
in
their
report onProject
Pass
^also concluded
it
wouldbe
financially
impractical
for
schools with conventional programsto
adoptGASP.
GASP
is
for
schools contemplatinginnovative
instructional
6
Oakford
andAllen,
"Flexibility
for
Vocational
Education
Through
Computer
Scheduling.
A
Final
Report,"p.
11.
7
Chafee
andHeller,
"Analysis
ofSelected
Factors
Relative
to
Automated
School
Schedulina
Process,"(
April
1973)
p.23.
-20-programs which
increase
the
number of variablesto
be
consideredin
the
development
ofthe
master schedule.Since
it
wasoriginally
designed
for
universityscheduling
it
assumed moreflexibility
than
wasfound
in
pilot schools.Many
ofthe
alternatives
it
presented would nothave
been
so awkwardin
ahigher
education setting.As
a resultthe
GASP
scheduler stillhad
to
build
a significant portion ofthe
schedule manually andthen
lock
it
into
GASP-SCHEDULING
PROBLEMS
Robert
Harding,
in
The
Problem
ofGenerating
Class
Schedules
for
School
sf examinedthe
practical andtheoretical
approachesto
generating
class schedules.He
found
that
no method wasentirely
satisfactory
in
terms
ofboth
the
quality of output andthe
costof
the
process.Harding
found
existing
techniques
sufferedfrom
one or a combination of
the
following
weaknesses:1)
The
processtakes
too
long,
eitherin
total
time
and/or
in
computertime.
2)
It
coststoo
much.3)
It
requiresthe
attention of ahigh-level
administrator
for
too
long
atime
period.4)
It
requirestoo
much computer core capacity whencompared with what
is
commonly
available.5)
The
schedules generated are of poor qualityin
terms
of
the
following
criteria:a)
The
number of students unableto
scheduletheir
requested courses,
b)
The
number ofteachers
reassignedto
areasin
which
they
areless
well qualified,to
accomplishthe
scheduling
process.c)
Utilization
offacilities.
d)
Schedule
balance.
6)
The
analytical modelis
logically
sound ,but
whenapplied
to
a realproblem,
the
combinatorial propertiesso swell
the
problemthat
the
methodbecomes
computationally
infeasible
andhence
not useful.7)
The
approachdoes
notaccurately
reflectthe
true
conditions
in
the
schools andtherefore
cannot generatea useful schedule of
high
quality,8
8
Robert
Harding,
Problem
ofGenerating
Schedules
for
Schools
(Ann
3.3
THEORETICAL
AND
CONCEPTUAL
DEVELOPMENT
The
scheduling
system proposedin
this
thesis
willbe
ableto
schedule
the
students atSodus
Central
School.
The
parameterswill
be
left
general sothat
this
system couldbe
usedto
schedule other schools.
This
projectis
broken
down
into
three
phases which correspond
to
normal scheduledevelopment.
3.3.1
PHASE
1
DESCRIPTION
Guii dance
counselors meet with each studentto
determine
the
student's course requests.
The
scheduler works withthe
department
chairpersons andthe
principalto
determine
the
courseofferings.
Two
files
aredeveloped:
one which contains courseofferings and
the
otherthe
student requests.In
this
phase a program mustbe
written which usesthe
student request
file
and courseoffering
file
asinputs.
The
output of
this
phaseis
a conflict matrix andthe
coursetallies
list.
The
normal procedureis
that
the
conflict matrix andthe
course
tallies
list
are printed andthey
arethen
usedby
the
scheduler
to
determine
the
final
courseoffering
andto
develop
the
master schedule.This
project will givethe
scheduler some addedflexibilities.
Course
tallies
are usedto
makedecisions
whichmight
involve
dropping
a coursefrom
the
offering.It
wouldbe
possible
to
runthe
conflict matrix at alater
time
afterthe
in
a conflict matrix whichis
more accurate.CURRENT
PROBLEMS
1)
Course
tallies
and conflict matrix are run atthe
same
time.
The
coursetally
sheetis
then
usedto
makedecisions
aboutdropping
courses withinsufficient
enrollment.
Some
studentshave
to
pickup
new coursesto
replace courses
dropped
and as a resultthe
conflict matrixis
not accurate.2)
The
conflict matrixis
run oncein
May
andby
the
second simulation run
in
July
the
data
is
too
oldto
be
ofuse
in
working
out problems.3)
The
scheduler mustindividually
tally
the
number ofstudents
conflicting
with a given course.SOLUTIONS
1)
The
coursetallies
list
tzanbe
regenerated afterthe
course
decisions
have
been
made andthe
conflict matrix canthen
be
runto
provide more accurateinformation.
2)
A
conflict matrix couldbe
regenerated wheneverchanges
have
been
madeto
student course requests.3)
A
conflict matrix couldindividually
generate andtally
all conflicts with a given course.3.3.2
PHASE
2
DESCRIPTION
In
phase2
the
Student
Course
File
andthe
Course
Schedule
File
became
inputs
for
the
sectioning program.The
sectioning
program
loads
studentsinto
the
courses whileattempting
to
same course.
If
students are unableto
schedulethey
are addedto
the
conflictlist
and a partial scheduleis
printed.At
the
endof
this
simulation run,the
school results are printed.Guidance
counselors usethe
partial schedulesto
resolvedirect
conflictsby
having
the
students make a choicebetween
the
courses which conflicted.
The
scheduler usesthe
school resultsto
examine problems with classbalance
and make otherdecisions
about
changing
the
times
of course offerings.After
changeshave
been
madeto
the
Student
Request
File
andthe
Course
Schedule
File
there
willbe
another simulation run.This
processis
continued untilthe
scheduleris
satisfiedwith
the
results andis
ready
for
afinal
run.This
thesis
willgive
the
scheduler some addedflexibilities.
Under
presentconditions
BOCES
allowsonly
two
simulation runsbefore
the
final
run.
Since
the
scheduler willhave
control ofthis
processhe/she
cantake
more runsin
attempting
to
provide abetter
schedule.
CURRENT
PROBLEMS
1)
BOCES
only
permitstwo
trial
simulation runsin
the
general package.
A
school mustpay
for
extra runs.2)
Turnaround
time
is
abouttwo
weeksfor
each run.3)
As
a result ofhaving
only
two
trial
runs,
the
first
run
is
usually
held
until afterJune
examsin
orderto
include
failures.
4)
After
the
first
trial
runthe
scheduler mighthave
to
move some courses
to
different
periods.He
is
unableto
determine
the
possible effectthe
moves willhave
on eachother.
It
is
possiblefor
a changeto
cause more problems-24-than
were present originally,5)
It
is
not possibleto
resolve allbalance
problems.SOLUTIONS
1)
By
having
the
capability
ofrunning
the
schedule onthe
school's equipmentthe
scheduler cantake
asmany
trial
runs as necessary
to
obtain asatisfactory
schedule.2)
Turnaround
time
willbe
about oneday
instead
oftwo
weeks.
3)
The
first
trial
run couldbe
held
before
school endedso guidance counselors would
have
time
to
personally
contacteach student with a
direct
conflictbefore
they
leave
for
summer vac at
i
on.4)
The
schedulerdoes
nothave
to
solve all problemsduring
a singletrial
run.A
better
schedule can resultby
isolating
the
results of a single change andhaving
extratrial
runs.This
is
especially
true
whentrying
to
resolvebalance
problems.5)
If
atrial
rundoes
not accomplishits
objectivethe
scheduler can
back
up
and startfrom
the
last
good run.3.3.3
PHASE
3
DESCRIPTION
In
phase3
the
sameinputs
are used asin
phase2
but
now allstudent schedules and
teacher
classlists
are printed withthe
school results.
CURRENT
PROBLEMS
1)
With
only
two
trial
runsin
phase2
the
scheduleroften makes some additional changes
before
the
final
run.If
hand
scheduled and all classlists
updated.2)
The
final
runis
during
the
first
two
weeksin
August,
soany
studententering
afterthis
mustbe
hand
scheduled and class
lists
updated.3)
Second
semester classlists
areinaccurate
whenJanuary
arrives.4)
Study
halls
mustbe
manually
divided
afterthe
final
run.
5)
Double
gym classesfor
students whofailed
mustbe
hand
scheduled afterthe
final
run which resultsin
many
class
lists
being
inaccurate.
SOLUTIONS
1)
The
final
run canbe
the
same asthe
last
trial
runso
there
are no untested resultsin
the
final
run.2)
This
thesis
allowsfor
the
development
of extensionsafter
the
final
run which would permit additions anddeletions
whileupdating
the
classlists.
3.3.4.
SCHEDULING
CALENDAR
Scheduling
is
a yearlong
projectfor
most schools.A
typical
calendar
for
asecondary
schoolis:
November
-January
Review
the
curriculum and makedecisions
on courseofferings,
type
of schedule, andlength
of schoolday
for
the
following
year.
February
-April
Guidance
counselors meet with studentsto
preparethe
students course requests.
-26-May
Course
offerings and student requests are used asinput
to
the
computer programto
producethe
conflict matrix and coursetallies.
Registration
figures
are adjustedfor
cancelled andmerged courses and
staffing
needs areformulated.
June
(first
three
weeks)Construction
of master scheduleby
the
scheduler,June
(last
week)Change
student requeststo
reflect results ofthe
June
exams.Jul
yTwo
trial
or simulation runs ofthe
schedule.During
these
runs student requests are matched with course offerings.
The
results are reviewed
to
determine
whetherthe
master scheduleand/or student course selections must
be
modified.Students
arecontacted
regarding
conflicts.August
(first
two
weeks)The
final
run ofthe
schedule which produces all studentschedules and class
lists.
August
(last
two
weeks)Register
new students and update classlists.
Hand
schedulestudents unassigned
time
(study
halls)
and makefaculty
study
hall
coverage assignments.Some
classes mustbe
hand
balanced
and
lists
updated.September
Guidance
counselors continueto
enroll new students and add4.
FUNCTIONAL
SPECIFICATION
4.1.
FUNCTIONS
PERFORMED
The
studentscheduling
system requiresthe
userto
input
student and course
information
whichis
storedin
systemfiles.
This
data
is
usedto
develop
the
coursetallies
list
andthe
conflict matrix.
After
allowing
for
updating
anddeleting
ofinformation,
the
system sections students and printstheir
schedules.
The
functions
performedinclude:
1.
Develop
studentinformation
files.
A.
Student
course requestfile.
B.
Student
generalinformation
file.
2.
Update
studentinformation
file.
3.
Develop
coursefile.
4.
Update
coursefile.
5.
Develop
coursetallies
list.
The
coursetallies
list
summarizesthe
student requestinformation.
The
list
willinclude
the
coursenumber,
coursename,
total
course enrollment andthe
course enrollmentby-grade
level.
6.
Develop
conflict matrix.The
conflict matrix givesthe
total
number of studentsregistered
for
any
given pair of courses.IB-7.
Section
students.A.
Develop
student schedule.1.
Get
a student request record.2.
Get
course recordsfor
the
student's requests.3.
Prioritize
the
course requests.Courses
arefirst
prioritizedaccording
to
the
number of sections of a given course
that
arebeing
offered,
Each
sectionis
then
prioritizedaccording
to
the
number of seats remaining.4.
Schedule
the
student's courses.B=
for
any
student with aconflict.
If
a studentis
unableto
schedule all ofhis
courses
his
studentID
is
addedto
the
conflictlist
file.
C.
After
each run alist
of course numbers andtheir
enrollments
is
printedalong
withthe
scheduling
resultsby
grade
level.
The
number of students assignedto
study
hall
is
also printed.D=
Store
student schedule.The
student s scheduleis
storedin
the
schedulefile
(during
the
final
run).8.
A.
the
final
run.B.
lists
from
student schedule recordsafter
the
final
run,?9-4.2.
SYSTEM
DATA
FLOW
CHART
CONTEXT
DIAGRAM
LEVEL
0
-LEVEL
1
S'hj.'&a.KirT
-Lco^yf^^yx-itnoCourse.
ILwSor
rr\piT\c*J&L.
F|l_
EXPLOSION
5
EXPLOSION
7
rj^rc^ni^^5
ffeivTtft.
EXPLOSION
7.4
Q*.no\>C
Co*Mm
C2$
Scum
T^hUl)
Add
tx>
usrr
TV5
ZA
f*
W*S>
fe^
?
<
sX3*
V
Ve.4-v
ft-^O
^LKiJuUb
CSS.t
A*
rCk-Vr
+Oia'&
&
"TO
V
..Co
r^
^
^
M:
r<P*
-EXPLOSION
8
^TUDtV'
Jv
&Q_Xu-k
4.3.
LIMITATIONS
AND
RESTRICTIONS
The
system will not generatethe
master schedule.The
masterschedule
information
mustbe
aninput.
4.4.
USER
INPUTS
Student
and course recordsdeveloped
from
userinputs
arestored
in
systemfiles.
The
studentinformation
is
entered oncebut
storedin
two
separaterecords,
the
student record andthe
general student
information
record.The
system schedulerdevelops
schedule and classlist
records which are also storedin
system
files.
The
inputs
to
the
systeminclude:
1,
Student
information
A.
Student
record(entered
by
user)
-Student
name
-Student
ID
-Grade
-Course
requestsB=
General
studentinformation
record(entered
by
user)Student
name
-Student
ID
Address
-Phone
numberHomeroom
number
-Birthdate
2.
Course
record(entered
by
user)
-Course
number
-Course
name
-Section
number
-Max
size
-Period
nLimberPD
number(scheduling
period)
-Days
-
Semester
-Room
numberTeacher
number-36-3.
Schedule
record(generated
by
scheduler(DFD
EXPLOSION
7))
-Student
ID
-Student
name
-Grade
-Scheduled
courses4.
Course
requestsArray
CI
to
91
(from
user)
-Course
numbers4.5.
USER
OUTPUTS
1.
Course
tallies
list
-This
list
is
printedusing
information
from
the
student requestfile
andthe
coursefile
(DFD
EXPLOSION
5)
.The
list
contains:Course
number
-Course
name
-Total
enrollment
-Enrollment
by
gradelevel
2.
Conflict
Matrix
-This
matrixis
a printedlisting
ofthe
enrollment
for
courses which could conflict with a requestedcourse
(DFD
EXPLOSION
5).
The
matrix contains:Course
for
which matrixis
requested.
-List
of all courses which will conflict withthat
course.
Enrollment
for
each given pair of course numbers.3.
Student
Schedule
The
scheduleis
storedin
the
schedulefile
for
printing
at alater
time.
It
is
developed
using
information
from
the
coursefile
andthe
student requestfile
(DFD
EXPLOSION
7)
.The
stored schedule contains:Student
name-
Student
ID
-
Student
grade
-
Schedule
When
printing
the
schedule(DFD
EXPLOSION
8)
the
following
information
is
addedfrom
the
general student informationfile:
-Address
-Phone
number
-Homeroom
numberBirthdate
4.
School
results report-This
reportis
generated aftereach run of
the
scheduleusing
information
storedin
the
cou.rsefile
(DFD
EXPLOSION
7).
The
report contains:
-Course
number
-Course
name-
Section
number
-Max
sizePeriod
number
-PD
number
-Days
-
Semester
-Room
number
-Teacher
number
-Enrollment
5.
Partial
Schedules-The
schedules of students who wereunable
to
schedule all oftheir
courses are printedalong
withthe
course numbers oftheir
unscheduled courses(DFD
EXPLOSION
7)
.-38-6.
Class
lists
These
lists
areonly
printed afterthe
final
run.They
are printedfrom
information
storedin
the
schedule
file
(DFD
EXPLOSION
8).
The
lists
contain:
-Course
name
-Course
numberSection
-Period
number
-Days
-Teacher
number
-Student
list
4.6=
SYSTEM
FILES
The
student request and generalinformation
files,
andthe
course
file
areinputed
by
the
user.The
system generatesthe
schedule
file
during
a run ofthe
schedule.The
temporary
classrecord
file
is
atemporary
file
that
is
generatedin
orderto
print class
lists.
The
following
files
aredeveloped
andmaintained
by
the
studentscheduling
system:1,
Student
requestfile
Student
request records2.
Student
information
file
General
studentinformation
records3.
Course
file
-
Course
records4.
Schedule
file
-
Schedule
records5,
Temporary
class recordfile
-
Schedule
records
-t;<?-5.
SYSTEM
SPECIFICATION
5.1.
SYSTEM
ORGANIZATION
CHART
STUDtoT"
Scheou-N^z-fe.
CouurtJB.
1
tAfVTftj'y.{
I
)
CtNJjrS^.
STu.OtivT
(.1)
-EXPLOSION
1
0PE-(O
A-File
fo-Fift-sT
Ti<-r
d)
<>
Pi
te. To c)>Au^
~\
^>Tu.t>
E4>
()
D
C>tu2.fe$>
rf
STUO^K/T
Cdu
G>
H
Pfcv*T
Pj2$)
j
J
QllaZx
EXPLOSION
1.1
frV>Js
/r
57aMwT
<>Tli.t>UST
u<>T
t)
-EXPLOSION
2
i .
^s
<L*mx-
Loa-O
^+*
A-dd
LvaQsG-
CouxSJi.
OVr\eJL
W.+e
Ct>u.Z.\4_
C0uS5
CouKfa^
T**t~
U<>TJjJi-O
i
I
ChPwo^-
\ Qujti,^
!
1
^Mvt
C.OIXBS-Z-
U<,T
U-ST"l-h>t
T>jvrA CoaJts*
7"o
|
i
Tx>i
EXPLOSION
3
V.
STUOsiA/T
PZi*JT
-EXPLOSION
4
/
1
i
/ 1!
Bet
of
Coarse
STuixjct7>-UJt5
UST
CuuSJZ
z_lST
UpptfTL
<*l#S>u.U'
flfci*UST
EXPLOSION
6
AND
7
f
l6ct
6*+-CtiuZ%e.%
tTUOXtJT
H5T
f
<**
List
^
5.2.
EQUIPMENT
CONFIGURATION
This
scheduling
system requires anApple
HE
withfour
disk-drives
and64K
mainmemory
with an extendedeighty
column card.5.3.
IMPLEMENTATION
TOOLS
This
studentscheduling
systemis
writtenin
Apple
Pascal
1.2.
5.4.
OVERVIEW
OF
THE
PROGRAMMING
SYSTEM
The
studentscheduling
system presentedin
this
thesis
consists of seven programs written
in
Apple
Pascal.
The
following
sections present an overview of each program.5.4.1.
Enstuddata
(see
programlisting
10.1.)
This
program allowsthe
userto
create and update allstudent
information.
Entstuddata
usesUnit
One
(see
programlisting
10.2.)
which contains subroutines usedby
options one andtwo.
The
useris
allowedto
select one offour
options:Option
1
This
optionis
usedthe
first
time
the
user wantsto
enterstu