Skip to main content

Should Kids Learn to Code?

Not necessarily!

Jianan Liu

The government is behind it. In his 2016 State of the Union address, President Barack Obama said that the U.S. should offer “every student the hands-on computer science and math classes that make them job-ready on day one.” Soon after, he launched a $4-billion Computer Science For All initiative.

Technology companies are enthusiastic. Amazon wants to teach coding to 10 million kids a year through its Amazon Future Engineer program. Facebook, Microsoft, Google and others have similar projects of varying scale and scope. Many parents are eager, too. According to Code.org, a nonprofit aiming to increase computer science education, 90 percent of parents want their children to study computer science in school. That explains the popularity of many kid-oriented tutorials and computer programming languages, such as Scratch and Hour of Code.

So should you sign your kid up for a programming camp? Insist they take computer science classes? Maybe, maybe not. I learned coding as a child, and it has served me very well. I purchased a home computer with money I earned bagging groceries and learned the Basic programming language, as well as some machine language. It was fun, like solving puzzles—and I got my first job as a software developer in my first year in college. Things haven't changed that much: software developers still make good money and are in high demand. So what's with the “maybe not”?


On supporting science journalism

If you're enjoying this article, consider supporting our award-winning journalism by subscribing. By purchasing a subscription you are helping to ensure the future of impactful stories about the discoveries and ideas shaping our world today.


Programming was fun for me. But what about the child who's not so enthusiastic? Should he or she be made to learn programming because it could lead to a job someday? I would hold off: it's unlikely we will be programming computers the same way in the decades ahead that we do now. Machine learning, for example, which is what we mostly mean when we talk about AI, is very different than giving the computer detailed, step-by-step instructions. Instead we feed machine-learning algorithms large amounts of data, and the programs themselves construct the models that do the work.

To give a striking example, Google Translate used to involve 500,000 lines of code. Nowadays it's just about 500 lines in a machine-learning language. The key challenge isn't knowing a programming language: it's having enough data and understanding how the computer-constructed models work mathematically so we can fine-tune and test them.

What matters, then, for the future of this kind of computer work? The technical side is mostly math: statistics, linear algebra, probability, calculus. Math remains a significant skill and is useful for many professions besides programming. It's essential for everyday life, too. And algorithmic thinking doesn't have to come from computer coding. Some math and an appropriate learning experience via cooking, sewing, knitting—all of which involve algorithms of a sort—can be valuable.

More important for the future, though, is the fact that, by itself, computer programming encourages closed-world building. That's partly what made it so much fun for me: it's magical to put together something (tedious) instruction by instruction and then go play in the world one has built. Unfortunately, that is the farthest from what the tech industry does these days. Programmers are now creating tools that interact with the messy, challenging reality of life. If anything, their affinity for building insular worlds might have hindered their understanding of how the tools would actually function. What we need now are people who know history, sociology, psychology, math and computers and who are comfortable analyzing complex, open and chaotic systems.

So should you let an interested child enroll in a coding camp? Of course. Should kids play around with Scratch or do an Hour of Code tutorial to see if that captivates their interest? Absolutely. But no worries if they want instead to learn how to make cupcakes, sew pillows or pajamas, or climb trees.

We need to make sure youngsters do not think of the world as forcing them to choose between math and science on the one hand and social sciences and humanities on the other. The most interesting, and perhaps most challenging, questions facing us will be right at that intersection—not in the tiny, closed worlds we like to build for fun.

Zeynep Tufekci is an associate professor at the University of North Carolina, whose research revolves around how technology, science and society interact.

More by Zeynep Tufekci
Scientific American Magazine Vol 321 Issue 2This article was originally published with the title “Should Kids Learn to Code?” in Scientific American Magazine Vol. 321 No. 2 (), p. 77
doi:10.1038/scientificamerican0819-77