## Uses of Class
net.sf.cpsolver.coursett.model.Student

- Packages that use Student
  Package | Description
  --- | ---
  net.sf.cpsolver.coursett.constraint | University Course Timetabling: Constraints.
  net.sf.cpsolver.coursett.criteria | University Course Timetabling: Criteria.
  net.sf.cpsolver.coursett.criteria.additional | University Course Timetabling: Additional (Experimental) Criteria.
  net.sf.cpsolver.coursett.custom | University Course Timetabling: Various customizations.
  net.sf.cpsolver.coursett.model | University Course Timetabling: Model.

- - ### Uses of Student in net.sf.cpsolver.coursett.constraint

    Methods in net.sf.cpsolver.coursett.constraint that return types with arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `Set<Student>` | JenrlConstraint.`getInstructors()`
    `Set<Student>` | JenrlConstraint.`getStudents()`

    Methods in net.sf.cpsolver.coursett.constraint with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `void` | JenrlConstraint.`decJenrl(Student student)` Decrement the number of joined enrollments (during student final sectioning)
    `double` | JenrlConstraint.`getJenrlWeight(Student student)`
    `void` | JenrlConstraint.`incJenrl(Student student)` Increment the number of joined enrollments (during student final sectioning)

  - ### Uses of Student in net.sf.cpsolver.coursett.criteria

    Methods in net.sf.cpsolver.coursett.criteria with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `void` | StudentConflict.`incJenrl(JenrlConstraint jenrl, double studentWeight, Double conflictPriority, Student student)`

  - ### Uses of Student in net.sf.cpsolver.coursett.criteria.additional

    Methods in net.sf.cpsolver.coursett.criteria.additional with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `int` | IgnoredCommittedStudentConflict.`countCommittedConflicts(Student student, Placement placement)`
    `void` | ImportantStudentConflict.`incJenrl(JenrlConstraint jenrl, double studentWeight, Double conflictPriority, Student student)`
    `void` | InstructorStudentConflict.`incJenrl(JenrlConstraint jenrl, double studentWeight, Double conflictPriority, Student student)`
    `void` | QuadraticStudentConflict.`incJenrl(JenrlConstraint jenrl, double studentWeight, Double conflictPriority, Student student)`

  - ### Uses of Student in net.sf.cpsolver.coursett.custom

    Methods in net.sf.cpsolver.coursett.custom with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `int` | DeterministicStudentSectioning.DeterministicInitialSectioning.`compare(Student s1, Student s2)` Sort students by their curriculum information and id

    Method parameters in net.sf.cpsolver.coursett.custom with type arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `protected InitialSectioning.Group[]` | DeterministicStudentSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)`
    `protected InitialSectioning.Group[]` | DeterministicStudentSectioning.`studentsToLectures(Long offeringId, Collection<Student> students, Collection<Lecture> lectures)`

    Constructor parameters in net.sf.cpsolver.coursett.custom with type arguments of type Student
    Constructor and Description
    `DeterministicInitialSectioning(Progress progress, Long offeringId, Collection<?> lectureOrConfigurations, Collection<Student> students)`

  - ### Uses of Student in net.sf.cpsolver.coursett.model

    Fields in net.sf.cpsolver.coursett.model with type parameters of type Student
    Modifier and Type | Field and Description
    --- | ---
    `protected Collection<Student>` | InitialSectioning.`iStudents`

    Methods in net.sf.cpsolver.coursett.model that return Student
    Modifier and Type | Method and Description
    --- | ---
    `Student` | FinalSectioning.Move.`firstStudent()`
    `Student` | FinalSectioning.MoveBetweenCfgs.`firstStudent()`
    `Student` | FinalSectioning.Move.`secondStudent()`
    `Student` | FinalSectioning.MoveBetweenCfgs.`secondStudent()`

    Methods in net.sf.cpsolver.coursett.model that return types with arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `Set<Student>` | Lecture.`conflictStudents()` List of students of this class which are in conflict with any other assignment
    `Set<Student>` | Lecture.`conflictStudents(Placement value)` List of students of this class in conflict with the given assignment
    `Set<Student>` | TimetableModel.`getAllStudents()`
    `List<Student>` | InitialSectioning.Group.`getStudents()`
    `Set<Student>` | Lecture.`initialStudentConflicts()` List of student conflicts caused by the initial assignment of this lecture
    `Set<Student>` | Lecture.`sameStudents(Lecture lecture)` List of students enrolled in this class as well as in the given class
    `Set<Student>` | Configuration.`students()`
    `Set<Student>` | Lecture.`students()` List of enrolled students

    Methods in net.sf.cpsolver.coursett.model with parameters of type Student
    Modifier and Type | Method and Description
    --- | ---
    `void` | InitialSectioning.`addStudent(Student student)`
    `void` | InitialSectioning.Group.`addStudent(Student student)`
    `void` | Lecture.`addStudent(Student student)` Add an enrolled student
    `void` | TimetableModel.`addStudent(Student student)`
    `boolean` | InitialSectioning.Group.`canEnroll(Student student)`
    `int` | Student.`compareTo(Student s)`
    `List<Lecture>` | Lecture.`conflictLectures(Student student)` Lectures different from this one, where it is student conflict of the given student between this and the lecture
    `FinalSectioning.MoveBetweenCfgs` | FinalSectioning.`createMove(Configuration firstConfig, Student firstStudent, Configuration secondConfig, Student secondStudent)`
    `FinalSectioning.Move` | FinalSectioning.`createMove(Lecture firstLecture, Student firstStudent, Lecture secondLecture, Student secondStudent)`
    `FinalSectioning.Move` | FinalSectioning.`createMove(Lecture firstLecture, Student firstStudent, Lecture secondLecture, Student secondStudent, FinalSectioning.Move parentMove)`
    `FinalSectioning.MoveBetweenCfgs` | FinalSectioning.`findMove(Configuration config, Student student)`
    `FinalSectioning.Move` | FinalSectioning.`findMove(Lecture lecture, Student student)`
    `Lecture` | Lecture.`getChild(Student student, Long subpartId)`
    `double` | InitialSectioning.Group.`getDistance(Student student)`
    `double` | Student.`getDistance(Student student)`
    `boolean` | Configuration.`hasConflict(Student student)`
    `boolean` | Lecture.`hasStudent(Student student)` Returns true if the given student is enrolled
    `boolean` | InitialSectioning.Group.`isEnrolled(Student student)`
    `int` | Lecture.`isInConflict(Student student)` True if this lecture is in a student conflict with the given student
    `void` | InitialSectioning.Group.`removeStudent(Student student)`
    `void` | Lecture.`removeStudent(Student student)`
    `void` | TimetableModel.`removeStudent(Student student)`
    `int` | FinalSectioning.`test(Student student, Lecture lecture)`

    Method parameters in net.sf.cpsolver.coursett.model with type arguments of type Student
    Modifier and Type | Method and Description
    --- | ---
    `void` | DefaultStudentSectioning.`initialSectioning(Long offeringId, String courseName, Collection<Student> students, Collection<Configuration> configurations)` Enroll students into the given offering during the initial data load using `InitialSectioning`.
    `void` | StudentSectioning.`initialSectioning(Long offeringId, String courseName, Collection<Student> students, Collection<Configuration> configurations)` Enroll students into the given offering during the initial data load.
    `static void` | InitialSectioning.`initialSectioningCfg(Progress p, Long offeringId, String courseName, Collection<Student> students, List<Configuration> configurations)`
    `protected void` | DefaultStudentSectioning.`initialSectioningLectures(Long offeringId, String courseName, Collection<Student> students, Collection<Lecture> lectures)` Enroll students into the given classes during the initial data load using `InitialSectioning`.
    `protected InitialSectioning.Group[]` | DefaultStudentSectioning.`studentsToConfigurations(Long offeringId, Collection<Student> students, Collection<Configuration> configurations)` Section students into configurations.
    `protected InitialSectioning.Group[]` | DefaultStudentSectioning.`studentsToLectures(Long offeringId, Collection<Student> students, Collection<Lecture> lectures)` Section students into lectures.

    Constructors in net.sf.cpsolver.coursett.model with parameters of type Student
    Constructor and Description
    `MoveBetweenCfgs(Configuration firstConfig, Student firstStudent, Configuration secondConfig, Student secondStudent)`

    Constructor parameters in net.sf.cpsolver.coursett.model with type arguments of type Student
    Constructor and Description
    `InitialSectioning(Progress progress, Long offeringId, Collection<?> lectureOrConfigurations, Collection<Student> students)`