One of the blogs I enjoy is See Jane Compute which is written by a professor of Computer Science using the name pen name Jane. Recently she started a series specifically about the way she teaches computer science/programming courses. In the first of the series she talks about how her own experience as a beginning computer science student influences how she herself teaches introductory courses.
The first programming course I took is by far the most memorable course I took. For me it was the first experience with computers. It was over 30 years ago and back then computers were pretty rare. Taking a computer programming course was pretty exciting for me. I was very lucky in that my professor loved programming and was very good at communicating that love. He was also extremely patient which was very valuable as it helped him help those of us who caught on a bit slowly. When I became a teacher I thought about how Professor Roth taught. I didn't teach exactly the same of course. We're different people. But I did pattern my style after his to some extent. I suspect that a lot of teachers pattern their style after one of two things. Either they try to do what worked for them or they try to correct the obstacles that almost prevented them from learning. Sometimes we probably do a bit of both.
Coming back to Jane. One of her goals is to make the first programming course as pleasant as possible and as good a learning experience as possible. There are all too many teachers, or at least there were during the boom times of computer science enrollment, that view the first course as a filter – an opportunity to weed out all but the most determined student. A lot of what happens in introductory courses chases students away and makes them dislike the field. Sometimes teachers just give up on some students too soon. Or they allow an environment that is uncomfortable to beginners, women, and others who do not fit the pure computer geek mold. Personally I love programming. It’s a lot of fun for me. I want to transmit that excitement to all of my students. Jane seems to be the same way. She has some good advice in her post. I highly recommend it to teachers of introductory computer science courses.