SENG 365 Schedule
Term: Wednesday, September 9 – Friday, December 4, 2026 (13 weeks). Classes: Tuesday (Day 1) / Wednesday (Day 2) / Friday (Day 3), 50 minutes each. Reading break: November 9–13 — no classes all of Week 10. Holiday: Wednesday, September 30 — no class for the National Day for Truth and Reconciliation.
Topics follow the module structure from the lecture materials, with requirements moved into Week 2 so M1 starts with the right vocabulary. Lab activities mix core skills with project feedback, review, and guidance.
| Week | Dates | Day 1 (Tue) | Day 2 (Wed) | Day 3 (Fri) | Lab | Due |
|---|---|---|---|---|---|---|
| 1 | Sep 9–11 | — | M1 Intro; design before AI; abstraction | M2: OO in Java; encapsulation | No lab | — |
| 2 | Sep 15–18 | Guest lecture: requirements and model problems | Guest lecture: domain modelling and user stories | No lecture | Requirements studio for M1 | — |
| 3 | Sep 22–25 | M2: Types, classes, visibility | M3: Interfaces and polymorphism; design patterns intro | Ethics | GitLab workflow, issues, and CI | M1 |
| 4 | Sep 29–Oct 2 | M3: Class diagrams | No class: National Day for Truth and Reconciliation | M4: State and state diagrams | TA peer review and M1 revision | — |
| 5 | Oct 6–9 | M4: Identity vs. equality; Singleton | M5: JUnit and Gradle; test qualities | M5: Stubs, dependency injection, and coverage | JUnit and coverage | M2 |
| 6 | Oct 13–16 | M6: Composition; Composite | M6: Decorator and Command | M6: Sequence diagrams; Law of Demeter | TA peer review and M2 design guidance | — |
| 7 | Oct 20–23 | M7: Inheritance and subtypes | M7: Template method; composition vs. inheritance | M7: Code smells and refactoring | Practice Lab test: design and refactoring | M3 (Cycle 1 boundary) |
| 8 | Oct 27–30 | Midterm review | Midterm | Midterm debrief; Cycle 2 AI workflow | Cycle 1 retrospective and partner transition | Midterm |
| 9 | Nov 3–6 | Midterm review 2; common design gaps | M8: Inversion of control; Observer / MVC | AI-assisted requirements critique | TA peer review and M4 guidance | M4 |
| 10 | Nov 9–13 | — | — | — | Reading Break | — |
| 11 | Nov 17–20 | M8: GUI and event handling | M8: Visitor pattern | M8: Concurrency; threads and sync | Docker and local deployment | — |
| 12 | Nov 24–27 | M8: Concurrency pitfalls and patterns | M9: Functional interfaces and streams | M10: AI and design | GitLab deployment and M5 review | M5 |
| 13 | Dec 1–4 | M10: Deployment | M10: Wrap-up | Final review | TA peer review and M6 deployment checks | M6 (final deadline) |
Project Milestones
Milestones are self-paced within each cycle (linear order, minimum one week apart), with fixed boundaries at M3 and M6. Target dates below are the recommended cadence.
| Milestone | Cycle | Target | Deliverable |
|---|---|---|---|
| M1 | 1 | Fri Sep 25 (Wk 3) | Requirements and specification (no AI) |
| M2 | 1 | Fri Oct 9 (Wk 5) | System design (no AI) |
| M3 | 1 | Fri Oct 23 (Wk 7) | Working prototype — fixed; Cycle 1 boundary |
| M4 | 2 | Fri Nov 6 (Wk 9) | Requirements and specification (AI permitted) |
| M5 | 2 | Fri Nov 27 (Wk 12) | System design (AI permitted) |
| M6 | 2 | Fri Dec 4 (Wk 13) | Prototype, testing, and deployment — fixed; final deadline |
Partner switch and new model problem occur at the M3 boundary (Week 7).