Advising Algorithm

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:

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;

  1. Start with a copy of the curriculum of student.
  2. 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)
  3. 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.
  4. 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.)
  5. 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.
  6. Reduce the network by merging with the super source, the nodes representing subjects for which credit has been earned.
  7. 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 the curriculum.
  8. Classify the remaining subjects as follows:
    1. Subjects in the next Rank (see Step 4) for which prerequisites have been satisfied are "priority" subjects.
    2. 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 multiple choices.
    3. 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.
    4. 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.