-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
Problem Description:
Course planning at the University of Waterloo can be problematic due to factors such as limited resources, poor coordination between faculties, and a lack of any easy-to-use software. There’s no platform on which they can both plan courses for the upcoming term and for their degree overall. The overall process of a student planning their courses for an upcoming term involves a lot of trial and error in terms of selecting a set of 4-6 courses that can actually fit in one schedule. There is no software that aids with this trial and error (students have to manually look up course times and determine if their desired schedule works). Adding a course into Quest is a tedious and a time consuming process, so although it does detect time conflicts in your proposed schedule it’s not very efficient for students.
Users: The specific group of users that would be interested in your project:
The use case for this application is geared towards students at the University of Waterloo.
User Persona:
Personal Info: Student at the University of Waterloo.
Demographic Info: 18-25 years of age. Enrolled in an academically challenging program.
Goals & Motivations: Overachieving, organized student who enjoys taking classes with his friends at the University of Waterloo.
**User Story: **
Aryaman Wang Shah (Nickname: AWS) is a third-year student at the University of Waterloo studying Computing and Financial Management. As a third year, AWS has a lot of flexibility in course selection for the upcoming Winter 2024 term. Being an overachiever, he wants to take six courses in the upcoming semester. AWS has completed his course selection and has received his class schedule a couple weeks before the term starts.
However, he notices a time conflict between two of his selected courses; CS251 and CS370. AWS has two to three other classes on his wish list of courses so he can switch one of the conflicting courses out with something else. However, another reason for the issue occurring may be because the CS251 tutorial overlaps with the CS370 lecture. If AWS switches to another CS251 tutorial section, it will allow him to take CS370. But perhaps AWS’ desired tutorial time is full, and he must wait until enrolment capacity is not at maximum.
There are various options for AWS to choose from and he is completely overwhelmed. He’s frantically scribbling different versions of a potential schedule in his notebook to find a schedule that works for him. He eventually finds a schedule that works, but after double checking the class and tutorial times, he realizes he miswrote the times of one of his classes and a conflict arises again. AWS is furious and wishes there was an easier way for him to solve this problem.
Our App’s Solution – User Resolution:
The course planning app allows the user to select the classes they wish to take in the upcoming term and display them in a calendar view. The app will detect time conflicts immediately upon selection of the course and mention the source of the conflict. The user will be allowed to save multiple variations of their schedule, providing various combinations of courses for the upcoming term. If there is a full lecture or tutorial section that the user wants to switch into the user can add that section to their wishlist. Moreover, a user can try to optimize their course schedule by providing a list of courses they want to take.
Functional Requirements
The following are major functionalities of our application:
Functionality Issues 1. User sign-in and authentication. Application includes registration and login page for users to make accounts and sign-in, allowing them to store and save their selected schedules/wishlist to their accounts. 2. Browse and filter all available classes at the University of Waterloo for the upcoming academic term. A course’s info page includes the course description, prerequisites, and available schedules for the current term. Users can filter subjects with the course level in the Explore page.- Issue #1: Search for Classes At the University
- Issue #12: Course Information Page and Add Course
- Issue #29: Filter course result Search
- Issue #31: Rework UI and logic for major pages
- Issue #33: Explore Page
- Issue #48: Improve UI Details
- Issue #2: Make Course Schedule List
- Issue #12: Course Information Page and Add Course
- Issue #31: Rework UI and logic for major pages
- Issue #3: Make Wishlist for Courses
- Issue #21: Display Multiple Terms for Wishlist
- Issue #34: Improve UI on wishlist
- Issue #40: Add scroll bar to wishlist page
- Issue #41: Add dropdown on course info page
- Issue #42: Display different years and terms for students
- Issue #43: Provide add/remove functionality from the wishlist
- Issue #44: Allow users to add courses to the term's wishlist from the wishlist page itself (sidebar to add courses)
- Issue #48: Improve UI Details
- Issue # 4: Calendar View for Courses
- Issue #14: Make Calendar Size Adaptable to Window Size
- Issue #15: Add background lines to Calendar
- Issue #23: Add Dates to Calendar
- Issue #37: Add Themes to Calendar
- Issue #7: Add Friends and Share Schedules
- Issue #8: Overlay with Friends’ Schedules
- Issue #18: Side Bar Menu Layout
- Issue #24: Update Landing Page with Cards
- Issue #28: Logout button
- Issue #30: Sidebar Custom Calendar UI
- Issue #35: Improve UI on Home Page