SCHEDULE
IMPORTANT NOTE:The COMP305 schedule might change during the quarter! Watch this space frequently for any updates during the quarter).
| Week 1 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
|---|---|---|---|---|
M1- Overview of the Course- Introduction to Software Development |
SUGGESTIONS- Create accounts in Jira, LeetCode and GitHub. |
|||
W1- Software Process Models |
[~9 pages] - Chapter 2 (intro) & Section 2.1, pp. 44-54. [12 mins] - Plan-based and Agile Software Processes |
DUE IN CLASS- Discussion Question #1 |
||
F1-Basic Processes in Software Dev.Exercise #1 SOFTWARE REQUIREMENT ELICITATION→ |
[~7 pages] - Section 2.2, pp. 54-61. [10 mins] - Fundamental activities of software engineering |
|||
| Week 2 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M2- Agile Software Development- Continue working on Exercise #1→ |
[~12 pages] - Chapter 3 (intro) & Section 3.1-3.2, pp. 73-84. [8 mins] - User Stories [10 mins] - What is Agile Development (Part 1) - What is Agile Development (Part 2): An Agile Project Case Study |
DUE IN CLASS- Discussion Question #2- Forming of Final Project Groups: 5 Members/Group |
||
W2- Agile Project Management- [some] Software Development Tools |
[~5 pages] - Section 3.3, pp. 84-88. [15 mins] - SCRUM Basics |
SUGGESTIONS- Wrap-up Exercise #1→ |
||
F2- Requirements Engineering: Functional and Non-Functional Requirements |
[~7 pages] - Chapter 4 (intro) & Section 4.1, pp. 105-111. [9 mins] - Requirements Engineering Processes |
DUE IN KIT- Exercise #1 [by 11:59 p.m.]- Bi-Weekly Reflection #1 [by Sun @ 11:59 p.m.] DUE IN CLASS- Discussion Question #3 |
||
| Week 3 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M3- Requirements Engineering: Requirements SpecificationExercise #2 AN SRS DOCUMENT→ |
[~10 pages] - Section 4.4, pp. 120-129. [12 mins] - Requirements engineering challenges |
|||
W3- Agile: eXtreme Programming (XP)- Continue working on Exercise #2→ |
[~8 pages] - Revisit Section 3.2, pp. 77-84. [~1 pages] - From Clean Craftmanship, pp. 13-14. [15 mins] - The Strengths and Weaknesses of eXtreme Programming |
|||
F3- Agile: Test-Driven Development (TDD) |
[~4 pages] - Section 8.2, pp. 242-245. [~4 pages] - From Clean Craftmanship, pp. 15-18. [9 mins] - Test-Driven Development (In Python) |
DUE IN KIT- Exercise #2 [by 11:59 p.m.] |
||
| Week 4 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M4- Interaction Models: Use Case Model & Sequence Diagrams- Version Control Practicum→ |
[~5 pages] - Section 5.2, pp. 144-149. [12 mins] - Use cases diagram - Sequence diagram |
|||
W4- Entity-Relationship Diagram (ERD)Exercise #3 TEST CASES→ |
[< 1 hr.] - What is Entity Relationship Diagram? |
|||
F4- Agile Project Planning: SCRUM, XP- Continue working on Exercise #3→ |
[< 1 hr.] - Scrum tutorial |
DUE IN KIT- Bi-Weekly Reflection #2 [by Sun @ 11:59 p.m.] |
||
| Week 5 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M5- [brief] Introduction to SQL- Project Management Software Practicum→ - Continue working on Exercise #3→ |
SUGGESTIONS- LeetCode Practice Hub- W3 School's SQL Tutorial |
|||
W5- Introduction to Final Project- FINAL PROJECT HUB→ - Continue working on Exercise #3→ |
||||
F5- Databases with Java or Python- Continue working on Exercise #3→ OR - Planning your FINAL PROJECT→ |
[< 2 hr.] - Tutorials Point: PostgreSQL - JAVA Interface - Tutorials Point: PostgreSQL - Python Interface |
DUE IN KIT- Exercise #3 [by 11:59 p.m.] |
||
| Week 6 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M6- Final Project: Project Planning and Requirements Elicitation.• Finish defining your shared project idea. • Identify system users, stakeholders, and goals. • Perform mock requirement elicitation. |
||||
W6- Final Project: Project Planning and Requirements Elicitation.• Start defining system functionalites: Use Cases Diagrams will be helpful • Develop some user stories. • Start writing functional and non-functional requirements (acceptance criteria) for the stories. |
||||
F6- Final Project: Project Planning and Requirements Elicitation.• Prepapre git repository. • Finish your user stories and create Backlog. |
DUE IN KIT- Deliverables of First Week [by 11:59 p.m.]- Bi-Weekly Reflection #3 [by Sun @ 11:59 p.m.] |
|||
| Week 7 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
DoGLMonday of 7th Week: No Class. This day has been declared as the "Day of Gracious Living." |
||||
W7- Database Design and Security- Final Project: Design, Sprint Planning and Setup. • Plan Sprint #1 and create Product Backlog. • Define initial system architecture and tech stack. • Design database schema and/or basic UI wireframes. |
[16 mins]
- SQL Database Design Tutorial |
SUGGESTIONS- Get familiar with Quick DBD, it can help with DB design. |
||
F7- Final Project: Design, Sprint Planning and Setup.• Sprint #1: Include the Project's Database Design. • Start Sprint #1 development. |
||||
| Week 8 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M8- Sprint #1: Retrospective Meeting (public)• Follow this tutorial to prepare a retrospective of Sprint #1. • 1 person per team | 5 minutes per team. |
[9 mins]
- Agile Retrospectives - Agile Review Meetings |
DUE IN KIT- Deliverables of Second Week [by 11:59 p.m.] |
||
W8- Invited Speaker: "The role of AI in Software Development."• Kamal Kamalaldin, Engineering Manager. • Preston Wang-Stosur-Bassett, CTO. • Ricardo Sisco, Associate Software Engineer. |
||||
F8- Final Project: Developing Sprint #2 - Other Features• Sprint #2: Plan and execute search, data display, and CRUD features. |
DUE IN KIT- Bi-Weekly Reflection #4 [by Sun @ 11:59 p.m.] |
|||
| Week 9 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
Memorial DayMonday of 9th Week (M9): No Class. Take this time to prepare for the last sprint of your final project. |
||||
W9- Sprint #2: Write tests as you build (like unit tests, using a TDD approach).• Fix bugs and refactor code as needed. • Prepare for a final (substantial) demo in final sprint (10th week). |
||||
F9- Sprint #2: Retrospective Meeting• Meet with your team to prepare a docuemnt with your retrospective. • Follow the instructions for "Deliverables". |
DUE IN KIT- Deliverables of Fourth Week (Sprint #2) [by 11:59 p.m.] |
|||
| Week 10 | ||||
| Class Topic/Activity | Reading/Videos | Due | ||
M10- Final Project: Final Sprint and Project Presentation• Complete final features and fix bugs. • Conduct final round of testing (unit + user-based). • Polish UI/UX and deploy local or hosted versions. • Prepare demo presentation and get link to your final repository ready. |
||||
W10Final Project Presentation |
||||
F10Final Project Presentation |
||||
| Finals Week | ||||
| No Final Exam - Happy Summer! | ||||