Ken Wong, PhD

Associate Professor, Faculty of Science - Computing Science


Associate Professor, Faculty of Science - Computing Science




  • PhD, Computer Science, University of Victoria, 1999



Software Engineering


Software Engineering, Reverse Engineering, Program Understanding, Software Visualization, Mining Software Repositories, Problem Determination, Root Cause Analysis.


Software must evolve over time or it becomes useless. Unfortunately, over time, software systems become more complex and increasingly difficult to understand and change to meet new requirements. An understanding gap has grown between what is known, useful, and available information about the system and what needs to be known to make changes.


  • Developing reverse engineering environments
  • Evaluating and adopting software tools
  • Software models, source code analysis, clustering, and architecture recovery
  • Software process and software evolution
  • Diverse system understanding and evolution
  • Web and mobile platforms
  • Root cause analysis
  • Learning analytics


Massive Open Online Courses

I am the instructor-of-record for several offerings, developed through the Faculty of Science and Onlea, and delivered by Coursera.

Software Product Management Specialization


CMPUT 301 - Introduction to Software Engineering

Object-oriented design and analysis, with interactive applications as the primary example. Topics include: software process; revision control; Unified Modeling Language (UML); requirements; software architecture, design patterns, frameworks, design guidelines; unit testing; refactoring; software tools. Prerequisite: CMPUT 201 or 275. This course may not be taken for credit if credit has been obtained in MIS 419 or BTM 419.

Browse more courses taught by Ken Wong