If you're on this website, you're probably into programming. And if you, like me, are a programmer with kids, you've probably asked yourself, should my child learn programming?
I might be biased—OK, I'm definitely extremely biased—but I'm going to give into my urge to give a one-sided, overly enthusiastic yes. Why? Because programming has provided me with an interesting career that pays well for two decades. So I'm kind of grateful. Thank you, programming!
But there are other reasons. For one, I'm not the only developer who makes a good living. According to the Bureau of Labor, median pay for software developers is $103,560 per year, with demand expected to increase by 24 percent between 2016 and 2026, a growth rate which is significantly faster than that of other occupations. And despite the coming economic downturn most experts are forecasting the coronavirus to cause, web and software development are expected to be among the lightest-hit industries in the country.
So programming is a mighty nice line on the resume, especially in this climate. Just as Matt Warzel, the resumé whisperer at MJW Careers. "These are skills you can give them now that will remain on their resumes for the rest of their lives," he said. "They may not understand why they're learning these things now, but they'll thank you later when they're young adults and have a head start on a lucrative career."
Plus, as Warzel points out, computer programming teaches important life skills, like perseverance, algorithmic thinking and logic. And we could seriously use a new generation of people that thinks more logically, am I right?
So, I've sold you on teaching your kid to code. Here's what you do next.
How to get your kid on board
Just because you think your child should learn code doesn't mean your child will agree. I admit, it doesn't sound as fun as skateboarding or playing Xbox. So here are a few tips for making it sound exciting for your young ones.
Tip 1: Make it Fun!
A good way to get your child excited about programming is to make it entertaining! Instead of starting with the traditional, “Hello World” approach to learning programming, intrigue your children with a curriculum that focuses on fun, engaging projects.
Tip 2: Make it Relatable
Children are more likely to stay interested in something that they can relate to. This is easy to do with coding because so many things, from video games like Minecraft, to movies like Coco, are created with code. Reminding students that they can learn the coding skills necessary to create video games and animation is a great motivator.
Tip 3: Make it Approachable
Introducing programming to young children through lines of syntax-heavy code can make coding seem like a large, unfriendly beast. Starting with a language like Scratch instead, which uses programming with blocks that fit together, makes it easier for kids to focus on the logic and flow of programs.
How do I teach my child to code?
There are a few approaches you can take in teaching kids how to code.
Private classes with well-versed instructors are one of the most conducive ways to not only expose your kids to programming and proficiently develop your children’s coding skills, but also sustain their interest in the subject. After all, if you've taken any courses here at WP Code Camp, think of how helpful it was to have your instructor on the video conference call with you explaining how to do your assignment. Listening to your instructor's thought process as he smashed out line after line of code. Enlightening, right? It will be the same for your young student.
Another way is to gamify learning. Children love to play, and if their assignments feel like a game, they'll show more perseverance. The following are a few services and online apps you can use to help your kiddo stick to the learning plan.
Code.org has been featured by Hour of Code, and it is used by public schools to teach introductory computer science. Code.org’s beginner modules use a visual block interface, while later modules use a text-based interface. Code.org has partnered with Minecraft and Star Wars, often yielding themed projects.
This online app is aimed at older students who are interested in learning text-based languages. Coding exercises are done in the browser, and have automatic accuracy-checking. This closed platform approach prevents students from the full experience of creating their own software, but the curriculum map is well thought out.
Juni offers private online classes for students ages 5-18 via video conference, our students and instructors share a screen. This way, the instructor is with them every step of the way. Students start with Scratch and progress to Python, Java, Web Development, AP Computer Science A, and a training program for the USA Computing Olympiad.
What is the best age to start learning to code?
Students as young as 5 years old can start learning how to code. At this age, it's best to focus on basic problem solving and logic, while introducing foundational concepts like loops and conditionals. It is taught using kid-friendly content that is interesting as well as projects that involve creativity and an interface that isn’t as syntax-heavy. At ages 5-10, students are typically learning how to code using visual block-based interfaces.
What are the best programming languages for kids?
With young students (and even older students), a good place to start building programming skills is a visual block-based interface, such as Scratch. This allows students to learn how to think through a program and form and code logical steps to achieve a goal without having to learn syntax (i.e. worrying about spelling, punctuation, and indentation) at the same time.
When deciding on text-based languages, allow your child’s interests to guide you. For example, if your child is interested in creating a website, a good language to learn would be HTML. If they want to code up a game, they could learn Python or Java.
What kind of computer does my child need to learn to code?
This depends on your child’s interests, your budget and the approach you would like to take. Many online coding platforms, like repl.it, are web-based and only require a high-speed internet connection. Web-based platforms do not require computers with much processing power, which means that they can be run on nearly any computer manufactured within the last few years. Higher-level programming using professional tools requires a Mac, PC or Linux with a recommended 4G of RAM along with a high-speed internet connection.
Why should kids learn to code?
Reason 1: Learning to code builds resilience and creativity
Coding is all about the process, not the outcome.
The process of building software involves planning, testing, debugging, and iterating. The nature of coding involves checking things, piece by piece, and making small improvements until the product matches the vision. It’s okayOK if coders don’t get things right on the first attempt. Even stellar software engineers don’t get things right on the first try. Coding creates a safe environment for making mistakes and trying again.
Coding also allows students to stretch their imagination and build things that they use every day. Instead of just playing someone else’s video game, what if they could build a game of their own? Coding opens the doors to endless possibilities.
Reason 2: Learning to code gives kids the skills they need to bring their ideas to life
Coding isn’t about rote memorization or simple right or wrong answers. It’s about problem-solving. The beautiful thing about learning to problem solve is, once you learn it, you’re able to apply it across any discipline, from engineering to building a business.
Obviously students who learn computer science are able to build amazing video games, apps and websites. But many students report that learning computer science has boosted their performance in their other subjects as well. Computer science has clear ties to math, and has interdisciplinary connections to topics ranging from music to biology to language arts.
Learning computer science helps develop computational thinking. Students learn how to break down problems into manageable parts, observe patterns in data, identify how these patterns are generated, and develop the step-by-step instructions for solving those problems.
Reason 3: Learning to code prepares kids for the economy of the future
According to WIRED magazine, by 2020 there will be 1 million more computer science-related jobs than graduating students qualified to fill them. Computer science is becoming a fundamental part of many cross-disciplinary careers, including those in medicine, art, engineering, business and law.
Many of the most innovative and interesting new companies are tackling traditional careers with new solutions using software. Software products have revolutionized industries, from travel (Kayak, AirBnB and Uber) to law (Rocket Lawyer and LegalZoom). Computing is becoming a cornerstone of products and services around the world, and getting a head start will give your child an added advantage.
Many leading CEOs and founders have built amazing companies after studying computer science. Just take a look at the founders of Google, Facebook and Netflix.
Although computer science is a rigorous and scientific subject, it is also creative and collaborative. Though many computer scientists simply hold the title of Software Engineer or Software Developer, their scope of work is very interesting. Here is a look at some of the work that they do:
- At Facebook, engineers built the first artificial intelligence that can beat professional poker players at 6-player poker.
- At Microsoft, computer programmers built Seeing AI, an app that helps blind people read printed text from their smartphones.
Computer scientists also work as data scientists, who clean, analyze and visualize large datasets. With more and more of our world being encoded as data in a server, this is a very important job. For example, the IRS uncovered $10 billion worth of tax fraud using advanced data analytics and detection algorithms. Programmers also work as video game developers. They specialize in building fun interactive games that reach millions of people around the world, from Fortnite to Minecraft.
All of these career paths and projects require cross-functional collaboration among industry professionals that have a background in programming, even if they hold different titles. Some of these people may be software engineers, data scientists, or video game designers, while others could be systems analysts, hardware engineers, or database administrators.