- Co-ordinator, course designer, and instructor for COMP 202, Introduction
to Computer Science I, McGill University.
- Instructor for course COMP 203, Introduction to Computer
Science II (Algorithms and Data Structures), McGill University.
- Course Designer and Instructor for COMP 303, Programming Techniques,
- Course designer and instructor for COMP 520, Compiler Design,
This course was designed in cooperation with
Michael I. Schwartzbach at Aarhus University. It
focuses on teaching the principles of compilers as they relate
to state-of-the-art applications including the Java programming
language, and world wide web documents with state. The course has
been adopted by many other institutions. I have recently updated the
course to include two possible projects, a subset of the Go programming
language, and a domain-specific language I designed called OncoTime.
- Instructor and course designer for COMP 621, Optimizing Compilers,
- Instructor and course designer for COMP 762, Special Topics,
Advanced Static and Dynamic Compiler Techniques.
- Instructor and course designer for course COMP 763, Special Topics,
Advanced Seminar on Compilation and Run-time Techniques.