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 115: Introduction to Computer Science I.
    In Winter 2013, I co-taught CS115 with two other instructors. CS115 is an introductory programming course using the functional language Scheme. The aims of the course are to exercise problem solving skills and to learn computational thinking strategies.

  • 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.