As you could probably tell from the radio silence, things have been crazy around here. December and the first part of January were a blur of grant writing (and frantically finishing up simulations/analysis to generate data for the grant proposal) and job applications, and oh yeah, some holidays and travel. And in the midst of this craziness, class prep for a course I last taught in Spring Term 2012 (almost 3 years ago!): Intro to Computer Science.
Intro CS used to be my bread-and-butter course. I taught at least one, and typically 2, sections of intro each year through most of my time here. Intro is probably one of the most challenging courses to teach, partly because students come in with wildly varying backgrounds and partly because there’s so much to learn and grasp early on—the learning curve can be steep, and trying to keep track of all the syntax while also learning to think in a completely different way about problem solving is tricky and can be daunting. But it’s precisely because of the challenge, and because the students learn so much and grow so much over the course of the term, that it’s one of my favorite courses to teach.
Recently, we’ve handed over much of the teaching of intro to our visiting faculty. Part of this is because we often haven’t hired our visitors by the time we have to craft the next year’s schedule, so it’s easy to assume that whomever we eventually hire can teach intro. Part of this is also to give our new and visiting faculty a break—by teaching multiple sections of a course over the year, they are doing fewer new-to-them preps, which eases their burden. And our visitors tend to do a nice job with the course. The price of this, unfortunately, is that old fogies like myself don’t get the pleasure and the privilege of introducing students to the discipline like we used to.
Last year, when I was making the schedule for this year (one of the “perks”(?) of being chair), and weighing everyone’s teaching preferences, I saw that I had an opportunity to teach a section of intro, so I scheduled myself for one of the sections.
The re-entry has been a bit rough. Fortunately a lot of what I used to do and a lot of my old intuition about how to approach various topics has come back as I’ve reviewed my old class notes and my sample code. We’ve switched from Python 2 to Python 3 since I last taught, which I’ve taken as an opportunity to rewrite most of my sample code (which also helps with the recall). However, I tend to over- or underestimate what we can get done in the course of a 70 minute class (mostly overestimating at this point), and I’ve forgotten just how much trouble students have with a few key concepts early on in the course. My timing is off, too—I feel like I’m spending too much time explaining things and not leaving enough time for coding and practice in class—but I think I’m starting to get a better handle on that mix of “talk” and “do”.
There have been some benefits to the long layoff, though. I have some new ideas that I’ve been trying out—for instance, starting class by having students work on a problem by hand for 10-15 minutes, to get the intuition behind whatever we’re coding up in class that day—that I might not have considered if I was teaching intro more consistently. I’m reading the textbook more carefully (because none of the readings are familiar anymore and I’ve switched textbook editions), so I have a better sense of the level of preparation students have when they come into class after completing the daily targeted readings and practice problems. I’ve done more live-coding in class, because as I’ve been re-working my code examples I’ve noticed places where it would benefit students to see me code and think out loud in real time, rather than just walking them through pre-written code. Basically, I get to see the course with fresh eyes, without all the stress of it being a completely new prep.
So I’m immensely enjoying the intro experience again, and while on balance the layoff was partly beneficial, I hope that I don’t go quite such a long time between teaching intro sections again.