Teaching

COMP 529 - Software Architecture Winter 2022
COMP 303 - Software Design Fall 2021
COMP 599 - Topics in Mobile Application Development Winter 2021
COMP 303 - Software Design Fall 2020
COMP 599 - Topics in Mobile Application Development Winter 2020
COMP 303 - Software Design Fall 2019
COMP 529 - Software Architecture Winter 2019
COMP 250 - Introduction to Computer Science Winter 2019
COMP 303 - Software Design Fall 2017
COMP 303 - Software Design Winter 2017
COMP 762 - Software Evolution Fall 2017
COMP 303 - Software Development Winter 2016
COMP 529 - Software Architecture Fall 2015
COMP 250 - Introduction to Computer Science Winter 2015
COMP 303 - Software Development Fall 2014
COMP 762 - Recommendation Systems Winter 2014
COMP 303 - Software Development Fall 2013
COMP 529 - Software Architecture Winter 2013
COMP 303 - Software Development Fall 2012
COMP 762 - Recommendation Systems for Software Engineering Winter 2012
COMP 303 - Software Development [Best Projects] Fall 2010
COMP 529 - Software Architecture Winter 2010
COMP 303 - Software Development [Best Projects] Fall 2009
COMP 303 - Software Development [Best Projects] Fall 2008
COMP 762 - Software Evolution Fall 2008
COMP 303 - Software Development [Best Projects] Fall 2007
COMP 529 - Software Architecture Fall 2007
COMP 762 - Software Evolution Winter 2007
COMP 303 - Programming Techniques [Best Projects] Fall 2006
COMP 529 - Software Architecture and Analysis Fall 2006
COMP 762 - Software Evolution Fall 2005
COMP 303 - Programming Techniques Fall 2005
COMP 762 - Software Evolution Fall 2004

From the catalog

COMP 303 - Software Development: Principles, mechanisms, techniques, and tools for object-oriented software development: encapsulation, design patterns, unit testing, etc.

COMP 529 - Software Architecture: Development, analysis, and maintenance of software architectures, with special focus on modular decomposition and reverse engineering.