It's almost the end of my second term of being a teaching assistant at the University of Guelph. This time around it was an intermediate c programming class. I'm really starting to enjoy being a TA, and since it was my second time, it has become alot easier and things went alot smoother. The course was the basic topics when you are learning C: arrays, dynamic memory, random access files, and some basic data structures such as linked lists, queues and stacks.
<center><img src="/uploads/2010/04/IMG00023-20100407-1035-300x225.jpg"/><p style="text-align:center;">The lab where I TA the C programming class</center>
I've definitely learned a lot from my last attempt at TA-ing the previous semester. That time around I helped with an m68k assembly language class. It was quite difficult, especially since it was a class that many students found challenging. It ended up being a good experience though because it helped teach me the importance of being prepared for the weeks labs. The biggest challenge was trying to anticipate what types of questions would be asked and how to prepare myself. By the end of the first couple of labs, I started to get the hang of it and made myself a routine. Since it had been sometime since I last worked with m68k assembly, I decided the best way to prepare was to fully complete the labs myself before the students. While it made for quite a bit of work, I got to learn quite a bit, and I could answer the questions with confidence. In the C class, since I work with it quite a lot more often than assembly, I didn't need to review the labs nearly as much. I found just bringing a textbook that I could quickly reference was always useful.
It's amazing how ta-ing helps you to remember and cement concepts in your mind. Certain things that might have been a bit fuzzy or hard to remember have been recalled and re-clarified since I am forced to know the material in-depth in order to prepare for the weekly labs and assignments. Also the questions from the students help me to consider things I wouldn't normally. I would definitely recommend being a TA for any CS grad student (or upper year undergrad) who might be considering it!