It’s Computer Science Education Week, and millions of people will do some coding this week at one of 150,000 events around the world. Thanks to the amazing efforts of code.org and lots of partners, over 300 million people have tried computer programming with the Hour of Code in the last three years. That is a LOT of people getting a taste of coding! Hopefully, they are finding out that coding can be fun and it is not just the domain of “computer people.” I believe everyone will need to work with computers in the future, and coding is the language that tells computers what to do.
These achievements are grounds for celebration!
At the same time, it is important to realize that our work is only beginning. Imagine if we stopped at one hour of reading, or one hour of math. Like any other subject or discipline, learning computer programming takes time. The first hour is a critical start and a chance to raise awareness, inspire and motivate. But the real learning comes in the tens, hundreds and thousands of hours following. Now is the time for the discussion to move beyond the hour of code.
Of course, many of the leaders in computer science education have been thinking about this for some time. Code.org has coordinated a nationwide advocacy effort to change legislation and adapt education standards to include computer programming. With a consortium of partners, they recently released a comprehensive framework to help educators teach computer science.
I was fortunate to be included in this effort here in Arizona, where a senate bill would have required all Arizona students to do one hour of coding at some point in their K-12 education. (Unfortunately the bill was rejected by the Teachers Association, but we will keep trying…)
Despite the great work happening all over the country, the US has a long way to go in preparing the next generation to succeed in the computer age. Our kids need the opportunity to really learn how to code. That goes far beyond an hour of code; it requires consistent, engaging, and effective learning opportunities.
How is this possible? There are a few options, each with their own pros and cons.
- Change the education system to make computer science as important as other core subjects. The United Kingdom and Finland recently overhauled their education systems to make coding core. The great thing about sweeping overhaul is that you can reach scale very quickly. But it’s tricky here in the US, where education decisions are made at the state and local level.
- Encourage everyone to learn online. With internet access in 80% of US homes, and school and libraries providing supplemental access, almost any child could technically go online and teach him/herself computer programming. My friend Josh did just that, learning HTML on library computers in Phoenix and selling websites as a teenager. However, most people don’t know where to start, and lack the motivation to stick with it when things get difficult (and with coding, things always get difficult).
- Create a movement. Millions of kids in the US learn baseball, gymnastics, dance, piano, violin, etc. They and/or their parents make the choice to be there learning, practicing, working with peers under the guidance of a caring adult. This model has recently expanded to chess, legos and robotics, and it could work for coding too. Of course, we’d advocate for coding programs to be free to the community. The biggest challenge here is finding adults that feel qualified to run a club. But we have had success with librarians, afterschool staff and others, especially when we convince them that the best way to learn code is to do it (i.e. no lectures).
Maybe the right answer is “all of the above.” However it is done, I hope we figure out a way to provide ongoing learning opportunities to every student in the US. The future depends on it!