I teach a variety of courses at all levels of our undergraduate program, from Introduction
to Computer Science (1st year) to advanced Software Engineering (4th year). I normally
supervise between one and three undergraduate research or development course projects per
term.
Current Courses
- Design and Analysis of Data Structures, CSCB63, Winter 2024.
- Principles of Programming Languages, CSCC24, Winter 2024.
- Quantum Testing: Project in Computer Science, CSCD94, Winter 2024.
- A Graphical Functional Programming Language: Design and Implementation, Project in Computer Science, CSCD94, Winter 2024.
Past Courses
- Introduction to Computer Science, CSCA08, Fall 2023.
- An online platform for collaborative learning: Research Project in Computer Science, CSCD95, Fall 2023.
- Design and Analysis of Data Structures, CSCB63, Winter 2023.
- Principles of Programming Languages, CSCC24, Winter 2023.
- Introduction to Computer Science, CSCA08, Fall 2022.
- Introduction to Quantum Computing, CSCD72, Fall 2022.
- Research Project in Computer Science, CSCD94, Summer 2022.
- Research Project in Computer Science, CSCD94, Winter 2022.
- Principles of Programming Languages, CSCC24, Winter 2022.
- Research Project in Computer Science, CSCD95, Fall 2021.
- Introduction to Computer Science, CSCA08, Fall 2021.
- Research Project in Computer Science, CSCD94 and CSCD95, Summer 2021.
- Principles of Programming Languages, CSCC24, Winter 2021.
- Introduction to Computer Science, CSC A08, Fall 2020.
- Introduction to Software Engineering, CSC C01, Summer 2020.
- Independent Study in Computer Science: Theoretical Foundations and Practical Applications of Computer Science, Winter 2020.
- Engineering Large Software Systems, CSC D01, Winter 2020.
- Introduction to Computer Science, CSC A08, Fall 2019.
- Engineering Large Software Systems, CSC D01, Winter 2019.
- Introduction to Computer Science, CSC A08, Winter 2019.
- Introduction to Computer Science, CSC A08, Fall 2018.
- Development Project in Computer Science: Web Development for TAid, CSC D94, Fall 2017.
- Development Project in Computer Science: Integrating Third Party Software into TAid, CSC D94, Summer 2017.
- Development Project in Computer Science: Web Development for TAid, CSC D94, Summer 2017.
- Development Project in Computer Science: Upgrading TAid core to Angular 2, CSC D94, Summer 2017.
- Research Project in Computer Science. Automated Testing for a Prover's Assistant, CSC D94, Winter 2017.
- Engineering Large Software Systems, CSC D01, Winter 2017.
- Principles of Programming Languages, CSC C24, Winter 2017.
- Introduction to Software Engineering, CSC C01, Fall 2016.
- Software Design, CSC B07, Fall 2016.
- Research Project in Computer Science: Verifying the Verifier; Developing a Test Suite for a Prover's Assistant, CSC D94, Summer 2016.
- Development Project in Computer Science: Building an Android Front End for TAid: A Support System for Large Teaching Teams, CSC D94, Summer 2016.
- Development Project in Computer Science: Improving the Web Front-End for MediaCAT: A Software Tool to Support Digital Media Research, CSC D94, Summer 2016.
- Development Project in Computer Science: Database Schema for MediaCAT: A Software Tool to Support Digital Media Research, CSC D94, Summer 2016.
- Development Project in Computer Science: Learning State-of-the-Art Technologies: Scala and Angular2, CSC D94, Summer 2016.
- Engineering Large Software Systems, CSC D01, Winter 2016.
- Principles of Programming Languages, CSC C24, Winter 2016.
- Research Project in Computer Science: Extending Zotero, CSC D94, Winter 2016.
- Research Project in Computer Science: Developing Software Tools to Support Digital Media Research, CSC D94, Winter 2016.
- Introduction to Software Engineering, CSC C01, Fall 2015.
- Software Design, CSC B07, Fall 2015.
- Research Project in Computer Science: Developing Software Tools to Support Digital Media Research, CSC D94, Fall 2015.
- Introduction to Computer Programming, CSC A20, Summer 2015.
- Research Project in Computer Science: Developing Software Tools to Support Digital Media Research, CSC D94, Summer 2015.
- Research Project in Computer Science: Improving Netty, a Prover's Assistant, CSC D94, Summer 2015.
- Engineering Large Software Systems, CSC D01, Winter 2015.
- Principles of Programming Languages, CSC C24, Winter 2015.
- Topics in Theoretical Computer Science: Formal Methods of Software Design, CSC D72, Winter 2015.
- Research Project in Computer Science: Improving Netty, a Prover's Assistant, CSC D94, Fall-Winter 2014-2015.
- Research Project in Computer Science: Statistical Data Analysis in a Computer Science Education Study, CSC D94, Fall-Winter 2014-2015.
- Introduction to Software Engineering, CSC C01, Fall 2014.
- Software Design, CSC B07, Fall 2014.
- Research Project in Computer Science: Reading course on Formal Verification, CSC D94, Fall 2014.
- Engineering Large Software Systems, CSC D01, Winter 2014.
- Principles of Programming Languages, CSC C24, Winter 2014.
- Research Project in Computer Science: Investigating Quipper, a Quantum Programming Language, Fall-Winter 2013-2014.
- Introduction to Software Engineering, CSC C01, Fall 2013.
- Software Design, CSC B07, Fall 2013.
- Introduction to Computer Science for the Sciences, CSC A20, Summer 2013.
- Engineering Large Software Systems, CSC D01, Winter 2013.
- Principles of Programming Languages, CSC C24, Winter 2013.
- Research Project in Computer Science: Using HOL Theorem Prover to Verify Probabilistic Programs, Fall-Winter 2011-2012.
- Introduction to Computer Science for the Sciences, CSC A20, Summer 2011.
- Principles of Programming Languages, CSC C24, Winter 2011.
- Introduction to Computer Science, CSC A48, Winter 2011.
- Course Instructor, Principles of Programming Languages, CSC324, Summer 2010.
- Course Instructor, Principles of Programming Languages, CSC324, Winter 2010.
- Course Instructor, Introduction to Computer Science, CSC148, Winter 2010.
- Course Instructor, Accelerated Introduction to Computer Science, CSC 150, Fall 2009.
- Course Instructor, Introduction to Computer Programming (a first year Engineering Science course), CSC 180, Fall 2009.
- Course Instructor, Principles of Programming Languages, CSC324, Summer 2008.
- Course Instructor, Principles of Programming Languages, CSC324, Winter 2008.