Last updated: 2022-12-05
Always read the agreement before you start working on the project. You can find the agreement in the docs
folder.
-
- As a student, I want to sign up and login to my account so that I can securely access my data.
- As a student, I want to view the list of courses I have taken and add to this list so that I can keep track of all the courses I have taken.
- As a student, I want to generate a course timeline by providing courses I want to take so that I can plan my education accordingly.
-
- As a student, I want to view the list of courses I have taken and add to this list so that I can keep track of all the courses I have taken.
- As a student, I want to generate a course timeline by providing courses I want to take so that I can plan my education accordingly.
- As an admin, I want to login to my account so that I can securely manage course information.
- As an admin, I want to add a course and define its name, course code, offering sessions, and prerequisites so that a student’s timeline could be generated correctly.
- As an admin, I want to view the list of all courses and edit or delete any course in the list so that I can keep the course information up to date.
- As a student, I want to sign up and login to my account so that I can securely access my data.
- As a student, I want to view the list of courses I have taken and add to this list so that I can keep track of all the courses I have taken.
- As a student, I want to generate a course timeline by providing courses I want to take so that I can plan my education accordingly.
- As an admin, I want to login to my account so that I can securely manage course information.
- As an admin, I want to add a course and define its name, course code, offering sessions, and prerequisites so that a student’s timeline could be generated correctly.
- As an admin, I want to view the list of all courses and edit or delete any course in the list so that I can keep the course information up to date.
You are required to develop an Android application that would help students plan their courses. Its core functionality is the generation of a timeline of courses which displays each course in the earliest session the student may take, according to restrictions on prerequisites and session offerings. Two types of users are to be considered: admin and student. Admins specify course offerings and prerequisites, whereas students generate timelines by providing the list of courses they want to take and those they have already taken. The courses are assumed to be offered within 4-month sessions: Winter, Summer, and Fall (e.g., Winter 2023, Summer 2023, Fall 2023, Winter 2024, etc.).
Course timeline example: Assume a student has taken CSCA08, CSCA48, and CSCA67, and wants to take CSCC24 and CSCC63. Table 2 shows the expected course timeline based on the prerequisites and course offering information provided in Table 1.
Course | Session Offerings | Prerequisites |
---|---|---|
CSCC24 | Winter, Summer | CSCB07, CSCB09 |
CSCB07 | Fall, Summer | CSCA48 |
CSCB09 | Winter, Summer | CSCA48 |
CSCA48 | Winter, Summer | CSCA08 |
CSCA08 | Fall, Winter | None |
CSCC63 | Fall, Winter | CSCB63, CSCB36 |
CSCB63 | Winter, Summer | CSCB36 |
CSCB36 | Fall, Summer | CSCA48, CSCA67 |
CSCA67 | Fall, Winter | None |
Table 1. Course Offerings and Prerequisites |
Session | Course |
---|---|
Fall | 2022 |
Winter | 2023 |
Summer | 2023 |
Fall | 2023 |
Table 2. Expected Course Timeline |
- Develop the application based on the user stories listed in the following section
- Use Scrum for the application development process a. Choose a Scrum Master b. Conduct “Standup” meetings and document them c. Use Jira to keep track of the user stories and make sure your TA is added to the project. You can refer to this tutorial for more information. d. You should have 2-3 sprints.
- Keep track of the changes made to the code using some version control system and make sure the TA has access to your project as well.
- Test the application according to the instructions that will be posted on Nov 21st.