Somehow, simultaneously, all 10 children in my CodeClub shoot their hands up.
"Terence! Terence! Why doesn't this work?
"Help! My bird isn't flapping!"
"What do I press to set this variable?"
I am run off my feet. I dash from workstation to workstation, troubleshooting the problems. In every case, my response is the same.
"Did you follow the instructions on the sheet?" I say.
"YES!" Comes the howl of protestation.
"Even this one where it tells you to click on cat before making the changes?"
"Oh... Oh! That makes sense! Thanks." and off they go.
I'm quite serious. For five lessons, I extolled the virtues of reading the worksheets. Of double-checking one's workings. Of re-reading the instructions and making sure they had been followed.
So, I bought out the big guns!
Yeah, that's right. Biro pens!
"Next to every step," I intoned, in my most schoolmasterly voice "is a check box."
I showed them the worksheets created by Code Club.
"Once you have completed a step," I continued, "You are to tick the box with your pen. Then, and only then can you proceed to the next step. And woe betide any child who calls me over for help without first having made sure they have completed all the necessary steps..."
I then set them off and braced for the inevitable flurry of hands.
Nothing! Blissful silence as the kids toiled away over their Scratch projects.
I waited and waited. Slowly, a hand raised.
"Terence," the girl's voice wavered, "I've instantiated my variables but I don't know whether they should have global scope or merely be restricted to local scope."
(Ok... ok... She didn't word it quite like that - but that's what she meant.)
A few minutes later a boy stuck up his hand.
"I've found an interesting race condition which occurs when two scripts are initialised simultaneously. Is there any way to guard against this?"
(Again, I've embellished. Look, these are 9 year olds learning Scratch. Their computer science vocabulary is somewhat limited.)
In fact, there were only a couple of questions which could be answered by saying "read the text thoroughly and tell me what you've missed."
The majority were interesting questions about Scratch, how to craft fun games, general computing problems, and the philosophical nature of whether a horse could outrace a bat.
And all because I'd handed each kid a pen and taught them how to use it.
Ticking All The Boxes
By complete coincidence, I have just finished reading The Checklist Manifesto by Atul Gawande
Much like Malcolm Gladwell's books, its premise can be summed up in a single sentence. People doing complex tasks often forget basic steps - following a checklist helps prevent errors.
In Atul Gawande's book, he talks about his success at introducing a checklist at hospitals. By reminding surgical teams to make sure they were operating on the correct side of the patient, had appropriately sterilised the equipment, and knew of any likely complications - they were able to prevent thousands of mistakes and save hundreds of lives.
It sounds too good to be true, doesn't it? Having a tickbox which says "check patient has suitable anaesthesia" (or whatever) actually works. To quote from a study of the checklist published in the New England Journal of Medicine:
The rate of death was 1.5% before the checklist was introduced and declined to 0.8% afterward (P=0.003). Inpatient complications occurred in 11.0% of patients at baseline and in 7.0% after introduction of the checklist (P<0.001).
It's important to realise that a checklist isn't a universal panacea. The checklist itself has to be well designed and easy to use. But after seeing how it transformed a cluster of kids in a Code Club, I'm a convert. Before, they struggled to reach the end of a worksheet because they spend so much time correcting their mistakes. With the checklist, they were easily able to reach the end and could spend more time playing, coding, designing, and having fun.
More importantly, the kids didn't seem to mind having to occasionally tick a box to move on to the next step. It didn't interrupt their flow or stifle their imagination.
An article in the British Medical Journal about the effectiveness of the checklist in surgical situations concluded with:
The checklist was considered easy to use by 80.2% of respondents, while 19.8% felt that it took a long time to complete, and 78.6% felt that the programme prevented errors.
The real kicker is the final line.
Overall, 93.4% would want the checklist used if they were undergoing operation.
If you're teaching kids or adult - consider seeing what a simple checklist can do for your students.