This week, teachers and students around the world are participating in ‘Hour of Code™’ projects.
It is huge! In its fifth year, there are over 100,000 registered events taking place in all corners of the globe. The ‘Hour of Code’ is an initiative by Computer Science Education Week and Code.org to introduce millions of students to one hour of computer science and computer programming.
While there is so much good and excitement in teaching kids to code, there are a few areas around it that deserve a bit of our time to discuss…
First off, for the record, I don’t hate ‘Hour of Code’ or teaching kids to code at all. The tech industry, both big and small players, have given countless hours and funding to education to provide quality free resources – that alone makes it a worthwhile cause.
And kids are loving it. We see story after story of kids as young as 4 that are spending their own time outside of school on coding games and projects. There are more opportunities for students to follow their own interests and learn skills at their own pace than ever before.
Plus, most schools don’t have educators in house with a coding background such that they’d be able to lead instruction of students without the resources that projects like ‘Hour of Code’ provide.
Note: The following criticisms are not at all meant to minimize the benefits and impact described above!
It is frequently suggested that all kids should learn to code, much like we say all kids should learn math and sciences. We just need to be careful about our reasoning behind wanting these requirements to be implemented.
One argument made for why everyone should learn to code is that technology and coding expertise will lead to better jobs and, in particular, will be critical for the jobs of the future. But this tends to ignore all sorts of important skills and competencies that the tech industry desperately needs, like project and group management, user experience, design, marketing, data analysis, sales, writing technical documentation, and providing support to users. Most tech companies have more non-developers on staff than developers.
Of course, a basic background and understanding in logic, coding practices, and computer science concepts will be helpful to anyone in any industry, but most ‘Hour of Code’ activities tend to make the sole focus on “coding” and ignore everything else. We risk discouraging and leaving out all of the other critical needs of the very “jobs of tomorrow” we are trying to ready kids for.
My biggest fear is that one discouraging or unsuccessful experience of a student that participates in an ‘Hour of Code’ event may turn off some students for life. Any math teacher will tell you that simply getting students to believe that they can “do math” is often the biggest obstacle we face in the classroom. Coding is the same way, and a student that is confused after playing a coding game or isn’t successful the first time they try to program a robot will be that much harder to reach down the road.
So how do we ensure success? We must implement any coding program or activity in a purposeful way. Coding is about solving real problems, and if you ask just about any professional developer, they will tell you that they got their start because they wanted to fix, build, or improve something specific. For me (though I’m not a professional developer), it was building a website with static HTML for my high school marching band at the age of 14 – ya, I’m not nerdy at all!
Here’s the thing. The majority of activities that teach kids to code use games, apps, and robotics. They are often built or designed by companies that have the tech knowledge, but aren’t professional educators. And we usually implement ‘Hour of Code’ activities as a supplement and almost as an afterthought.
All of this can create a few problems:
- It can be unauthentic – kids will be more motivated and more likely to be successful when working on something meaningful or real. Their first coding experience should involve building something useful or that might serve a real purpose. As just one example, maybe students could experiment with basic CSS customizations of their WordPress site or blog on Edublogs. And here are some thoughts on teaching coding through math class.
- Not all kids like video games – the education community is all in on integrating game theory and games in learning. But the truth is, games are more motivating to some students than others. Like anything we do in teaching, there is no one-size-fits-all solution. Here are some ideas for teaching “coding” without any computer or device.
- Too much is not accessible – kids with various unique needs like visual impairments or inability to use a mouse are often left out with these sorts of apps and games. Assistive technologies and best accessibility practices need to be a high priority of every app and website we use with students.
So, just as you shouldn’t implement something like blogging in the classroom without a clear and specific purpose, the same should be for ‘Hour of Code’ and coding. Choose activities that are related to other subjects or topics you are teaching students, and not something that is just “one and done.” All of this will help set up students for success, and hopefully will lead to a solid foundation they’ll be able to build off for years to come.
Do you agree or disagree with anything above? And if you’ve used ‘Hour of Code’ activities in your classroom, how has it gone? We’d love to hear from you in the comments below!