Recommendation: before running program during live coding, get students to make a prediction of what it will do, to improve learning
(For those who don’t know: live coding is the process of writing code “live” at the front of a class/lecture, as an interactive way of exploring/writing code with students.)
I was paraphrasing Guzdial, who was in turn talking about an ICER 2011 keynote speech by Eric Mazur (got that?). Guzdial has already written a nice summary of the speech, but in short: Mazur and his co-authors found that practical demonstrations had poor outcomes in later exams — noticeably poorer than having no demonstration! This is worrying, considering that live demonstrations are generally held to be good teaching practice. This harmful effect was only avoided if the students were encouraged to first make a prediction about the outcome of the demonstration.
Guzdial’s observation was that live coding is in effect a demo, and thus we should get students to make a prediction in order to improve learning. Hence the tweet.
However, it is a good idea to start from a skeptical position in research: the ICER 2011 keynote concerned seven physics demonstrations — you can view descriptions of the seven online. Until these results are replicated in a computing education study on live coding (any volunteers?), whether we believe the make-a-prediction advice rests largely on whether we believe the concept of a demo in physics is analogous to live coding in computing. Live coding is clearly a form of demonstration, but it is as much about writing the code as it is about running it. Predictions helped students to remember the outcome of the experiment, but I suspect that in computing the process of writing the code is the more important part to remember, not the outcome of running it. When I do live coding, it’s not because I want students to understand what it does in terms of the plain outcome, but rather that I want students to understand what I am writing and why. Live coding involves a building element that the physics demonstrations did not, and I think this may well distinguish the two practices.
So although I passed on the recommendation, in retrospect I am skeptical as to whether the physics demonstration finding will transfer to live coding. You could take the approach that there’s no harm in getting students to make the prediction — but the physics teachers thought there was no harm in giving a demonstration, and it turned out there was! Education is a tricky beast at the best of times, and research into education is no exception.