The winter quarter starts on Monday, and yesterday I put together my first lecture for the new class I’m teaching. CSC 243: Python for Programmers lives up to its title in that it’s designed for students with some programming experience but not enough experience to move directly to the data structures classes that are taught in either Java or C++. In its current form CSC 243 is completely new this quarter, so I was expecting the writing of the first lecture to take a long time. I surprised myself when it didn’t, which got me thinking about why it had come together so quickly.
It certainly helps that I’ve taught the Python classes non-stop for two years now. This class is a repackaging of those courses, so having them at my fingertips is useful. Another help is that I’ve been almost continually teaching introductory development classes since 1993. I’ve also spent a lot of time reading articles about CS1/2 pedagogy and even written one or two myself, so the whole area is very familiar. When I examined all of this more carefully, the quick lecture preparation wasn’t a surprise.
I think a bigger test will come in the classroom once I start trying to teach the accelerated course. The first time you teach a new class, whether one that’s new to you or one that’s just being created, you don’t have any idea of what will work and what won’t. If you’re teaching one that someone else has developed and that person is kind enough to share his/her materials, you can get a sense of the right pacing and approach. But ultimately you have to run through it yourself to really see what works and what doesn’t. When you’re teaching a class that is completely new, you don’t have even that help. But happily in this case I do have my previous experience in other related classes. So I imagine that it will involve a lot of putting something down on paper, discovering that parts of it are an abject failure, and then improvising on the spot. It’s an exciting, if daunting, prospect. I can’t wait to see all that I learn in the process.