In Winter 2014, after being a sessional lecturer for a few years, I accepted a full-time faculty position as a Lecturer at UW. This position focuses on teaching and CS academic advising with committee work.
CS 246 Files
Teaching
Fall 2024
CS 135 Designing Functional Programs (3 sections)
If my count is correct, I believe (as of the end of Spring 2024) I have now reached 100 university courses (85 at UW).
Spring 2024
CS 240 Data Structures and Data Management (3 sections)
Fall 2023
CS 135 Designing Functional Programs (2 sections)
Spring 2023
CS 246 Object-Oriented Software Development (2 sections)
Fall 2022
CS 341 Algorithms (2 sections)
Spring 2022
CS 240 Data Structures and Data Management (2 sections)
Winter 2022
CS 240 Data Structures and Data Management (2 sections)
Fall 2021
CS 240 Data Structures and Data Management (2 sections)
Spring 2021
CS 240 Data Structures and Data Management (2 sections)
Winter 2021
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
Fall 2020
CS 240 Data Structures and Data Management (2 sections)
Winter 2020
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
Fall 2019
CS 241 Foundations of Sequential Programs (2 sections)
Spring 2019
CS 241 Foundations of Sequential Programs (2 sections)
Winter 2019
CS 240 Data Structures and Data Management
CS 241 Foundations of Sequential Programs
Fall 2018
CS 241 Foundations of Sequential Programs (2 sections)
Winter 2018
CS 136 Elementary Algorithm Design and Data Abstraction (3 sections)
Fall 2017
CS 240 Data Structures and Data Management (3 sections)
Spring 2017
CS 136 Elementary Algorithm Design and Data Abstraction (3 sections)
Winter 2017
CS 240 Data Structures and Data Management
CS 360 Theory of Computing
Fall 2016
CS 135 Designing Functional Programs (3 sections)
Spring 2016
CS 466 Algorithm Design and Analysis
CS 240 Data Structures and Data Management (2 sections)
Winter 2016
CS 135 Designing Functional Programs (3 sections)
Spring 2015
CS 341 Algorithms (2 sections)
Winter 2015
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
Fall 2014
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
Spring 2014
CS 341 Algorithms (2 sections)
Winter 2014
CS 341 Algorithms (2 sections)
Fall 2013
CS 135 Designing Functional Programs (3 sections)
CP 102 Information Processing with Microcomputers (2 sections at WLU)
Spring 2013
CS 240 Data Structures and Data Management (3 sections)
Winter 2013
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
CP 102 Information Processing with Microcomputers (2 sections at WLU)
Fall 2012
CS 360 Theory of Computing
CS 135 Designing Functional Programs
CP 102 Information Processing with Microcomputers (at WLU)
Spring 2012
CS 360 Theory of Computing
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
Winter 2012
CS 136 Elementary Algorithm Design and Data Abstraction (2 sections)
CP 102 Information Processing with Microcomputers (2 sections at WLU)
Fall 2011
CS 136 Elementary Algorithm Design and Data Abstraction
CP 102 Information Processing with Microcomputers (at WLU)
Spring 2011
CS 360 Theory of Computing
CS 136 Elementary Algorithm Design and Data Abstraction
Winter 2011
CS 115 Introduction to Computer Science 1 (2 Sections)
CP 102 Information Processing with Microcomputers (at WLU)
Fall 2010
CS 241 Foundations of Sequential Programs
Spring 2010
CS 241 Foundations of Sequential Programs
Winter 2010
CS 230 Introduction to Computers and Computer Systems
Fall 2009
CP 213 Object Oriented Programming in Java (at WLU)
Winter 2006
CS 360 Theory of Computing
Fall 2002
CP 264 Data Structures in Java
Fall 2000
CS 0314 Introduction to Computers for Engineers (at Lakehead University)
Summer 1999
Math 1281 Discrete Mathematics I & II
Winter 1999
CS 1431 Data Structures in C
Research
My primary research area is computational geometry with a focus on algorithms for morphing planar graph drawings. This area is also closely related to other areas such as graph drawing, computer graphics, and medical imaging.
Published in Refereed Journal
Morphing orthogonal planar graph drawings, with Therese C. Biedl, Anna Lubiw, and Michael J. Spriggs, ACM Transactions on Algorithms 9.4 (2013), 29.