High school CS teachers need to read and trace code, not develop software
My May 2014 Blog@CACM post, “What it takes to be a successful high school computer science teacher” sneaks up on a radical suggestion, that I’ll make explicitly here. High school computer science teachers need to be able to read and trace code. They don’t necessarily need to know much about writing code, and they certainly don’t need to know how to be software developers.
As we are developing our CSLearning4u ebook, we’re reviewing a lot of our prior research on the practices of successful CS teachers. What do we need to be teaching teachers so that they are successful? We don’t hear successful CS teachers talking much about writing code. However, the successful ones read code a lot, while the less-successful ones do not. Raymond Lister has been giving us evidence for years that there’s a developmental path from reading and tracing code that precedes writing code.
Yes, I’m talking about taking a short-cut here. I’m suggesting that our worldwide professional development efforts for high school teachers should emphasize reading and tracing code, not writing code. Our computer science classes do the reverse of that. We get students writing code as soon as possible. I’m suggesting that that is not useful or necessary for high school teachers. It is easier for them to read and trace code first (Lister’s studies) and it’s what they will need to do most often (our studies). We can reduce costs (in time and effort) of this huge teacher development effort by shuffling our priorities and focusing on reading.
(We do know from studies of real software engineers that they read and debug more than they write code. Maybe it would be better for everyone to read before writing, but I’m focusing on the high school teachers right now.)