S0: Evaluation of Existing Products and Projects

Review of Related Products and Projects

SENG 321 Requirements Engineering – Group 14 – Puzzle Co.
Brendan Heal, Jonah Rankin, Ali Nobari, Spencer Mandrusiak

Course Scheduling Application

1.0 Introduction

Designing a university course schedule that satisfies all relevant prerequisites as well as life restrictions can be a difficult task. Even when a schedule is determined, such as the one provided by the school administration, the slightest alteration (for example, failing a course) requires a re-working of the entire schedule. Puzzle is interested in developing a new dynamic course scheduling system. This course scheduling system should consider program requirements, prerequisite requirements and user preferences and output an optimized schedule based on these constraints. This report examines the feasibility of existing and related products.

2.0 Existing Environment

There are several products which allow students to schedule their time tables. The three most commonly used approaches to course planning by students at the University of Victoria (UVic) are a combination of manually using the program information provided on the their program’s homepage, using the UVic timetable builder, and using the third-party application ScheduleCourses.com.

2.1 UVic Timetable builder

timetable

Figure 1: Timetable Builder at Uvic.ca

There are a number of tools available to help with scheduling courses on the University of Victoria website (www.uvic.ca).  The most significant feature is the Uvic Timetable builder. This system allows students to search for and select courses, then creates a visualisation of their timetable to help them see how things are shaping up. It is largely unused as the feature is difficult to use, and provides marginal benefits for students. It requires multiple page navigations to see what other course options are available and to change the course you would like to take. Ultimately, it doesn’t change much for a student other than giving them a place to write down what courses they are taking, which could easily be done using a pen and paper or a spreadsheet application. The result is that very few students know this exists, never mind use it to choose their schedule. Overall, it is eclipsed by ScheduleCourses.com in terms of the functionality it provides.  The Uvic website also provides a Degree Evaluation feature which generates a Curriculum Advising & Program Planning (CAPP) report.  This report can be valuable for students who are trying to view unsatisfied program requirements.

2.2 ScheduleCourses.com

schedule

Figure 2: Schedule Creator at ScheduleCourses.com

Another website that is very helpful for students to schedule their courses is schedulecourses.com. This site allows students to enter in the courses that they are planning to take. Through this, they are able to see if any of the courses they’re taking or planning on taking will conflict with each other. The conflict will be shown as an error on the calendar. The user is also shown all the different sections of the course and labs that are offered. Through this, they can manually check to see which combination of the section work in their schedule. The website also provides a tool to generate a course schedule that works with the classes that the user has selected. If no combinations work, the site will give an error, saying that no possible combinations work with the courses the user has chosen. The user also has the option of temporarily removing a course from their schedule by clicking the radio box beside the course name. This allows the user to work in multiple courses and see which of them would work best in their schedule.

Another large feature of this website is the database that it has. It contains (within a small percentage of difference) all the courses that are offered at uvic within the term that they are offered. The courses also come with all lecture and lab sections, so the student does not have to add the same course over and over again. The site offers a range of 3 terms from the most recent year, and allows the user to see their schedule both in the calendar format, or in a list format.

3.0 Problems not addressed by existing solutions

Although there are currently solutions to create a schedule for courses, they only create a schedule for one semester. None of the examples provided allow the creation of a schedule for an entire bachelor’s degree program. This includes evaluating elective possibilities, and incorporating work term requirements. This often indirectly causes issues for students mid way through their degree, when they realise that their degree will take much longer than anticipated since certain required courses are only offered in specific terms. Many existing solutions also do not check whether the student has the proper prerequisites for courses that need to be taken. The systems currently in place are not dynamic and they will not shift a student’s schedule around after the student has failed or dropped a course. Another problem with the solutions in place is they do not consider the user’s preferences such as number of courses per semester, preferred year of graduation, or no morning classes.

4.0 Conclusion

As it can be seen from the sections above, there are many aspects of course registration that existing websites do not cover. This includes prerequisite consideration, dynamic changes throughout the degree, considering user preferences, and program requirement comprehension. A new product that handles these issues would completely dominate the competition, and be an invaluable tool to all students.

Leave a comment