SENG 365 Course Index

Author
Affiliation

Neil Ernst

University of Victoria

Published

August 6, 2026

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.