The Hour of Code is scheduled for next week, and I can’t wait to participate. Vicki Davis just posted an excellent resource on Edutopia for those who want to join in the fun. Yesterday, I posted about a new iPad app that you might want to try. And in November, I gave some awesome resources that include suggestions by grade level as well as a terrific compilation of Computer Science resources.
Everyone who reads this blog knows that I am a huge proponent of teaching kids how to code. However, I am going to step way out on a limb here, and say that I do not agree that coding should be added to the required curriculum.
I know. Where did that come from?
Generally, I don’t publicly get in the mix on controversial topics; I try to save that for Thanksgiving dinners with my family. One reason I avoid contentious subjects is because I am well aware that I don’t know enough to weigh in heavily on either side. That is probably the case here, as well. But I am going to blunder my way into this one because I have been pondering it quite a bit.
The case for teaching kids to code can be found in numerous articles online. Our nation has a far higher demand for programmers than we are producing. Coding is an important 21st century skill. It teaches our students about systems and how to problem solve. I agree. I also agree that exposing our kids to the basics of programming at an early age is a great idea.
But I worry that shoving it into our curriculum will take away its relevance. It will become another skill to check off, another subject to be tested. Exploration and creativity will be surrendered for efficiency and expediency. Kids will be yawning and asking, “Why do I have to learn this? I don’t want to be a computer programmer when I grow up.”
The truth is, despite the fact that we are careening into a future that will be even more dependent on technology than our present condition, not every person is going to need to know how to program. I can watch T.V. just fine without knowing what a cathode tube does. And, though I would probably have less chance of being gouged by a mechanic if I knew more about my car, I have driven for over 20 years in complete ignorance of the existence of 99% of the various parts necessary to make it run.
I teach kids to code because a.) they are interested, b.) they are not even a tiny bit interested, but then realize that it can be both challenging and fun, and c.) they learn valuable thinking skills that transfer to other lessons.
In my ideal educational world, every child would be introduced to coding by a passionate teacher who is able to integrate it with other subjects, and to guide kids to making real-world connections to programming. The students who love it would be able to go as deeply into it as they like. And those who have seen what it can do, but prefer to develop their computational and problem-solving skills another way can move in other directions.
The problem is, many kids today, particularly girls, don’t get to make that choice. The stereotype of pasty white, anti-social males sitting in basements surrounded by monitors and other mysterious electronic equipment as they design video games still pervades our culture. We should dispel that. But we need to be careful. Our goal should be to teach kids how to think, not what to think.
For my part, I will be including all of my classes, 1st-5th, in the Hour of Code next week. I also plan to show this video to my upper grades because it eloquently expresses how coding was a vehicle to helping someone realize he matters to the world – and that the world matters to him. They will get more programming experiences throughout the year. They can also use Genius Hour time to pursue the topic if they like. Or not.
In summary, I think we should teach kids how to look for patterns, systems thinking, creative problem solving skills, and even how to read and write code. We can do that with computer programming – or knitting. Requiring either of those specific skills in every grade level will not benefit our children.