This is an amazing story from one of our CoderDojo instructors about teaching kids to code.
If you haven’t heard, we teach Scratch, HTML/CSS/JS, and electronics programming to over 70 kids each week. For free. (Also, we just launched applications for our intensive 3-month front end development course.)
Bradley* working on his white belt [completing the introductory Scratch course]. This past week, the instructor announced a new project where a wizard and a dragon talked to each other. “To make this happen” , he said, “we are going to use a list. “Now”, he went on, “when you put stuff into the list, the dragon will hear it and then do come cool stuff.” Bradley was ecstatic and fixed his eyes on the projection from the instructor’s computer that was showing the code. “Go ahead and put a wizard and a dragon on your stage and name them”, he said. Bradley had not seen either of these two characters before so it took him a while to find them. He had not named a character before, so that took some time too. He is a one finger typer. But he got it all set up.
In the meantime, the instructor had placed a control on the script panel for the dragon that was a listener for the list. Bradley saw this and did the same. The instructor said, “It doesn’t’ matter what you call it.” So, Bradley typed in “abracadabra” one letter at a time into the listener. He then added the controls that the instructor had put up on the screen to activate the dragon.
Bradley tried to run it. Nothing happened. He got frustrated and came over to me and said, “It doesn’t work.” So, the two of us walked back to his computer. I said, “Show me.” Bradley, looking very seriously at the screen, leaned in and said, “abracadabra”. Nothing happened. …what do you say?
Granted, Bradley is young but he has seen a lot of technology and it is not outside the possibility that when the instructor started talking about “listening” and “talking” that he expect to be able to talk to his character. As programmers, we have commandeered so many words and given them our own special meaning. As teachers, we must try to think like our students and bring them into our vocabulary. Think about these words as English words not programming words: loop, listen or event. Even the word “code” has a meaning other than a computer program.
And remember, the next time you tell a kid, you are going to talk to a dragon, he is going to believe you.
*No, we didn’t use the student’s real name.