The need for feedback to improve undergrad CS teaching
Because of the kind of work that we do in my group at Georgia Tech, we visit a lot of computer science classrooms, recitations, and labs. Sometimes what we see is counter to what we now know is effective. Here are two examples from this semester:
- We see small group recitations, where students sit for 90 minutes and passively listen to a recap of the lecture. No peer instruction. We know active learning is better, and we know that it’s even easier to do active learning in small groups.
- We see intro courses teaching recursion before iteration. One of the few replicated results in CS Ed is that iteration should precede recursion. John Anderson and company found that teaching iteration first was better even when teaching Lisp, and Susan Wiedenbeck replicated the result (see blog post).
I can’t really blame these teachers. How could they know that there is a better way? How could we make it better? By what mechanism do we help CS teachers improve? This is a technology transfer problem. The research knows a better way. How do we change practice?
I’d argued previously that we should change promotion and tenure requirements to encourage active learning, and received massive pushback. I don’t think we’ll see that happen anywhere anytime soon. Teachers don’t want to feel “forced” to teach better.
Instead, what kind of feedback mechanism could we create so that undergraduate teachers learn that they’re not using effective methods? At my school (and I’m betting at most undergraduate institutions), the only feedback that a teacher gets is from student surveys, course-instructor opinion surveys. That’s not going to help with this problem. How could students know that the class would be better with peer instruction? How could students know that they should have seen iteration before recursion to learn more effectively?
Questions like these have been asked on the SIGCSE-Members list recently. What do you think? What kinds of effective feedback mechanisms have you seen to improve CS teaching? How do CS teachers get informed about research on better practices?