public interface StudentSectioning
InitialSectioning
). However, it
is still possible to improve on the number of student conflicts in the
solution. This can be accomplished by moving students between alternative
classes of the same course during or after the search (see
FinalSectioning
).Modifier and Type | Method and Description |
---|---|
boolean |
hasFinalSectioning()
Return true if final student sectioning is implemented.
|
void |
initialSectioning(Assignment<Lecture,Placement> assignment,
Long offeringId,
String courseName,
Collection<Student> students,
Collection<Configuration> configurations)
Enroll students into the given offering during the initial data load.
|
void |
resection(Assignment<Lecture,Placement> assignment,
Lecture lecture,
boolean recursive,
boolean configAsWell)
Perform sectioning on the given lecture
|
void |
switchStudents(Solution<Lecture,Placement> solution,
TerminationCondition<Lecture,Placement> termination)
Run student final sectioning (switching students between sections of the same
class in order to minimize overall number of student conflicts).
|
void initialSectioning(Assignment<Lecture,Placement> assignment, Long offeringId, String courseName, Collection<Student> students, Collection<Configuration> configurations)
assignment
- current assignmentofferingId
- instructional offering idcourseName
- course namestudents
- list of students to be sectionedconfigurations
- list of configurations the students are to be sectioned intoboolean hasFinalSectioning()
void switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)
solution
- current solutiontermination
- termination condition (optional)void resection(Assignment<Lecture,Placement> assignment, Lecture lecture, boolean recursive, boolean configAsWell)
assignment
- current assignmentlecture
- given lecturerecursive
- recursively resection lectures affected by a student swapconfigAsWell
- resection students between configurations as well