SENG 371

Software Evolution

Units: 1.5

Hours: 3-2-0

Introduces problems and solutions of long-term software maintenance/evolution and large-scale, long-lived software systems. Topics include software engineering techniques for programming-in-the-large, programming-in-the-many, legacy software systems, software architecture, software evolution, software maintenance, reverse engineering, program understanding, software visualization, advanced issues in object-oriented programming, design patterns, antipatterns, and client-server computing. Culminates in a team project.


  • Credit will be granted for only one of SENG 371, SENG 420.


Undergraduate course in Software Engineering offered by the Software Engineering in the Faculty of Engineering.

Fall 2019 Spring 2020 Summer 2020

Summer timetable available: February 15. Fall and Spring timetables available: May 15.

Before these dates the class schedule will show "No classes were found that meet your search criteria". If this message is shown after these dates, the course is not scheduled for the selected term.