There is a lot of buzz about how your child should learn to code.
Last year alone, over 100M kids started to learn coding.
Is it a giant fad or a fundamental shift in what our children need for them to thrive in the digital world?
Is it a specialized skill like gymnastics, skating, etc., or is it a foundational skill like reading, writing and arithmetic?
What are the benefits of a learning to code? How does it help raise academic and career success?
How do you get your child started learning to code?
“Everybody in this country should learn how to program a computer, because it teaches you how to think.” – Steve Jobs
From celebrities and educators, people from every walk of life are touting the benefits of learning to code. Coding boot camps are popping up all over the place, offering adults the promise of a career transition into a lucrative field. A growing number of online code academies are offering self-guided courses.
Khan Academy is promoting its “Hour of Code”, and programs like Scratch are introducing the basic concepts of coding to primary kids. What’s up with all the hype? Is it just about filling millions of jobs that economists fear will go unfilled at some point in the future? What if my child doesn’t want to be a software engineer? Should she still learn to code?
Like Steve Jobs said, coding teaches kids how to think. Learning to code teaches kids how to take a big-picture problem, break it into smaller chunks, form a plan, execute the plan, learn from your mistakes, fix them, complete the task, and have something to show for it. Problem solving and project management play a part in everyone’s job and in everyone’s life in general!
Children’s brains are literally growing. They are rapidly developing new cells, new pathways, and new abilities as children approach adulthood. If children learn to code, it will help their brains develop pathways and neurons that will benefit them for the rest of their lives.
Coding Improves Student Performance In All Subjects
The principles and practices of coding help kids in every academic area. Some connections, for instance math, are more obvious, but coding skills touch on every academic arena. Let’s start with the one most people think of–math. Math involves precise logic. If I add this number to this number, and then I divide the sum by this number, I get this other number. Many aspects of coding are logic in its purest form.
The coder is telling the computer, “If I do this, I want you to do this and this. If the user clicks this button before filling in these boxes, then show him an error message. If the user scrolls down on this page, shrink the navigation menu while keeping it pinned to the top as they scroll.” In some cases, coding involves actual math, but in most cases, coding is really just a series of “if-then” scenarios tied to certain actions and conditions.
Many of us remember PEMDAS, one of the most popular ways to remember the order in which to solve a multi-step equation. Coding often behaves the same way, prioritizing certain actions ahead of others, and making sure that the correct order is maintained.
So, coding obviously connects to math class, but what could it have to do with painting? Or athletics? Please don’t tell me that coding has something to do with football? Well… actually it does. Let’s start with art. Art is a creative endeavor, and we often think of artists as whimsical idealists, driven by emotion and an innate sense of beauty and meaning. While these qualities are often present, art is more than putting a brush to paper.
Creating works of art, whether they be paintings, songs, or novels, still requires thought. The artist takes on a project intent on creating something great. Greatness usually isn’t an accident. It takes planning, research, practice, and problem solving. The paint can’t be layered in any random order and produce the same result. Changes in the tempo of a song have an impact on the listener, and must be carefully considered.
Art is a project, and projects need processes that make them successful. If kids learn to code, it will teach them to build a process and work the process to produce an outcome. What if you could produce a better looking website with less code. Wouldn’t that be a thing of beauty?
Have you ever seen a coach’s whiteboard covered in X’s and O’s? They mark the location of players. Sports is another great example of logic. If the opponent does this, you do this. If you’re dribbling the ball, and your player sets a pick for you, you should dribble in the direction of the pick, staying as close to your own player as possible in order to break free of the defender.
It’s logic–a series of conditional if-then statements. When quarterbacks go to the NFL, they take an IQ test called the Wonderlic. The test is designed to predict how quickly and correctly quarterbacks will be able to assess the different scenarios presented by the defense and make logical decisions accordingly. So yes–teaching your little quarterback to code will help him win games.
Coding Helps Kids See the Bigger Picture and It’s Parts
When kids learn to code, they learn to work the details with the big picture in mind. There’s an old saying that goes: “He missed the forest for the trees.” The saying means that we often get so focused on the details that we lose site of the big idea or overall mission. People are often divided into “big picture” people and “details oriented” people, but assigning such traits to people can make them think they’re fated to be one and not the other. Highly successful people must be both.
As kids learn to code, they are developing the ability to see the big picture while focusing on the details. The overall project is the “big picture” while the “details” are the small parts that must be executed with precision to make the vision a reality. It is critical that all children learn to see the big picture, because the big picture gives the smaller tasks a purpose. Being able to form a high level vision empowers children to be mission driven and pursue the things that really matter to them.
Mission driven people are happier, more successful, and stand to make a lasting impact on the world and the people around them. Coding teaches kids to start with a big-picture goal and align their tasks to complete that goal and produce something great that they can share with others.
But don’t forget about the details. Every big project is made up of small parts. It’s okay to be enamored by the forest, but kids still need to watch their step and navigate with a purpose. Learning to code teaches kids to work in the details to realize the goal. They must complete small tasks in a linear fashion, and as they do, the big picture takes form. The big picture offers vision and purpose, while the details enable kids to execute on that purpose.
Coding Is a Safer Way To Take Risks
Taking risks is a tricky endeavor. On one side of the coin, kids must take risks in order to learn, progress, and accomplish goals. On the other side of the coin, taking careless risks in dangerous environments can quickly turn catastrophic. Running for student council is a good risk. Sitting on the railing of a 4th floor balcony–not so much.
One of the conundrums of parenting is determining which risks to allow and which to prevent. How can parents teach their children to continue taking good risks even when they don’t result in success? One solution is to give them opportunities to try again.
Coding is a safe, fun way to take risks. Coding is an environment where kids can take chances, fail, correct, and try again, without catastrophic consequences. Empowering kids to take chances and work through mistakes trains them for life. As a child learns to code, he also learns that an error isn’t the end. It can be corrected. The website can be unpublished, redone, or improved. It’s okay to start with the wrong color scheme. It’s okay to embed a link that doesn’t work, as long as you fix it.
Coding also teaches children to understand the value of getting it right the first time. As kids take chances in this safe environment, they develop a sense of the effort and frustration of doing it over and over and over to get it right. They naturally begin to realize that if they’re careful and get details right the first time, they can progress toward their ultimate vision faster and with less frustration.
While coding teaches that it’s okay to make mistakes, it also teaches that it’s really frustrating and time-consuming to keep making the same mistake. These two lessons can be applied to nearly every aspect of life, from careers to relationships.
Coding Is a Creative Pursuit
Coding is a creative pursuit. The coder must consider how they want their work to look, feel, and behave. It’s not just about what it does. It’s also about how it’s done. Consider a website for a florist. If the website is simply a white page with black text that tells what the florist offers, where she’s located, and what hours she works, it probably won’t generate much business. The same site could carry the visitor through a visual experience that tells the story of the problem that the florist solves.
When websites and applications are being designed, designers actually use the word “story” to help guide development. They work hard to consider what the visitor’s ideal experience would be on a site, and they carefully plan the site to create that experience. In a world where there are millions of websites, only the exceptional ones stand out.
Humans are natural storytellers, and coding helps them tell stories and carry people through them. Dancers often tell stories with their movement. Writers tell stories as they morph words into images in the minds of readers. Painters tell stories by selecting colors, brush strokes, settings, and subjects to convey emotion. Coders tell stories using visuals, words, and movement.
Coding also teaches kids to solve problems creatively. In the world of code, there’s more than one way to accomplish a task. If it’s not working one way, try another. Coding teaches kids to select the best tool for the job when there might not be a “right” tool. There could be five different ways to do the exact same thing. Coders consider their personal preferences, their strengths, and how everything fits together.
Sometimes the way they choose to perform a task makes a future task more challenging. In that instance, they must again think creatively about how to address the problem. “Should I change my code from yesterday to make today’s work easier, or accept the difficulty of today’s work so that I can leave yesterday’s as it is?” Coders are constantly asking themselves that question. Coding isn’t a robotic task where there’s a right and wrong way to do something.
Coders are frequently choosing the best choice in the absence of a right choice. Part of the beauty of coding is that a brush stroke can always be deleted or altered. The canvas can always evolve. The product improves and the coder improves. They make each other better.
Coding is a Team Sport
When you picture someone coding, you may envision a person sitting in front of side-by-side monitors, alone in a dark room at 3:30am. While there are certainly people out there that work in that environment, good coding takes collaboration. As stated before, coding is creative. There are many ways to accomplish a task and each one can make things easier or more difficult in the future.
Teams of coders rely on one another to avoid mistakes, learn best practices, acquire new skills, and help each other overcome barriers. Just like different types of people excel in different areas of business, different types of people excel in different areas of coding. Visual artists could be brilliant designers, but may fall short when it comes to connecting the website to the database where the information is stored. Database architects might be able to write conditional statements in their sleep, but the user-experience of their website could be a disaster.
As children learn to write code, they learn to specialize and collaborate in order to produce the most outstanding product possible. They become aware of the fact that the whole can be greater than the sum of its parts, and they learn to value their contribution to the whole. There are few things in school and in life that don’t require interpersonal skills and teamwork.
Coding teaches strong communication skills. As children learn to code, they must communicate their needs to others in an effective way. They must also communicate how they can help others to complete tasks. In a collaborative environment, the best outcome is often created by the team that learned to communicate most effectively, so that they could leverage their strengths to produce something great.
Coding teaches kids to ask for help. Asking for help is one of the most important skills in life. In our culture, the act of asking for help is sometimes viewed as weak or even shameful. Independence can be overvalued, making kids believe that if they can’t do it on their own, they shouldn’t even try. Coding teaches the opposite. Coding teaches that if you can’t do it on your own, seek help. When a child cannot figure out how to make the website behave the way she wants, she can master the problem by finding people and resources that empower her to solve the problem.
Living a happy and successful life requires help, and the willingness to ask for it. The highest performing students are often the ones who seek the most guidance from their teachers and collaborate the most with other students. Success if rarely earned solo, and coding is a great way to learn that lesson.
Coding is the Future
In the future, coding skills won’t just apply to engineers, and even today, coding skills empower every occupation. At its core, coding is teaching a machine to obey a human. What a fantastic thought! Do machines help coffee shops keep track of their inventory? Do machines help accountants spot losses? Do machines help nurses administer medicine? Do machines help shirt makers produce thousands of copies of the same design? Imagine if a shirt company had to recreate a shirt design for every shirt they printed. That shirt company wouldn’t last long.
Computers are simply digital machines that can perform more than one function. Code tells them what to do. You may have heard the old saying, “but we’ll always need garbage men!” sometimes proclaimed as a way to justify the false notion that every child doesn’t need a quality education.
News flash! We won’t always need garbage men. Do we still need oxen to pull plows? Do we still need to blast holes through mountains to carry people from east to west? Nope. We invented tractors. We invented airplanes. And today… tractors are driving themselves using GPS, and commercial jets are flown by computers except at landing and takeoff, and even that will soon be automated.
Coding empowers musicians to build platforms to share their music. Coding empowers graphic designers to display their works to the world. It enables therapists to work with clients in other countries. It enables farmers to do their own taxes while their tractor harvests their crops.
You may be thinking, “But don’t software engineers build all of the things that do that?” That’s only partially true. As the saying goes, “necessity is the mother of invention”. The people best equipped to invent something that solves a problem are usually the people experiencing the problem. Learning to code empowers kids to create solutions to their own problems regardless of what field they are in.
Even if your child will never write code that solves problems, learning to code will allow them to understand the automated world they live in. There is value to understanding your environment, even if you didn’t create it. Understanding your environment allows you to interact with it in a confident way, and helps you to adjust to changes that you encounter.
For people who know how coding works, the world of the future won’t be an intimidating place that no one can understand. Instead, it will be an exciting place where computers work for humans and free us to focus on the activities we value most.
Coding Teaches Work Ethic and Perseverance
World needs finishers. Coding teaches kids to work hard to achieve a goal. Learning to code presents challenges and struggles, but it does so in a progressive fashion. Children start out with simple tasks that are easy to comprehend and progress to more challenging tasks. As they acquire the skills to produce great things, they are empowered to set goals and envision things they want to create.
When kids set their mind on completing a project that involves code, they are also taking on the series of small tasks and difficulties that will make up the project. Coding teaches them that if they work hard and complete these small tasks, there will be an outcome. Early in the process of learning to code, kids are presented with smaller projects with fewer tasks and faster payoff. Completing these tasks helps them to develop perseverance in stages.
As kids write code to conquer smaller challenges, they move on to larger and larger challenges. Without even realizing it, your child develops into someone who can set a big goal and break it into smaller pieces, attacking the pieces in a logical order and putting them together, eventually achieving his or her goal.
From Consumers to Creators
“Screen time” is a common phrase in many households. Parents work to limit how much time their children spend in front of a device. The majority of kids spend most of their screen time consuming. YouTube is eating up a massive piece of that consumption pie. While YouTube and other sites do offer valuable content and learning, many of the best lessons are learned by doing.
Learning to code is an opportunity to create something during screen time. One of the aspects of coding that excites kids is that with code, they can create things for other people to consume and interact with. As consumers of digital content, kids are learning about what others have created. They already have a strong knowledge-base in consumer content that will equip them to imagine the things they can create if they learn to code.
Creating things with code offers a new appreciation for the time and effort that goes into making all the content they consume. They develop the ability to imagine the other side of that video or website, envisioning what the developer did to make the experience possible.
Coding Builds a Global Perspective
Technology is connecting people from all parts of the world in new ways. This process isn’t new. In the past, ships connected the continents. Later, telegraph machines enabled rapid communication across long distances. What is new is the rate of progress. Our connectivity is increasing at an alarming rate, but so is the democratization of access.
When the “internet” was created, it was a way for military computers to talk to each other across long distances. Today, nearly anyone can have a face-to-face conversation with anyone else in the world at any moment. Technology may not be universally available to everyone, but the idea that living in a connected world is for the wealthy is nonsense. In fact, the United States doesn’t even break into the top 10 in the world for smartphone market penetration.
“In fifteen years we’ll be teaching programming like reading and writing…and wondering why we didn’t do it sooner.” – Mark Zuckerberg
Just as computers enable people all over the world to interact, coding enables people to share their creations with the world. It would be extremely difficult and expensive for your child to make 1000 paper books and mail them to children on another continent. But what if she published the book on her own website and posted a link on worldwide social media platforms? That can literally be done for free!
With access to the world, kids also learn that they can solve global problems. Kids can create ways to inform others about issues they care about, build platforms that help people, and facilitate a global sense of community. Platforms enable people to connect with loved ones across the world, send clean water where it’s most needed, and share ways to lower pollution and waste in communities.
If our kids learn to code, we empower them to create things with code and equip them to change the world before they even graduate from high school!