It’s been a while since my last post, and the Spring semester is rapidly approaching. I wanted to take a moment to reflect on my first semester working as a teaching assistant. As I wrote previously, I TA-ed for two similar introductory computer programming classes1.
For one of the classes, I was the dedicated homework grader, grading about 100 assignments in python each week. This was somewhat monotonous…but what can you expect when grading that number of assignments? I reduce the monotony, I created a tool to simplify reporting these grades to the students, and liberal use of copy-pasting snippets of feedback to the students to minimize typing.
More fun for me was the course where I actually had a chance to “lecture” in a “guided programming” lab (programming in C). This was fun, but I feel like I did too much guiding, perhaps to the detriment of students later in the semester. At the beginning, this is necessary, since for many of the students this is their first exposure to programming. But toward the end, I found that some students were unable to come up with some of the basics on their own, which hurt them in their lab final (they could only use their textbook for reference, and the MSDN docs).
So assuming that I get assigned to do this again in the future, I’m trying to decide what to do differently. Partly, I feel that since the school is focusing on retention in these introductory classes, I really need to hand-hold more that I’d like. Perhaps writing more pseudocode and letting the students fill in the language specific details would be a good intermediate step that I could try.
While I certainly can code, I wouldn’t describe it as my forte. It really is true that you don’t truly learn something until you have to teach it.↩