As an undergraduate, I went to a professor’s office hours once for clarification on a certain topic. I had attended the lectures, but there was some aspect that just didn’t make sense. Here was the professor’s response, as close to verbatim as I can manage (it was almost 20 years ago!):
I know, I didn’t explain that well. The truth is, I suck at teaching. I hate it. The only reason that I teach is because they make me. It’s the only way that I can get to do my research.
And that, in a nutshell, has been my professional motivation for the past two decades. I love computer science (CS) and mathematics, particularly at the undergraduate level. But the traditional way that these and other STEM (science, technology, engineering, math) disciplines are taught is ineffective. This is not news, either to those who have taken STEM courses or those who research undergraduate education. I think that is unfortunate.
Even before I completed my B.A. many, many moons ago, I established one professional goal: to teach undergraduate CS, and to do it better than those who taught me. I’ve achieved that. I am now in my fourth year as a CS professor, surviving the tenure process at an institution designated as a comprehensive Master’s university. In our department, that means primarily teaching three undergraduate sections per semester. In contrast to major research universities, our promotion and tenure process is based primarily on teaching excellence. Yet, unlike exclusively teaching schools, we continue to engage in research within our discipline. Thus, we get a nice blend of the two. I’m proud to be where I am, and I love working in an institution that values teaching.
But I’m not done.
Since becoming a professor, I’ve learned how little I knew about teaching, despite the fact that I spent 26 years in school! I knew CS subject matter inside and out. I gave interesting lectures that included jokes where students actually laughed. I assigned complex projects that challenged students. I treated my students with respect and knew they’d respond by taking all of my lessons to heart. In short, I didn’t know what I was doing. I’m not sure that I do yet, but I think I’m on the right path.
So here I am, a not-yet-jaded faculty member in a fascinating and fast-moving discipline that has a burgeoning education research community. I am also fortunate that my institution and department doesn’t just tolerate my focus on CS education research, they actually welcome it. This is my scholarly focus, and I am constantly learning how to get better. And now that I have published works in multiple CS education conferences, with more work in progress, I feel comfortable referring to myself as a CSEd researcher, in addition to CS professor.
So I’m not done yet, because I still think that we don’t know how to teach CS. There’s a lot we do know, but there’s still a lot to learn. And that is my goal: to learn how to teach CS effectively, particularly in a way that opens computing up for broad participation. I also want to help others do this.
That’s primarily what to expect here. I’ll be creating a mashup of terms ranging from binary representation to neo-Piagetian learning theory, from memory management to flipped classrooms, from buffer overflows to concept inventories. Hopefully, I’ll provide enough context that the signal makes it through the noise and a variety of readers can make sense of my posts.
Along the way, there will be diversions that may get political at times. Unfortunately, the current state of politics does impact our ability to teach CS, and I try to keep tabs on current events. I can only promise that I will try to keep those discussions civil.
So, welcome, and let’s get started.