During my three terms at The University of Waterloo so far every single professor I’ve had has been quite good. Some however, are amazing. Each of these amazing profs is amazing in very different ways. Some are great lecturers, some great teachers and some great people.
In this post I’ll highlight some of the great professors I’ve had so far and what makes them amazing.
Prabhakar is the most dedicated teacher I have ever had. He spends an incredible amount of time and effort refining his lecture material and designing his courses to be the best they can be. He goes above and beyond to make sure that students learn in the best way possible. He had some trouble finding a good way to teach self-balancing binary trees, so he went and did original research and formulated a purely functional self-balancing binary tree data structure that’s main advantage is to being easier to learn. It seems to almost physically pain him to see something not taught well. Every teacher should aspire to be as good at teaching as Prabhakar is.
He teaches the advanced CS courses in first year, but he teaches them so well that for many people they are easier than the normal courses. The material is indeed more advanced, but the assignments are less work and the tests have bonus marks so it is easier to get high marks. I highly recommend taking CS 145 and 146.
He is also addicted to Twitter, follow him if you want to know about all the fancy food he eats.
Jan’s lectures are good, he’s an effective speaker and does very neat physics demos in class. What is really incredible about him is his breadth and depth of knowledge. Never in my life have I met anybody so knowledgeable in so many different fields. He’s a physicist by training, but also knows a ton about electronics, engineering, machining, measurement, plumbing, materials and really cold things. He leads a low temperature lab (he says “millikelvin” a lot) where he uses all these skills to build some highly impressive things. Have I mentioned he’s also really nice and friendly?
I would say that “Any sufficiently advanced technologist is indistinguishable from a wizard” except that Jan will gladly show you all of his tricks if you ask. I have an incredible amount of respect for Jan and look up to him as a model of a truly formidable human being.
After every class for around 40 minutes he answers student questions, goes on interesting tangents, and sometimes gives lab tours and descriptions of his research. It is very much worth your time to stick around for these, I have never once regretted staying after class to learn new and interesting things from him, even if they aren’t part of the course. Especially follow him whenever he brings students down to the lab to pick up assignments, that place is a technological wonderland and he gives amazing tours and research overviews if you ask.
Also, MNS 101 (an introduction to material science) is a great course to take. It is very interesting and is a science that most people haven’t had any exposure to in high school.
Helleiner’s lectures just make you want to listen. He’s enthusiastic about what he teaches in a very friendly way. I just really like listening to him talk about interesting political science things. He’s also knowledgeable and teaches interesting PSCI classes, but the reason he’s on this list is that his lectures are just really enjoyable.
Go to his office hours some time, maybe bring a friend, and just talk to him about interesting politics things. I skipped class to do this once and me and my friend chatted with him for over an hour.