210 likes | 323 Views
Study Plan . by : Muhammad Rasyad Safran Ab. Rahim, Katelyn Kasperowicz, Raphael Salas, Ucchishta Sivaguru, Nabilah Farhana Yahya. What Will be Covered. -Problem -Project Objective -Solution -Achieving the Solution -Design -Administration and Student Side -Constraint Solver
E N D
Study Plan by : Muhammad Rasyad Safran Ab. Rahim, Katelyn Kasperowicz, Raphael Salas, Ucchishta Sivaguru, Nabilah Farhana Yahya
What Will be Covered -Problem -Project Objective -Solution -Achieving the Solution -Design -Administration and Student Side -Constraint Solver -Challenges -Future Work -Demo
Problem • Statements of requirements for degree in CS are very complex • Requirements change from year to year and are difficult to keep track off • Students not following normal course path have difficulty figuring out study plan • Students and Advisors can spend hours trying to devise schedule
Project Objectives • Streamline the process of constructing individualized desired schedules of courses • Reduce time for filling out the study plan • Helps out with logistics involved in changing the statements of the requirements for degree programs.
Solution • Create a web application that administrators and students can use to develop study plans • Program Administrators are able to enter in the constraints of a degree program • Students are able to enter previous taking course to be delivered a schedule
Achieving the Solution -Design -Administrative and Student Side -Constraint Solver
Design • Broke down Study plan into more simple specifications: • Courses - simple courses as already specified • ex. CS115, CS284 • Course Groups - list of courses • ex. HumGroupA = [hum101, hli117, hpl112] • Degree Requirements - specific number of courses from course group • ex. 2 FROM HumGroupA • Degree - built from degree requirements • ex. 2 FROM HumGroupA • AND 2 FROM HumGroupB • AND 2 FROM CSReqCourses
Administrative Side • Courses • Courses should have these attributes : • Course Prefix, Number and Name • Credits • Department • Prerequisites • Corequisites • Term Offered • Admins can add, edit or delete the courses. • If an admin wants to change the attributes of the course, he can do so by editing the courses.
Administrative Side • Course groups • Course groups should have these attributes : • Course Group Name • Courses • Admins can add course groups without specifying the courses to be included beforehand • Admins can edit or delete the course groups.
Administrative Side • Degree Programs • Degree programs should have these attributes: • Degree Program Name • Year • Department • Degree Requirements • Admin can add an empty degree program without specifying the requirements. • Admin can edit or delete degree programs.
Student Side • Students will be asked to input information regarding their degree programs
Student Side • Students then choose when they wish to graduate and the number of credits to take per semester.
Student Side Students have to then specify the courses that they have taken and optionally, the courses that they want to take
Student Side • The system will then generate suitable schedules for the students.
Constraint Solver Choose to use ECLiPSe Prolog as Logic Programming Language Open-Source Software System for Constraint Programming Applications Query Based System that can find solutions Used to solve study plan
Constraint Solver How we used it: • Formulated input from student side web application • Loaded information on courses and course groups from database • Developed constraints for semesters based on: • Pre-reqs, Term Offered, Credit Load ECLiPSe solved by • Trying different combinations of courses & course groups for a semester • Checking that this was a valid semester • Checking that combination of semesters satisfied Degree
Challenges Make a generic way of constructing schedules without hardcoding any class information Reduce the complexity of the algorithm for constructing the schedule Consider all requirements from different boolean combinations of courses