In a few weeks I’m going to be teaching the second quarter of Python for the first time. Although the developer of the course has generously given me his notes and I’ve taught half a dozen programming languages over the years, it’s still going to be a lot of work. I have no doubt that I will be learning just as much as my students will, although my learning will be focused on what works and doesn’t work in the classroom for this particular language and this particular group of students.
As I prepare for this class I’ve been thinking about the past six months, during which time I’ve been doing a lot of learning. The things I’ve been discovering are more personal and less formal than Python, but the process counts as learning nevertheless. It has reminded me of one central fact: learning is hard. You typically have to fail multiple times before you succeed at learning anything. It’s a rare person who succeeds the first time he/she tries something.
And this brings me to my dilemma: how do you convey to your students that learning, and particular learning to program, is hard? You can tell them that it’s hard, but even if they believe and/or hear you it might not be an effective approach. In fact, in my case it may prove counterproductive. Mark Guzdial had an interesting post recently where he discusses results that indicate having female faculty speak in hesitant terms about programming may result in female students being less confident about computing.
My approach so far has been to be enthusiastic in class, while coding together with them so that they see all the mistakes that inevitably come up during the process. I save the words about programming being difficult for students who come to see me during office hours or send me e-mails about their code, and only when they express frustration. But I know that there are lots of students who may not talk about how they’re feeling when asking questions, or even who may not ask questions in the first place. I wish I knew how to reach them and let them know that what they’re going through is to be expected.