Being a teaching assistant is a job that most graduate students are asked—pressured even—to do. During my time at McGill, I was a T.A. three times: twice for the introduction to compiler design class (taught by my adviser), and once for a functional programming class. It was difficult, time-consuming, and not well paid, yet being a T.A. was the best job I’ve ever had.
I’ve had many bad T.A.’s when I was an undergrad; absent from the message boards, with a poor understanding of the subject, and confusing in their explanations, they make hard classes more difficult and bad classes unbearable. I was determined to be better and so I spent way more time on my duties than the 5 hours per week that the university paid me. I reviewed the material carefully, I practiced explaining tricky topics, and I attended lectures.
For the compiler class, my advisor allowed me to design a new term project. I selected a subset of the Go programming language (which we call Golite), I implemented a reference compiler, I wrote detailed specifications of the syntax and type system, and I prepared slides for class. This made me very familiar and sympathetic of the difficulties that students encountered. My fellow lab mates commented that I took the job too seriously, but I believe the results were worth the effort. Before, the compiler class had 15-16 students per semester; with the new Golite project, enrollment rose to 50! On a personal level, all the preparation work made me a better programmer, writer, and pedagogue. The real prize, though, came from my interactions with the students. Everyone in the class worked really hard on their project, and I was very pleased with the results. Astute students reported bugs in my reference implementation or inaccuracies in the specification; I learned Haskell tricks and C tools from kids who, at 20, were smarter than I will ever be; I received a huge hug from a student who broke in tears when she and I finally fixed a difficult bug in her project; I became friends with some of the students who frequently came to my office hours; and I found that nurturing students into capable craftsmen was an important responsability and it made me feel good about myself.
At the end of the term, students are asked to evaluate the class. I was so proud that in spite of the class’s difficulty and heavy workload they universally thought that the subjet was interesting and well-taught and that the project was fun, challenging, and practical.
I will leave you with some comments written about me in the students' class evaluations. It’s a little “braggy”, but I was very moved by their kind words—they made the time, effort, and sweat that I invested worth it.
He is the best teaching assistant I have ever had. If there is an award for being a teaching assistant, give him two of those.
One of the best TA’s of McGill! Always available and willing to help during his office hours.
Best T.A. I’ve ever interacted with at McGill (and I’ve been here a while…)! Extremely helpful, quick to answer questions, very knowledgable, and most importantly cares about the students!
Vincent is the most dedicated TA I’ve ever seen. Knowledgeable, competent, ready and actually attends lectures. An excellent TA amongst the cesspool of horribles TAs in Mcgill CS.