SENG 365 Course Index
This is an overview of the SENG 365 course, with links to lecture slides, readings, and lab materials. Schedules are subject to change as needed to accommodate learning objectives and unforeseen circumstances. Any changes are notified via Teams.
The course is governed by the relevant syllabus found on the official course outline pages.
Textbook
Martin P. Robillard. Introduction to Software Design with Java, 3rd edition. Springer Cham, 2026. Softcover ISBN 978-3-032-11820-2; eBook ISBN 978-3-032-11821-9. https://doi.org/10.1007/978-3-032-11821-9
Modules and Readings
| Module | Topic | Slides | Textbook chapter |
|---|---|---|---|
| M1 | Introduction and what is design | slides | Ch. 1 · Introduction |
| M2 | Abstraction, types, and encapsulation | slides | Ch. 2 · Encapsulation |
| M3 | Interfaces, polymorphism, and design patterns | slides | Ch. 3 · Types and Interfaces |
| M4 | State, identity, and object creation | slides | Ch. 4 · Object State |
| M5 | Testing, TDD, and coverage | slides | Ch. 5 · Unit Testing |
| M6 | Composition and structural patterns | slides | Ch. 6 · Composition |
| M7 | Inheritance and refactoring | slides | Ch. 7 · Inheritance (refactoring supplementary) |
| M8 | IoC, MVC, Visitor, and concurrency | slides | Ch. 8 · Inversion of Control (concurrency supplementary) |
| M9 | Functional programming | slides | Ch. 9 · Functional Design |
| M10 | Course summary and new ideas | slides | — |
Topic Lectures
| Topic | Slides |
|---|---|
| Ethics in software engineering | slides |
| Requirements: elicitation and specification | slides |
| AI and design | slides |
| Deployment | slides |
See the full weekly schedule for dates, labs, and project milestones.