Most Americans love their laptops, tablets, and smart phones, but according to a recent study by the  Organisation for Economic Co-operation and Development (OECD)  few Americans know much about how their favorite technologies work. When it comes to using technological know-how, Americans are miles behind citizens of almost every other developed country. The problem is that most children in the U.S. lack the opportunity to learn computer skills beyond basic typing. In today’s high-tech world, knowing how to use a word processor and a spreadsheet simply isn’t enough. All children—not just future technology kingpins—need to learn at least the basics of computer coding. It’s an important component of basic computer literacy, and it can help kids develop brainpower in surprising ways.

Coding and Computer Literacy

Just a few years ago, many people considered basic car maintenance skills to be essential. Parents routinely taught their kids how to fix a flat and change the oil because having enough knowledge and skill to keep a car running was important for daily life.

Today, computers are even more a part of daily life than cars. Not only have they become invaluable tools in almost every profession, they also power household goods from toasters to coffee pots and can be found in almost every pants pocket. Sending a child into adulthood without teaching them the fundamentals of coding is a bit like letting them loose on the road without knowing how to change a fuse or use a turn signal. But despite the ubiquity of computers, few parents have the technical know-how to teach their kids the computational equivalent of basic car maintenance.

Even for kids with little or no interest in computers, a simple introduction to programming should be considered a basic life skill. It isn’t necessary for every child to become an expert coder, but a working familiarity with how computers “think” is becoming as important as arithmetic.

Analytic Reasoning

A lot of children grow up hating math class, and it’s not hard to understand why. Almost every other subject in school involves either telling stories (think literature and history) or interacting with physical objects (like science classes). But math is taught almost exclusively through abstraction. The move towards abstract mathematics starts early—young children are scolded for counting on their fingers during arithmetic lessons. In algebra, students start by learning rules like the distributive property and are asked to apply their analytical skills to real world problems only rarely.

For most kids, this kind of pure, abstract thinking is dull to the point of tears. In fact, the standard high school algebra II course is one of the leading drivers of dropout rates. These types of classes propagate every math teacher’s least favorite question: “When are we ever going to use this?”

Kids who learn coding can give all sorts of answers to that question. When will you use need to calculate the length of a triangle’s side? When you’re trying to teach a robot to navigate an obstacle course, obviously. Why would anyone need to know the equations for Newtonian motion? Well, it’s hard to program a realistic bouncing ball into your computer game if you don’t know how to calculate acceleration.

Coding gives kids a chance to use and develop analytical skills in a much more concrete setting. Writing even simple scripts can sometimes involve hefty mathematical concepts, but those concepts become much easier to grasp when they’re tied to a specific objective. Coding presents students with puzzles that require them to think about math from a different perspective, and for many it’s a gateway into a new appreciation for the subject.

Creative Problem Solving

Computer programmers often create virtual environments in which they can see how their code performs. These environments, called “sandboxes,” let engineers play with their programs and make incremental adjustments. The childlike metaphor of the sandbox is no accident. Virtual sandboxes are intended to encourage creativity and low-risk experimentation just like real sandboxes on playgrounds.

This experimental spirit makes coding a great way for kids to express themselves creatively. In the age of standardized testing, children often come to think of learning as route memorization. They can become so conditioned by lessons designed to give them the right answer on a multiple choice test that they lose their natural inquisitiveness and experimental spirit. Coding provides kids like this an opportunity to build mental muscles that many school curricula have left to atrophy.

The beauty of coding is that any given problem can have a near-infinite number of plausible solutions. Students in robotics classes, for instance, come up with dozens of different ways for their robots to detect and navigate around obstacles. Some look to visual censors. Others look for tactile feedback. Some might try to map the entire environment in advance, and others would opt to guess and check. In coding classes, students have the freedom to experiment. They can test their theories and hunches with the benefit of instant feedback. They can tweak their solutions to make them faster or smarter. And they can compare notes with their classmates to discovered alternative solutions that they might never have considered on their own.

Unlike so many other elements of a modern education, coding teaches children that definitive “best” answers are rare. True mastery requires developing cognitive flexibility and an eagerness to explore. Those traits will serve young scholars well no matter what they plan to do in their adult lives.

Professional Skills

The job market is changing, but the education system hasn’t been keeping up. Robots are replacing factory workers, self-driving cars could displace millions of workers, and artificial intelligence software is even absorbing some of the work that doctors and lawyers do every day. For many young students and their parents, the future job market looks cloudy and ominous.

But for kids who with STEM (science, technology, engineering and math) skills, the job market forecast is sunshine and clear skies. Coding gives kids an inside track connecting to booming economic sectors. Job fields that require coding skills are growing at incredible rates. The Bureau of Labor Statistics estimates that the number of software development jobs increases by 17 percent every year, and web development jobs are growing even faster. Both offer median annual salaries well over $60,000 per year. In a rapidly changing economy, coding might be the one skill that’s always in demand. Even a basic STEM education could lead to hundreds of thousands of dollars in gained salary over a lifetime.

Some kids love computers, and others prefer playing outside. Some love math while others prefer reading stories. But regardless of their long-term aspirations, every kid needs at least a taste of computer coding. Even future poets and ballerinas will benefit from computer literacy, and every child deserves the chance to flex his or her creative muscles.