The advising algorithm in HEEDS simulates the process performed by a student and his/her
adviser to decide which subjects to register in the next semester. The algorithm
evaluates the academic record of the student and determines the following:
progress in curriculum (which year and semester/summer of the curriculum
has been completed by the student)
allowed units to enroll in succeeding term
the courses remaining in curriculum for which the prerequisites are satisfied;
each course is classified as "priority" (do not delay) or "alternate"
The predicted demand for subject X in the succeeding semester is the number of students
for whom subject X is a priority. This prediction is provided to the departments as
'recommendation' on the number of sections to open in subject X.
The algorithm proceeds as follows;
Start with a copy of the curriculum of student.
Personalize the curriculum, by replacing unspecified ELECTIVE, MAJOR, GE(XXX),
PE 2, etc., in the curriculum with the actual subjects from the student's Plan of Study
document. (Thus, it is crucial that a student keeps his/her Plan of Study up-to-date)
Rank the subjects in the curriculum as follows: Rank 1 subjects are those scheduled
during first year, first semester; Rank 2 subjects are those scheduled during first year,
second semester; Rank 3 subjects, if any, are those scheduled during first year, summer;
Rank 4 subjects are those scheduled during second year, first semester; etc.
A four-year curriculum will have 11 ranks.
Determine the total units earned by the student in the curriculum. This total will
determine the following for the student: classification (Freshman, Sophomore, Junior, Senior);
progress in curriculum (which Rank in Step 3 has been completed); allowed units to enroll
in the succeeding term (sum of units for subjects of the next Rank). Reduce the allowed load
depending on the scholastic standing of the student. (Thus, it is crucial that grades
are up-to-date; credits for subjects with 4.0 or INC, or those taken from other institutions
without official reports of grades/equivalencies, are not yet earned.)
Create a network representation of the personalized curriculum in Step 2.
The nodes of the network are the subjects, and the prerequisite structure of
subjects are represented by the the edges. Add a super source node, and add an edge
from this node to subjects without a prerequisite. Add a super sink node, and
add edges from subjects that are not prerequisites to other subjects to the super sink node.
Reduce the network by merging with the super source, the nodes representing subjects
for which credit has been earned.
Apply PERT-CPM to the reduced network in Step 6. This analysis technique determines
the critical path in the network and the slack times for all the nodes. The nodes in the
critical path represent subjects that should not be failed, otherwise the earliest
completion time of the curriculum will be extended. The slack time represents how many
semesters a subject can be delayed without extending the earliest completion time of
Classify the remaining subjects as follows:
Subjects in the next Rank (see Step 4) for which prerequisites have been
satisfied are "priority" subjects.
If there are not enough subjects from a) for the allowed load, add to the list of
"priority" subjects those subjects from the current and previous Ranks for which
prerequisites have been satisfied. Use slack times to break ties if there are
If there are not enough subjects from a) and b) for the allowed load,
add to the list of "priority" subjects those subjects from later Ranks for
which prerequisites have been satisfied. Use slack times to break ties if
there are multiple choices.
Remaining subjects for which prerequisites have been satisfied but can
not be included as "priority" because the allowed load will be exceeded,
are classified as the "alternate" subjects.