People keep promoting the need for everyone from kids to mid-career professionals to learn how to write computer code. The argument is that in the very near future (if we aren't there already) learning how to code will be as important as learning to read and write. An article in Mother Jones asked, "Is Coding the New Literacy?" I say no. Not only isn't learning to code the new literacy, learning to code isn't even great computer literacy.
Teaching how to code has become synonymous with teaching computer literacy, but they are not the same thing. Coding is only a small part of computer literacy and far from the most important or practical part. Similarly, learning to code is not the same as learning computer science.
I'm not saying I'm against kids learning to code. I taught myself BASIC in 1st or 2nd grade, and, as Robert Frost would say, that has made all the difference.
I loved coding. I miss coding. It is magical to create something useful or entertaining out of nothing but your mind. It is rewarding to be able to say, "I made that."
Still, learning to code will never be as essential to success as learning to read and write. Learning to code is not the new literacy. Learning to code is more like the new musical composition.
Writing code does give you skills you can apply elsewhere like how musical training is said to help people with math and languages, but most people aren't going to do it as a career. Even fewer will be really good at it.
I don't care if my kids learn how to code. The computer literacy that I want my kids to know about consists of two things:
- Information security and
- Data analysis.
Why is information security more important to computer literacy than learning to code?
Whether or not you ever write a piece of code, understanding the basics of computer security is important for protecting your data and the data of others. Understanding computer security can help you avoid risky behaviors that could lead to your personal systems or your employer's systems being hacked or otherwise attacked.
If kids understood information security they would know not to believe that Snapchat messages truly go away. They would be more likely to question what apps they load on their precious phones. They would be less likely to share passwords or reuse them.
Those things are what I value as computer literacy, and learning to code does not teach them.
My first real job was as a computer programmer (what would now be a "software engineer"). I built a career in information technology despite being blissfully ignorant of many basic information security concepts until I finally went back to grad school to specifically study it.
And I'm far from the only one.
I often come across experienced IT professionals who know a lot about the systems they develop and support, but they don't know about security because they were never taught.
For example, when I ask people if their systems encrypt passwords I have had multiple system administrators in multiple organizations tell me that "Yes, the password is encrypted" and then show me where the log on screen replaces the password with asterisks as a demonstration of this alleged encryption.
Here's a quick bit of free security education: Those asterisks do not mean the password is encrypted any more than putting a piece of paper over your monitor means this blog post is encrypted.
(If you don't know why encryption is important you should read my as-of-yet unpublished children's book on the subject. If you happen to be a publisher who may be interested in publishing said book, you should contact me.)
Teaching people how to code without teaching them about security is like teaching people how to drive without teaching them the meanings of street signs and traffic signals. Sure, you've taught them a useful life skill, but they are going to create a mess for everyone else.
Writing code is easy. Writing secure code is hard.
It's hard to build in security if a system wasn't designed securely to begin with. If you don't believe me, look at the Internet itself. It was originally built as a "trusted environment," and all that assumed trust is what makes systems so vulnerable today.
This is why the idea of teaching absolutely everyone how to code terrifies me.
Luckily I know most of the kids forced to learn to code won't deploy any code for widespread use. All the more reason that they spend their time learning about security, knowledge they will actually need, instead.
Why is data analysis important to computer literacy?
If The Graduate were remade today, that guy wouldn't tell Benjamin, "Plastics." He would tell him, "Data."
For better or worse computer systems collect more data now than ever before, but relatively few people know how to truly understand that data and make it work for them.
(They also don't know how to protect that data, which goes back to the importance of understanding information security.)
Knowing what questions a certain set of data can answer and what questions it cannot will be beneficial in so many careers. Even the people who do not actually write queries and formulas will be more valuable if they can communicate well with the people who do.
Knowing how a database works is more important than knowing how an app works, particularly if you don't intend to go into computer science. My job would have been so much easier if more people I worked with over the years understood how to use their own data.
Finally, go ahead and teach kids to code
Coding is great. It strengthens logic and problem solving while still allowing for creative thinking.
I do think kids should be exposed to learning to code just as they are exposed to so many other subjects during a well-rounded academic curriculum. I just wish people would stop overselling how vital it is. It is just another subject that some kids will like and others won't.
Teach kids computer literacy. Make coding optional.
- Teach kids Internet security before the sex talk says Google Chairman Eric Schmidt
- STEM education for girls: Too little, too late, too pink
- Not engineers or executives: The other women in tech
Get notified of new posts by email. Type your email address in the box and click the "create subscription" button. My list is completely spam free, and you can opt out at any time.