I had my last regular class sessions this week, since next week is finals, and the last two classes I taught this academic year made me realize something important.  A big part of good teaching is knowing not only what to say and how to say it, but when to say it.  I think I already knew this, but Wednesday made it crystal clear for me.

On Wednesday in my first-quarter Python class we were discussing the ramifications of passing variables that hold mutable data.  They were paying more attention than usual since they were in “this might be on the final” mode, but I know that for a lot of them it went in one ear and out the other.  As it happened, I needed to talk about the very same issue in the second-quarter Python class that followed it.  There, though, I know they were both listening and comprehending.  Because of all that they’ve seen, they were ready to really understand what happens when a constructor blindly assigns a variable holding a mutable type passed as a parameter and how things are different when you copy the information from the parameter into a new variable.  Seeing the looks of understanding on their faces was very satisfying, especially after the blank looks from the previous class.

This exact issue is why I think I do a better job once I’ve taught a class a few times.  I start to understand not only what I’m teaching and which explanation is most helpful, but also when to bring up certain issues for maximum effect.  You cannot make anyone understand something when they’re not ready, and experience helps you to figure out when the light is most likely to dawn.