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, and Visitor | slides | Ch. 8 · Inversion of Control |
| M9 | Functional programming | slides | Ch. 9 · Functional Design |
| M10 | Course summary and new ideas | slides | — |
Topic Lectures
| Topic | Slides |
|---|---|
| Cross-language design comparisons | slides |
| Ethics in software engineering | slides |
| Project overview: assignments, AI levels, and model problems | slides |
| Requirements: elicitation and specification | slides |
| AI and design | slides |
| AI assisted SE (guest lecture Dr Cassee) | slides |
| Deployment | slides |
See the full weekly schedule for dates, labs, and project assignments.