I met Keren on Twitter and asked her to guest post because I have an inkling that my youngest might be a video game developer one day. He has all the accouterments of a coder. He plays soccer so he should be able to do the hackysack and ultimate frisbee thing. His classical guitar teacher has declared him a rocker and he wants to learn drums next. From a user perspective, he certainly is qualified! He finished all the levels of Angry Birds a year ago and now spends hours on Minecraft among dozens of other games. M.I.T. is near us and they have a summer day camp for kids to learn Scratch. I think my youngest would love that.
I also think it’s important to get girls exposed to STEM (Science, Technology, Engineering, and Math). Grasshopper and Sensei, my rising 7th grader, detest math but even she learned how to create a video game at camp last summer using an object-oriented program. And, she actually enjoyed it.
So it was for my own selfish reasons that I requested this post from Keren. Thank you Keren! I hope you, my readers, find it as helpful as I do. Do you think your kids will want to learn to code? Do you want them to learn?
Why Kids Should Learn to Code
Learning to code is a huge opportunity for kids of all ages: coding teaches problem-solving, gives a leg up in the job search, and even helps kids connect over a shared passion.
Programming, at its base, is about logic and reasoning. Kids will learn to solve problems of syntax and figure out how to say exactly what they mean, concisely, in learning to code. Coding teaches kids not to be afraid of experimentation. And, as many programmers know, code usually doesn’t work the first time, and one must go back to debug and tweak it without letting themselves get discouraged.
Along with an understanding of persistence, learning to code is a skill that can help anyone compete in the modern job market. With a shortage of computer programmers, the need for more developers will not go away anytime soon; it’s today’s kids that will be filling the demand for those jobs. What’s more, computers have a hand in almost every aspect of our daily lives. Thinking “computationally”, as some writers have coined it, is increasingly necessary to cultivate the next generation of Steve Jobs-like self-taught programmers who are not afraid to embrace innovation. Not to mention get paid well for it.
Some parents fear that sitting in front of a computer all day can hinder the social development of kids. While this is a valid point, kids don’t have to be completely consumed by computers to learn to code: everything in moderation, as they say. Plus, many code-learning tools designed for children and adults alike incorporate a social component to learning. Users can share products with each other and improve on other people’s projects. The programming world, in general, is built on a basis of cooperation, with developers improving languages, sharing code, and helping each other to answer questions on sites such as Quora. The Internet, in other words, is not a vacuum.
Other parents who object to the need for students to learn code argue that students don’t need to learn the inner working of a car in order to drive it. Unlike building a car, however, coding is a naturally democratic process: anyone can get their hands on it to give it a try. What’s more, cars have a defined purpose, which is to get someone from one place to another. The power of computers, on the other hand, which perform the most simple task of turning inputs into outputs, knows no bounds
Now, down to the good stuff. Here are the best ways to get your kids an exciting introduction to programming:
1) Scratch is a visual programming language developed for kids ages 6 and up by the MIT Media Lab. The sharing aspect is an important part of the Scratch community, so any of the over 1.7 million projects already created can be downloaded and remixed by any user. Scratch is available for free and runs on MAC, Windows, and Linux Computers.
2) Alice, similar to the visual idea of Scratch, was developed to give an exciting and positive first exposure to computer science based on object-oriented and event-driven programming. Students drag and drop graphic tiles in order to animate an object and create a program.
3) If I could use LEGO Mindstorms myself, I totally would. LEGO, the classic toy for kids (like myself) who wanted to build things rather than host teddy-bear tea parties has come out with a robot that you can program yourself. The robot includes sensors and motors and uses command-box rather than code programming. But if your kid is interested in the classic syntax-based languages, LEGO Mindstorms can be modified to work with third-party languages.
4) For kids a little bit older, Code Avengers teaches Javascript in a fun and interactive way. Similar to the popular Codecademy (which I currently use), Code Avengers takes the same step-by-step approach and goes out of its way to make the experience more student-friendly.
5) CodaKid is an online kids coding academy and tech camp that teaches kids how to use genuine programming languages and professional tools to develop games, applications, and Minecraft mods.
This is a post from Keren Baruch at Grovo.com, a field guide to the Internet where users can find everything from online security video tutorials to netiquette help.
p.s. Related posts:
Cubetto: Coding Toy for Preschoolers!
How to Teach 3rd Grade Boys to Program in Scratch
Follow PragmaticMom’s board Science Fun on Pinterest.
To examine any of the items listed, please click on image of item.
As an Amazon Associate, I earn from qualifying purchases.
BEST #OWNVOICES CHILDREN’S BOOKS: My Favorite Diversity Books for Kids Ages 1-12 is a book that I created to highlight books written by authors who share the same marginalized identity as the characters in their books.
For practicing industry-level languages, you should use Programr.
eg: they just launched a new Java Zone:
http://www.programr.com/practice/programr211_promo_228/node/592
Hi Binoy Castellino,
Thanks so much for your great suggestions!
I’ve been wondering when is a good time to learn how to code. My daughter is now 10–I guess it’s about time! 🙂
Hi Asian Mommy,
I think Scratch might be really fun to learn, especially if you can use it to make video games!
For sure my son will do his father is a programmer 🙂 very nice blog!
mylittlemr.com
Hi Prewchatterly,
Thanks so much!
Hah. I can neither play hacky sack nor frisbee (still to this day, I can’t throw the damn thing) and I don’t play an instrument. I’m not sure what either has to do with programming. =}
I learned to program when I was 9… it was a bit easier to be self-taught when programming in Basic, though. I’ve already started teaching my 6 year old in bits using Logo (another great choice to start to understand how programs are interpreted in steps). I also think CodeYear is a great intro to programming for anyone from middle school on: http://codeyear.com/. Scratch is brilliant, but I have worked with much of the development team in the past, so I’m a bit biased. I can’t imagine why any parent would object to having their kids learn, but programming is not only a lucrative and in-demand career option – it helps develop logical thinking. Good luck to your kids!
Seriously, I way want to try some of these out myself! Similar to this, kids way want to check out Google SketchUp, a free 3D drawing program!
This is a great and unexpected post. I’m intrigued!
I think coding, and logic are a huge part of math curriculum that are missing in our public education. I love when I find people who think the same. 🙂
Hi Laura,
Ditto!!! It’s the best part of blogging!