When Hadi Partovi was ten, his father brought home a Commodore 64, one of the earliest types of personal computers. The computer had no games, no real activities; but his father handed him a coding manual and told him and his twin brother if they could figure out the code, they were free to design their own games.
At the time, Partovi lived in Teheran during a turbulent period: the overthrow of the Shah of Iran, the Islamic Revolution, and an eventual war with Iraq. During these years when he and his family spent countless hours in the basement taking protection from Saddam Hussein’s bombing campaign, he and his brother learned code. Eventually, when his family immigrated to the U.S., Partovi was proficient enough in code to become a computer programmer and paid his own way through Harvard University, graduated with a job offer from Microsoft and then went on to develop his own seed companies. It’s a “rags to riches” story, a perfect illustration of the American Dream. It also illustrates the power of giving kids the right tools when learning is ripe. Coding, computer science too, are important tools for kids to learn. Partovi agrees and is working hard to get computer science taught in every U.S. school.
Partovi’s story isn’t unusual. Look at any leader in the high-tech industry and most will tell you how coding was a transformative learning experience. It was a tool that changed the way they thought about the world. It served as a tool of creation, a way each was able to create and transform a bit of reality.
Research backs up the benefits of coding for kids especially in the classroom. Kids who learn coding and programming logic are better problem solvers, have stronger analytical reasoning skills, and become more involved, inquisitive learners and have a drive to construct knowledge. It’s also a STEM discipline, one that teaches kids how the internet works, how many systems they rely on function. It’s also a skill critical for a global economy driven by technology.
Why not wait for schools to provide coding for kids? Well, there’s a problem. According to Code.org, Partovi’s nonprofit, less than 10 percent of U.S. schools offer AP computer science, and many schools are unable or unwilling to change curriculum because experienced teachers and change costs money. As a result only 25 states in the U.S. count computer science courses toward graduation. Code.org is working to change those statistics but in the meantime, you shouldn’t wait for programming to come to a school near you
Sure, as a concerned parent, you can write and call your state’s department of education, but change comes slowly. Your best bet is to introduce coding and computer science introductory courses right in your own home.
There are a wide range of online programs that teach coding, some of them free. A good first step is to sign up at Partovi’s Code.org, look through the site, and try out the Hour of Code challenge. Yes, as a parent, try it out. It’s fun, easy, and teaches basic code through the “drag and drop” method. Essentially, the code is prepackaged with action labels. If you want a certain action, you select one of the code packages, move it to the field, and drop it in place. Visually, it makes coding much easier but you can see what each string of code is meant to do.
Next, have your child try it out. The site has a wide range of exercises for all ages that teach the mechanics of coding, all for free. There is also a 20-hour intro coding course for all ages. After playing on this site, you should feel inspired to check out other coding apps and programs.
Scratch: The makers label this game for players aged 8 through 16. The truth is, it’s enjoyable and beneficial for anyone just learning how to code can benefit from Scratch. Designed and maintained by the Lifelong Kindergarten group at the MIT Media Lab, Scratch uses the drag and drop method, and allows kids to design interactive games, stories, and animation. Scratch has a step-by-step guide, a downloadable User’s Manual, and Scratch Cards which are mini-lessons kids can follow to create simple subroutines. And the best part? Your child can share his creation with other kids in the Scratch online community.
Stencyl: Similar to Scratch, Stencyl promotes itself as coding without the syntax. But don’t be fooled. Kids who learn the mechanics of Stencyl are learning programming logic. It also uses the drag and drop method and is so intuitive that younger children can benefit. While basic games are free, any advanced exercises must be purchased but this game has multi-platform capability.
Khan Academy: I am a big proponent of Khan, have written extensively about his service, and recommend his videos to my students. The site houses over 2,400 videos on nearly every subject including basic programming and computer science. The instructor goes over concepts, demonstrates them on a whiteboard platform, and guides the viewer with step-by-step methodology.
Hackety Hack: You have to download from the site to your computer. But afterwards, your kids can learn about Ruby, an open-source programming code.
Minecraft: It’s the programming game we parents love to hate and it has quite a cult-like following. Fundamentally, the game is about building and breaking structures. But the game has educational benefits that even teachers recognize and use in the classroom. In the Minecraft domains, kids create, and test boundaries in ways not possible in the real world. They solve problems, use analytical reasoning, and benefit through the interactive community. Gamers who have mastered Minecraft post interactive Youtube videos and give “cheats” to wanna-be programmers. If you haven’t heard of Stampylongnose, don’t worry. You will. Joking aside, Minecraft does offer educational benefits in this Lego-world-like, drag and drop game. Disadvantages? It’s not free, you must download and confirm the application before using it, and sometimes it kicks the user into demo mode.
If your child uses an iPad or tablet, check out the best coding apps in this comprehensive article by Vicki Davis, computer science and IT Integrator,
When choosing a coding game for your child, consider your child’s level, cognitive abilities, and your own tastes values, and educational outcomes you’d like to achieve. If you’re unsure, ask the technology specialist at your child’s school, other parents, educational/parenting magazines, or technology publications. Whatever you choose, know that exposing your child to coding and computer science isn’t just a prudent decision. It’s an investment in the future.