Adventures as an Undergraduate TA

A couple of weeks ago, I volunteered for a undergraduate teaching assistant position for an introductory course on microcontrollers and embedded systems for sophomores. It was an unpaid position and required me to dedicate 4-5 hours a week for labs. My application was accepted and I have been helping out in conducting labs twice a week now.

I admit I was nervous going in - partly due to the sheer number of student I'd have to handle (40 odd in each session) and probably also because I felt I wouldn't be able to perform well enough and be judged badly. This was especially due to the fact that it was a completely hands-on session and you can't escape a difficult situation or question by the standard bullet-dodging technique ('Good question. I'll get back to you later on this') or by giving a mini-monologue entirely unrelated to the question - both of which lecturers I know seem to do often.

The course is based on the venerable 8051 architecture and is almost entirely assembly coding. I haven't done any assembly in a long time. Heck, I haven't done much assembly at all. The thought of debugging assembly listings on more than three dozen computers on a forgotten architecture terrified me no end. What if there is a hardware problem I'm not able to debug? Or if I couldn't answer a theory problem? Or if I made a fool of myself asserting things that weren't? Crazy thoughts kept swimming in my head as the day approached.

Truth be told, it was a little scary walking into a class filled with students only a couple of years younger than me. I actually was a little afraid when one of the student groups called me to debug their code. I might even have fumbled a bit and probably would also have given an unconvincing answer (or two) in the beginning. But all of it picked up in almost no time. Pretty soon I was enjoying myself debugging assembly, getting serial communications to work, solving hardware problems and answering questions. It was rather enjoyable and not even slightly as difficult as I thought it would be.

The next lab, which was on the following day, was an even smoother ride. I made up for the mistakes I did earlier and got a lot more comfortable working with 8051 again and in assembly too, for a change.
In fact, the course instructor left early, for some reason, in the next lab and I had the whole lab to myself with questions flying here and there. A couple of days ago, this would have been my nightmare. Surprisingly it didn't go bad at all. I was capable of handling technical queries (albeit basic ones) from 43-odd students for over 90 minutes. I would be lying if I said that that wasn't an ego boost.

Fast forward two weeks and today, five lab sessions later, I actually got to do some 'real teaching'. I delivered a short C brief for the guys who haven't had much experience with it earlier - the basics of startup routines, variable scopes and stacks initialization. It was fun although I did go off on slight tangents here and there but that was primarily because I wasn't able to contain myself.

The experience so far has been great and I hope it would continue to be so for the rest of the semester. It taught me about the incredible power a mentor holds. It is a difficult job made worse by all the other responsibilities teachers have to handle (which I have been fortunate enough not to deal with, yet). But for all its complexities, it is satisfying too and very much so. I hope I get to do this again sometime later in my life.

Thanks for reading.

Blog entry information

Last update

More entries in General

More entries from ActivePower

Share this entry