9 Fun Tools For Teaching Kids To Code
Young people should learn to code. Young people should also have fun. Here are nine systems, programs, and websites that will help you help them do both.
![](https://eu-images.contentstack.com/v3/assets/blt69509c9116440be8/blt2b8d59e902f7db03/64cb41bf08976deb3d184b98/coder-girl-iStock_5916857.jpg?width=700&auto=webp&quality=80&disable=upscale)
In his keynote address at Apple's WWDC 2016, CEO Tim Cook said computer programming should be taught in schools as a language. This was his lead-in to the introduction of Swift Playgrounds, a game-based system for learning basic and advanced coding in Swift, Apple's language for development on all of its platforms.
Some wags have suggested that Cook is leading Apple to play the Long Game: Make sure that young people learn to code for Apple platforms and it becomes likely there will be a stream of applications available in the future. Whether or not you think Apple's new (and free) programming education system is a cynical ploy to get more developers, it's hard to argue against giving young people tools to help them learn programming.
If you want to encourage the next generation of programmers, or if you want to improve your own coding skills and know you'll do better if it's fun, we have you covered with our list of nine platforms and websites. There are different languages, from Swift to Ruby, different approaches, and different ways of having fun, but each one of these teaches programming skills in a fun and effective way.
When I learned to program, fun was the very last thing on our minds. When I first taught children to program, though, the curriculum started with building a simple game on an Apple II. Fun works as a motivator, and I'm encouraged by each of the options featured here.
Once you've reviewed the list, tell me which ones seem the best fit for someone you know -- and why. Do you see one here you'd like to try yourself? Let me know -- and share any fun-based programming teachers I've missed -- in the comments section below.
Swift is the language most programmers use to create apps for iOS and applications for the Mac. I've written about learning to program with Swift before, but there's never been anything for Swift quite like Swift Playgrounds.
Swift Playgrounds is an iOS app to help someone learn how to program by letting them guide a character through a world, then expand their world, and finally create their own worlds and games. The graphics are lovely, the progression seems logical (the full app won't be available until fall), and the code is quite real. In fact, Apple said users will be able to share code and move code from Swift Playgrounds to XCode for further development. If you have a young person who keeps an iPad in his or her lap during trips, consider adding Swift Playgrounds to their entertainment options.
Minecraft is, arguably, the most widely used programming education tool in the world. It has been downloaded more than 40 million times, has complete school curricula built around its use, and has taught millions of people how to turn their thoughts into computer action. All this with some of the most recognizably blocky graphics ever.
In Minecraft, you discover the contents of a world and build things for the world. There isn't a set script for winning -- there's only a lot of exploration and building, with achievement points earned for each task. Minecraft isn't free, but it's inexpensive, with a basic cost of $26.95. It's something you and your child can play together, or with all your friends. Oh, and since 2014 Minecraft has been owned by Microsoft. Take that, Apple.
In 1989, Lego introduced Lego Mindstorms, a programmable controller for the Lego brick building system. For the first time, builders had a consistent way to add controlled actions to their Lego creations. Since then, Mindstorms has been used by programmers, from preschool to professional, to create everything from on-screen adventures to complex robotic machines.
Lego Mindstorms is so popular, the company has created widely used versions for education. If you want to have fun with someone, learn to program an embedded system, and have the opportunity to join one of the largest, nerdiest technology cultures ever, you'll have trouble doing better than Lego Mindstorms.
I've written quite a bit about the Arduino family of micro-controllers. The language is simple enough to be learned by very young children; the programming interface is clean and easy to use; and there is something magical about typing a command on a keyboard and seeing it translated into action in the physical world. Researching educational projects can take you down a rabbit hole into which you could easily lose an entire day's productivity. Save your time. Instead, head off, have fun, and sit down with a little person to build something interesting with Arduino while teaching lessons in how programming works.
When you set out to develop a language and environment for teaching children to code, you can create something highly pedantic, or you can create something fun. Scratch is fun. Developed at MIT in a process involving a lot of back-and-forth with the UK-based Code Clubs, Scratch is a colorful environment combining programming concepts with the ability to make on-screen objects immediately do your bidding. It's a great combination for getting kids interested and keeping their attention.
Scratch is free and has a substantial online community that's sharing projects and advice. If you want to get more formal in your coding pedagogy, there's even a Harvard-based Scratch education group to help with lesson plans, advisors, and other tools for educators and educational institutions.
When you ask IT professionals to recommend languages people should learn, HTML often pops up near the top of the list. It's not a language meant to control payroll systems or assembly lines, but websites have become the way most of us receive and share information. HTML, in one version or another, is how we make websites. The Mozilla Foundation built Thimble, an online editor and educator for website creation and learning HTML, CSS, and JavaScript. It provides immediate feedback and gives you a very easy interface.
If you've ever watched a few hours of Nickelodeon, you know young people see things differently. At the site Lissa Explains It All, for example, the color palate could make a grown-up's eyes bleed, but it's perfect for kids.
Lissa has been explaining HTML programming to kids for more than a decade. The site includes help files, projects, and tutorials. If the young person in your life is a tween or younger, this could be the perfect way to introduce him or her to website building.
A lot of sites and programs for teaching kids to code feature HTML, something C-like, or a simplified embedded language. Kids Ruby skips all of those to function on, well, Ruby. This is a useful language with applications in the real world, so having a kid learn Ruby is one of those things with potential to reach far into the future.
Now, it appears that the development of Kids Ruby trailed off a couple of years ago, but it still works well and it's still free. If you know a youngster who has expressed an interest in coding, the site is definitely worth a look.
If you like the idea of code education designed by educators and used by schools, then CodeMonkey is for you. CodeMonkey uses a game approach to teach HTML5 programming, logically building skill on skill while keeping the entertainment value high to keep kids interested.
CodeMonkey isn't free, but an individual subscription is inexpensive. There are even versions for home school and classroom users. This is serious pedagogy with a fun, colorful wrapper.
So there you have nine ways to get young people (or those young at heart) to learn how to code or improve their coding skills.
It's hard to argue against teaching kids this skill -- the real question is how to build their capabilities without turning them off. Pick a program (or set of building blocks), find a young person, and get started. You'll learn more than you know while you help them, and it might even bring you closer together. That's a program everyone can get behind.
So there you have nine ways to get young people (or those young at heart) to learn how to code or improve their coding skills.
It's hard to argue against teaching kids this skill -- the real question is how to build their capabilities without turning them off. Pick a program (or set of building blocks), find a young person, and get started. You'll learn more than you know while you help them, and it might even bring you closer together. That's a program everyone can get behind.
-
About the Author(s)
You May Also Like