Teaching Philosophy

"To be perfectly honest, I asked you to be my [design project] supervisor because I knew you would be critical... I knew you would provide more of a challenge..."
- Josh Redel (2012-2013 president of SSMU, the Student Society of McGill University), quoted with permission

When I was a final-year undergraduate student, the course load in one of the semesters consisted of eight regular (3-credit equivalent) courses plus one obligatory lecture series on professional engineering practice. This was typical for students enrolled in the computer engineering program at the time. What made it a real challenge, however, was one course in Distributed Systems, for which the assignments seemed to take more time than the homework in all my other courses combined. As students, we complained constantly, going so far as to petition the instructor to reduce the workload.

Years later, I realized that I'd learned (and remembered) more useful knowledge from that one course than pretty much any other from my undergraduate studies. The skills I developed from those homework assignments proved instrumental in the work I did in my early graduate studies and ultimately launched a good part of my research program at McGill. Had our class petition succeeded in swaying the instructor, I might have had some semblance of a life that semester, but looking back now, I'm grateful we didn't. I'm also aware that those "painful" homework assignments were in fact quite straightforward, but we needed to gain some experience working with the underlying functions to understand how they worked together.

"A lot of work, but it was well worth it. I'm sick and tired of taking countless classes in software engineering that are just pulled over from computer science... This is one of the few courses I've taken that I would say really prepares me for industry."
- anonymous student feedback from Course Evaluation for HCI (2011)

Today's university dynamics have changed and eight- or nine-course semesters are now virtually unthinkable. At the same time, an increasing number of students convey an attitude of entitlement to a good grade simply for showing up to class, rather than an understanding of the concept of working to earn their grade. In fairness, this seems to be a condition whose genesis lies much earlier in the education system, although Ginsberg offers a damning indictment of the post-secondary system in particular, and the associated commoditization of higher education. Increasingly, I find that students who only speak with me after an assignment is returned, and especially those whose first visit to my office is after final examination marks are posted, convey the impression of caring little for what they've learned during the semester. Although no doubt representative only of a subset of the population, it is depressing when students attend office hours only for the purpose of refining their negotiation skills.

Conventional wisdom holds that one learns most effectively by doing. Put simply, there is no substitute for the pedagogical benefits and development of experience that arise from applying taught concepts to solving problems. In some, but not all, of the classes I have taught over the years, this entails writing and testing computer code, as would be an expected skill of a successful graduate from the given course. Remember, this is computer engineering, so a practitioner should be able to translate concepts into practical implementation.

"I'm sitting here in my office at 6:30 on a Friday night, enjoying the heck out of programming at a startup, and it just hit me that the first real taste of system design was in the the AI course I took with you as an undergraduate honours student in Electrical Engineering. The very first assignment, I walked into the class expecting to write a 20 line sorting algorithm, I actually ended up writing my first proper object-oriented program with a real command line interface. And I was hooked. The final assignment, I worked in a team to build a 2D overhead driving videogame with a self-learning AI driver. Still one of the coolest projects I've yet to work on. Your class gave me a real peak into the world of Software Engineering in a way that no other class during my undergrad at McGill did.
- Eric Waldman, former student (2011)

However, there is often insufficient opportunity to cover all, or even a majority of, course material through assignments alone. Therefore, in tandem with assignments, examinations serve as a mechanism for summative assessment of learning. When they contribute to a substantial portion of one's grade, examinations provide the explicit reward structure to encourage learning. So the theory goes, at least.

I love teaching, but above all else, I want my efforts to result in students learning. When students come to the classroom with an eagerness to learn and a willingness to put in a serious effort to do so, this makes the class a pleasure. Conversely, I do not believe that I am fulfilling my responsibilities as a teacher by dumbing down my courses, reducing the scope of assignments below levels that were reasonable for students in previous years, or de-emphasizing the importance of the material covered on the final examination.

"I do remember students who took your classes. They were clearly divided as those who complained saying that you were a hard grader and expected them to do work, and those who were appreciative for the hard work and what they learned. All those who were willing to do work thought you were a great educator."
- former McGill undergraduate student

I welcome and value student feedback regarding my teaching, especially when constructive suggestions are offered for improving the course. In this respect, students with criticisms often supply valuable ideas, even if not their primary intention. As such, I take course evaluations seriously. However, this does not mean that I will agree with every suggestion. For example, in almost every batch of feedback, there are at least a few mutually exclusive suggestions or contradictory comments, for example, some students asking for more guest lectures, others less; some students praising the avoidance of WebCT ("Thank you for not using WebCT - that program sucks") but some preferring that "common platform" despite its drawbacks. And as expected, in every batch of feedback, there are some complaints about the workload or the grading, or suggestions that the examination be reduced in weight.