I like helping people to learn. That is why I found teaching motivating. While it is challenging it is also a continuous reward to see my students develop. I enjoy the social interaction involved in teaching, bringing immediate feedback and continuous motivation.

In addition to be a teaching assistant during grad school, I was lucky to be a sessional lecturer twice at the University of Waterloo, once teaching second year cs-major hardware and once for a small class of non-cs major. Both experiences were quite different, but both were rewarding in their own way.


  • CS 251: Computer Organization and Design.
    In Fall 2012, I co-taught CS251 with Professor Stephen Mann, we each had one section. I learned a lot from his experience and provided new ideas about how to teach the course as I was first exposed in teaching such material. I enjoyed explaining the complex hardware diagrams to my students.
    CS251 F2012 Exams: Midterm and Final

  • CS 200: Concepts for Advanced Computer Usage.
    In Spring 2009, I had my first experience teaching a course, as I was the lecturer for CS200 at the University of Waterloo. In this course we teach the basic concepts of computer science to students who are not taking a mathematics major. Using different software every couple of weeks, the students develop their computer solving skills at the same time they are exposed to databases, text formatting programs, scripting, web-page design and image manipulation applications. That course content has been developed by John Beatty.
    You can find the course material I used and modified: Lecture slides and Assignments

    For this course I had to make up few exams for my students. Designing a lab exam was quite an adventure. I am writing a webpage report of that experience. I liked coming up with a good test, it was not that easy but the students seemed satisfied.     Student Work Exam (SVG sample).


I have been a teaching assistant at the University of Waterloo for a range of courses. There is a list of them with for each links to its calendar description and its webpage, as well as the term I participated in assisting the students.

Course # Course Title Term(s)
CS115 Introduction to Computer Science 1 F10
CS341 Algorithms S03
CS342/CS343 Control Structures F02
CS370 Numerical Methods F03
CS349/SE349 User Interfaces W03 W05 W07 S05 S06
CS488/CS688 Computer Graphics W04 F04

Seminar Instructor

The faculty of Mathematics at the University of Waterloo runs a week-long seminar for high-school female students to make them discover computer science: CS girls.
The workshop gathers students from across Canada.

In 2003, I taught the daily Introduction to Programming session.