My formal teaching duties consist of courses for registered students at the University of Calgary.  If you are interested in being a student in LSMR (undergraduate or graduate), check out this article.

Below are pointers to upcoming or current courses.  More information is available on on the UofC's D2L pages for current students.

 

Fall 2025

CPSC 499.01 Software Analysis

This is a new course examining how software can be analyzed manually and automatically.  This means, given an existing program, what can we figure out about it, in order to be able to understand it and change it.

The course will largely focus on static analysis techniques, i.e., ones that analyze the source code.  We will touch on dynamic and retrospective analysis techniques but not in any depth.

There will be 3 assignments, a midterm examination, and a team-based project.  No final exam.  There will be readings provided (free) but there is no official textbook. 

The course will run in-person.

Winter 2026

CPSC 499.01 Software Analysis

This will be the second run of the new course.  At this point, I can only guess that it will be the same, but I am prepared to make adjustments after the experience of the Fall 2025 offering.

The course will run in-person.

CPSC 233 Introduction to Computer Science for Computer Science Majors II

I have never taught this course before.  You can see what the Calendar says about it.  Being a coordinated course with other sections, my understanding is that my freedom to do as I see fit will be limited.  At this point, I am planning to teach it the same way my colleagues teach it.