I’ve taught introductory programming classes for more than two decades now, first at the University of Chicago as a graduate student and then at DePaul as a faculty member. When I first arrived at DePaul C++ was the language of choice, before we transitioned to Java for most introductory classes. Beginning in 2011 I started teaching the Python classes, and as Java was discontinued as an introductory language for most majors I stopped teaching anything but Python. The Python classes were different than the C++ and Java courses that came before them. By the time I started teaching them they were taught in labs with an extra closed lab every week. In an environment like that active learning is quite natural, and my class sessions were split between me showing them examples, the students and I collaboratively writing code, and the students completing exercises on their own before a discussion of the solutions.
Recently we decided that the transition between Python in the introductory programming classes and Java in the data structures classes was a tough one for some students, so this quarter I’m teaching a 2-credit hour class that focuses on getting students up to speed in Java and in the IDE used in the data structures courses. Teaching the class as an overload in a tough academic year is stressful for me, so I’ve been liberally reusing my materials from my previous Java classes. And I’m discovering that I hate the way I used to teach. The first couple of weeks there was so much syntax I spent my 90 minutes showing them examples and talking at them. I was so unhappy about the resulting classroom dynamic that I changed things in the subsequent weeks so that I spent at least as much time developing code with them as I did showing them examples and talking. It’s made it better, but I know it can be improved more. In spring quarter I’m going to revamp the class to move some coverage of syntax out of the classroom altogether so that I’ll have more time for collaborative code writing and student exercises. I have to be a bit careful about the load I put on them outside the classroom since it is only a 2-credit class, but I should be able to manage it if I think carefully about what assignments I give them.
All of this has made me think about Mark Guzdial’s call for making active learning a part of faculty teaching statements. I know that his article was controversial, but based on my own experience I have to think that at least some faculty who move to active learning would be so convinced by the results that they wouldn’t go back. I’ve certainly discovered that I can’t go back: I just don’t like my classroom when the students are doing at least some active learning.