1 Teaching at the University of Waterloo

A year at uWaterloo consists of three terms (Fall, Winter, and Spring) and each term has a 12 week teaching period followed by 5 weeks for exams. Lectures and exercise sessions are 50 minutes long. A typical course consists of three lectures per week plus exercise/laboratory session(s).

1.1 Undergraduate Teaching

  1. Fall 2022. ECE150. Fundamentals of Programming.
    Joint with Profs. ‍Harder and Patel. 431 students.
  2. Fall 2022. SE464. Software Architecture and Design. 102 students.
  3. Fall 2021. ECE150. Fundamentals of Programming.
    Joint with Profs. ‍Harder and Patel. 421 students.
  4. Fall 2021. SE464. Software Architecture and Design. 106 students.
  5. Spring 2021. CS247. Software Engineering Principles. 129 students.
  6. Fall 2020. ECE150. Fundamentals of Programming.
    Joint with Profs. ‍Harder and Patel. 394 students.
  7. Fall 2020. SE464. Software Architecture and Design. 108 students.
  8. Fall 2019. SE464. Software Architecture and Design. 96 students.
  9. Fall 2018. SE464. Software Architecture and Design. 114 students.
  10. Fall 2017. SE464. Software Architecture and Design. 104 students.
  11. Fall 2016. SE464. Software Architecture and Design. 137 students.
  12. Spring 2014. ECE452/CS446/CS646. Software Design and Architecture. 99 students.


SE499 research project coordinator: Spring 2024, Fall 2022, Fall 2021, Winter 2021, Fall 2020, Winter 2020, Fall 2016, Spring 2016, Winter 2016, Spring 2016, Fall 2015, Spring 2015, Winter 2015.

SE class professor seminar coordinator: SE402 Winter 2020, SE401 Spring 2019, SE302 Fall 2018, SE201 Fall 2016, SE102 Winter 2016, SE401 Spring 2015.

1.2 Graduate Teaching

  1. Spring 2024. ECE653. Software Testing, Quality Assurance, and Maintenance. 37 students.
  2. October 2023. Program Analysis. As Guest Professor at TU Wien, Austria. 12 students.
  3. Winter 2023. ECE654. Software Reliability Engineering. 8 students.
  4. Spring 2021. ECE654. Software Reliability Engineering. 17 students.
  5. Spring 2019. ECE653. Software Testing, Quality Assurance, and Maintenance. 58 students.
  6. Spring 2019. ECE654. Software Reliability Engineering. 12 students.
  7. Fall 2018. ECE651. Foundations of Software Engineering. 35 students.
  8. Fall 2017. ECE651. Foundations of Software Engineering. 41 students.
  9. Fall 2016. ECE651. Foundations of Software Engineering. 56 students.
  10. Spring 2016. ECE654. Software Reliability Engineering. 17 students.
  11. Fall 2015. ECE650. Methods and Tools for Software Engineering. 62 students.
  12. Spring 2015. ECE654. Software Reliability Engineering. 13 students.
  13. Fall 2014. ECE650. Methods and Tools for Software Engineering. 64 students.

1.3 Teaching & Supervision Training

  1. Successfully Implementing Active Learning Strategies in Computer Science Classes. July 27, 2021. Dr. Stacey Watson, University of Waterloo.
  2. Deepening Your Course Design: Remote Edition. June 15, 2020. Keep Learning, University of Waterloo.
  3. Online Course Development: Tools, Tips & Techniques. June 28, 2020. Keep Learning, University of Waterloo.
  4. Approved Doctoral Dissertation Supervisors (ADDS) status approved. November 7, 2017. University of Waterloo.
  5. Graduate Supervision Series. Center for Teaching Excellence, University of Waterloo.
    CTE 801: Supervisor Policies. Feb. 5, 2016.
    CTE 802: PhD Research Life Cycle. Feb. 5, 2016.
    CTE 803: Meeting with Doctoral Students. Feb. 5, 2016.
    CTE 804: Research Ethics and Writing. Jun. 3, 2016.
    CTE 805: Intercultural Communication. Oct. 13, 2017.
    CTE 806: Examining and Career Support. Jun. 3, 2016.
  6. CTE 908: Documenting Your Teaching for Tenure and Promotion. March 29, 2016. Center for Teaching Excellence, University of Waterloo.
  7. CTE 642: Course Design Fundamentals. Feb. 2, 2015. 8 hours. Center for Teaching Excellence, University of Waterloo.
  8. ExpecTAtions TA workshop. Sept. 9 & 10, 2015. 8 hours. Faculty of Engineering, University of Waterloo.
  9. Instructional Skills Workshop (ISW). Four day course in Feb. 2014. Center for Teaching Excellence, University of Waterloo.

2 Teaching at ETH Zurich

A year at ETH consists of two semesters and each semester has a 14 week teaching period. Lectures and exercise sessions are 45 minutes long.

  1. Concepts of Object-Oriented Programming
    1. Fall 2008, with Prof. ‍P. ‍Müller. Teaching assistant for one-hour exercise sessions with around 25 students. Substitute lecturer for two hours. Supervised oral exams and the preparation of the written exam.
    2. Winter 2006/07, with Prof. ‍P. ‍Müller. Teaching assistant for one-hour exercise sessions with around 40 students. Substitute lecturer for two hours.
    3. Winter 2005/06, with Prof. ‍P. ‍Müller. Only teaching assistant for one-hour exercise sessions with around 80 students. Prepared and corrected the two-hour written exam.
    4. Winter 2004/05, with Prof. ‍P. ‍Müller. Only teaching assistant for one-hour exercise sessions with around 80 students. Substitute lecturer for eight hours. Prepared and corrected the two-hour written exam.
    5. Winter 2003/04, with Prof. ‍P. ‍Müller. First-time course. Only teaching assistant for one-hour exercise sessions with around 50 students. Supervised oral exams.
  2. Core-Course on Software Engineering
    1. Spring 2009, with Prof. ‍P. ‍Müller. Teaching assistant for two-hour exercise sessions with around 20 students. Written exam preparation.
    2. Summer 2007, with Prof. ‍B. ‍Meyer. First-time course. Teaching assistant for two-hour exercise sessions with around 20 students. Written exam preparation and correction.
    3. Summer 2006, with Prof. ‍P. ‍Müller. First-time course. Teaching assistant for two-hour exercise sessions with around 25 students. Substitute lecturer for three hours. Written exam preparation and correction.
  3. IT Project Management
    1. Winter 2004/05, with Prof. ‍P. ‍Müller. Supervision of student projects.
    2. Winter 2003/04, with Prof. ‍P. ‍Müller. First-time course. Supervision of student projects.
  4. Programming in the Large
    1. Summer 2004, with Prof. ‍B. ‍Mey­er. Teaching assistant for two-hour exercise sessions with around 20 students. Written exam preparation and correction.
  5. Seminars
    1. Winter 2006/07, Software Engineering Seminar, with Prof. ‍B. ‍Meyer, Prof. ‍P. ‍Müller, Prof. ‍D. ‍Kröning. Supervised two seminar students.
    2. Winter 2005/06, Seminar on Specification and Verification of Object-Oriented Software, with Prof. ‍P. ‍Müller, Prof. ‍D. ‍Kröning. Supervised one seminar student.
    3. Winter 2004/05, Seminar on Specification and Verification of Object-Oriented Software, with Prof. ‍P. ‍Müller, Prof. ‍D. ‍Kröning. Supervised three seminar students.
    4. Summer 2004, Seminar on References and Aliasing in Object-Oriented Software, with Prof. ‍A. ‍Biere, Prof. ‍P. ‍Müller. Supervised two seminar students.
    5. Winter 2003/04, Seminar on Specification and Verification of Object-Oriented Software, with Prof. ‍A. ‍Biere, Prof. ‍P. ‍Müller. Supervised two seminar students.

(This document was translated from LATEX by HEVEA.)