Retrospective: Teaching a Class

May 08, 2008 17:06

This semester, I had the privilege of teaching COMP 524, Programming Language Concepts. Each computer science Ph.D. student in the department is required to teach a course. I was happy to get this one, because this was my favorite college class. Overall, it was a great experience.

At first, it took a while to get the rhythm. It was taking me pretty much all my spare time to prepare lectures. (I prepared my own curriculum and notes.) I didn't always feel very confident in myself or my knowledge of the material. Sometimes, I didn't feel fully prepared. But, over time, I began to hit my stride more frequently. Some days, I felt like everything went really well. Those days were so satisfying!

Other days, it didn't go so well. Once, I tried to teach on type systems, and the differences between strong vs. weak and static vs. dynamic systems. I really struggled to understand the material in the first place (it wasn't something that was stressed when I took the course at Arkansas). As a result, my understanding was cloudy and blurry, and I didn't convey anything very well. I talked to Prachi (a friend who knows his programming languages) about it, and he sharpened my understanding. I ended up going back to re-teach that material, because otherwise it wouldn't have been fair to ask any non-trivial questions on the test.

One of the more rewarding aspects of the class was the office hours. I held them twice per week, and there was almost always at least one person there. I held them in the lobby, which I think encouraged students to show up. It was really cool to be able to work one-on-one with them, to probe out the weak spots in their understanding. I think that that is teaching at its purest: tutoring somebody one-on-one.

Speaking of student interaction, I was pretty pleased with the level of class participation. Most of the students would ask questions during class. Some were particularly good at asking questions. Several times, we got a pretty good discussion going. I can't really take credit for the participation. I mean, I encouraged it, not only as a matter of policy, but also by stopping frequently and asking if everybody understood. But I think I was just fortunate to teach such overall bright students. We have some quality undergrads here at UNC, let me tell ya. :-) In fact, even though I told them to feel free to skip lectures (I always chafed at attendance policies in undergrad...), not many people skipped at all.

Another success was the homework assignments. I wrote some of them from scratch, and modified others from previous offerings of the course. I was very pleased with their relevance to course material. I think the students got a lot out of them, too. I think the amount of time my students spent on my course was probably on the high side of normal compared to other courses, but I don't think it was overwhelming. And besides, I don't think anybody thought their time was wasted with the assigments, since they were not only relevant but, in my estimation, pretty fun.

I made a fairly thorough set of notes to go along with the course. I originally started making these for my own use when giving lectures, but then I figured that the students would benefit from them as well. If I ever teach this course again, this will be a good resource.

I'm fairly old-school when it comes to lectures. I did not use one slide all semester. I think Powerpoint is a great technology, but I think it's more appropriate for conference talks than for class lectures. Instead, I wrote on the markerboard, using my notes as a guide. In fact, once I discovered that there was a chalkboard behind the markerboards, I used that instead. You don't have to worry about whether a piece of chalk is going to be low on ink... Yeah, I'm going to be a dinosaur someday. :-)

teaching, compsci, academics

Previous post Next post
Up