It’s almost here… The Hour of Code. Last year, 20 million people participated in the Hour of Code. My hope is that you will too. (Resources can be found here, here, here, and here.) Many educators view this as an opportunity to try something different in their classrooms or perhaps a chance to engage students in a different way. I think the very idea of learning to program is a fundamental change in education as we’ve known it. In a traditional K-12 setting, students were given problems that already had answers. They were taught how to work through and solve each problem and then verify that their answer matched exactly the answer of the teacher or textbook. Learning to code, however, begins with an idea, a spark. A student has to learn to identify a problem before they can begin working on it. Once they’ve identified the problem, they have to develop their version of the solution. Necessarily, there cannot be only one right answer.
But the Hour of Code’s greatest opportunity is also its greatest threat. It’s easy (relatively) to agree to give up an hour of class time for students to ‘play games,’ especially when winter break is just around the corner. It’s low-commitment. You don’t have to agree to transformational changes in pedagogy to participate, you just have to be willing to let your students try something new. But what happens when it goes well and students wonder why learning doesn’t look like that more often? What happens when students find their curiosity piqued and want to spend much more than an hour teaching themselves how to solve problems that don’t have answers? The traditional classroom doesn’t have time for this kind of “playing.” And so, you’ll probably give your students a list of websites and resources for them to explore on their free time. You may even go so far as to create clubs and extracurricular opportunities for students to join. You might give up your lunch and allow students to practice their coding in your room while you scarf down your Sunday-night-leftovers twice-reheated. These are all noble and good things. But they fall short.
You see, when students experience this kind of authentic learning, it plants in them the notion that learning should always be like this. Learning should always be individualized. Learning should always pique their curiosity. Learning should always be a process of identifying and then solving unique and interesting problems that don’t yet have answers. How naive of them! As a result, then, you run the risk of your classroom being a hindrance to their real learning. Classrooms everywhere could be seen not as places of learning but places that prevent learning. Instead of looking forward to the interesting problems they’ll solve, students may very well only tolerate your class as a means to an end: the sooner they make it through math class, the sooner they can learn and use math to write an original algorithm during their lunch period to help them create.
It may not happen this year. Or next. But I think we’re all at least marginally aware that we can’t just stop with a single hour. We have to think about what the second hour will mean for our classrooms and students. Teaching students to code today very well could mean the need to completely re-think the way we’ve done education. And it’s about time.
For more on coding, check out: