10 Tools To Get Kids Excited About Programming

Lim Ding Wen   10 Tools To Get Kids Excited About ProgrammingPrecocious. That was the single adjective used to describe a child displaying some natural talent straying from the normal. A generational leap later, I am not so sure that the word holds the meaning it used to. Every second toddler these days seems to display a natural likeness for things digital. So, it is easy to assume that they will take to computers as a fish takes to water.

For the average kid (I won’t talk about someone like Lim Ding Wen here, though I will use his cute photo as the thumbnail alongside), computers and smartphones are fun tools. Education comes much later. Getting a kid excited about programming might take some doing because logic needs a bit of time to develop. It is imagination and creativity which arrive first. That’s where the crux of these ten tools lie…using creative tools to get children excited about programming.

Just to illustrate the potential of creative teaching that should help to light the fire, here’s a TED Talk by Conrad Wolfram. Slightly unrelated, but do watch it to understand why kids (once, you and me too) lose interest in mathematics. It will also explain the dire need to take instructions out of their rigid strictures and throw them into the real world and everyday living. He advocates using programming to teach math. And thus, make it more fun, instead of forcing them to learn a subject.

10 Tools That Should Help With Learning Programming Creatively

From games to programming tools, from logic to intuition, let’s take a gander at ten tools that should help to show that programming is not all about functions and loops. Here are the honorable mentions (restricted to ten programming tools).

Crunchzilla Code Monster

programming tools kids01   10 Tools To Get Kids Excited About Programming

Learn cool things about: JavaScript

Crunchzilla Code Monster was designed for kids (by Greg Linden, who wanted his kids to learn programming). It is sort of like a barebones WYSIWYG editor with one pane for code and the other pane for looking at what the code does. The Code Monster on top is a friendly ogre who leads everyone along from one lesson to the other. There are 59 lessons in all. You have to keep clicking the speech bubble to move from one to the next. The lessons start easy and are interactive. Variables and parameters are introduced and the colorful objects like boxes and trees are created with JavaScript code. Errors are also caught and explained. Code Monster saves what lesson you are on, so you can stop any time and come back later. As long as you come back on the same browser on the same machine, you’ll get back to your lesson.

What a child might like: JavaScript on the left yes, but simple graphics are created on the right as if by ‘magic’.  A kid learning programming just has to play with the code to see instant colorful results on the right.

Logo

programming tools kids02   10 Tools To Get Kids Excited About Programming

Learn cool things about: Control structures in programming with the help of basic datatypes like words, lists, and arrays.

Logo is one of the oldest educational programming languages. It was created in 1967 for educational use and can be used to teach the basic of computer science. It is well known for its implementation of Turtle Graphics. From its early days, it has evolved and branched out into different versions for all operating systems. For instance, Elica is a Windows implementation which advances Logo into areas of 3d animation. The Turtle Academy is a nice resource for some hands on learning with this functional programming language. There are many resources like Turtle Logo and FMSLogo to tap into.

What a child might like: Teaching the turtle with movement and location commands to draw basic shapes and line graphics.

Scratch

Learn cool things about: Visual interactivity without learning programming syntax.

You cannot argue with 3,000,000 documented projects. Scratch has a worldwide community to boast of and therein lies the richness of learning. With Scratch, you can create interactive stories, animations, and even games. Here, let me direct you to a previous in-depth look into Scratch and just why kids might love it.

What a child might like: The scope to imagine things without learning about complicated programming concepts. Just drag and drop the sprites.

EToys

programming tools kids03   10 Tools To Get Kids Excited About Programming

Learn cool things about: Object oriented concepts with programmable scripts.

EToys is similar to Scratch in that it is a media enriched visual tool for creating cool computer programs. The idea behind the project is to foster creative and critical thinking. EToys runs as a standalone program and also in browsers (with the plug-in) across all platforms. EToys is extensible globally because it is available in several languages and is Open Source. Interestingly, it was first developed at Apple and has been universally used in the One Laptop per Child project.

What a child might like: 2D and 3D graphics supported by text, images, and sound files which can be made interactive and combined with help of easy scripts.

Waterbear

programming tools kids04   10 Tools To Get Kids Excited About Programming

Learn cool things about: Programmable scripts and how a program flows from one step to the next.

Waterbear is a recent development, and was inspired by Scratch. It is similar to Scratch in its visual approach to drag and drop objects (script blocks) and understand the program flow. In the backend, it generates JavaScript but the child does not have to know the syntax. The child has to provide the logic via parameters to assemble the blocks of the program though. One of the differences with Scratch is that the learning environment is the browser instead of a downloadable authoring environment. Waterbear is still not polished (pre-Alpha), but if you are looking for a Scratch alternative, it is worth a try.

What a child might like:  Drag and drop script blocks in the browser. Script blocks are described in simple English.

ToonTalk

programming tools kids05   10 Tools To Get Kids Excited About Programming

Learn cool things about:

The programming environment has the fun element with cartoons and animated characters. The full version is a 126 MB free download and runs on all versions of Windows and Mac (with Virtual PC). The site expresses it best – Inside of ToonTalk’s animated world you will build and run all sorts of computer programs. While learning how to program you will face challenging puzzles, express your creativity, learn new ways to solve problems, and have loads of fun!

ToonTalk version 3.0 is now free.

What a child might like: Play the puzzle games to see how things are built on ToonTalk.

Cargo-Bot

Learn cool things about: How solving a puzzle in the most efficient way develops structured thinking.

Today, it’s more likely a kid will have an iPad in his hand rather than a laptop. Cargo -Bot is actually a free iPad puzzle and logic game which was developed on Codea. You have to ‘teach’ a robot arm on a platform how to move a bunch of crates across 36 different puzzles. Cargo-Bot is more about logic rather than pure programming. But if you succeed (and it is not easy to do so), you will have learnt a lot about structured thinking. Codea itself is a recommended app if you want to learn about developing apps for iOS. It’s a $9.99 investment which should give a return in knowledge if not anything else.

What a child might like: It’s a game that teaches programming without the child realizing it.

Ruby for Kids

programming tools kids06   10 Tools To Get Kids Excited About Programming

Learn cool things about: Ruby.

If you want to make your child learn a specific programming language, Ruby is a good choice. It is an object oriented language and a majority of web apps (e.g. Amazon and Twitter) are also coded with it. It is a simple language because the syntax is comparatively intuitive and has fewer command calls. It works on all operating systems and is free. There is also a huge community out there teaching and learning the language. The screencast tutorials, games, and examples at Ruby for Kids should be a firm stepping stone for adults and kids alike.

What a child might like How you can use Ruby to develop web games.

Raspberry Pi

programming tools kids07   10 Tools To Get Kids Excited About Programming

Learn cool things about: Learn computer programming the old fashioned way; by also understanding the hardware.

For those who came in late, Raspberry Pi is a credit-card sized computer that can be programmed to be used just like a desktop PC. It was developed as a low cost solution to teach computer science at schools. Raspberry Pi has many interesting uses and every day the community behind it comes up with a novel one. The Raspberry Pi platform uses Open Source hardware and software and is perfectly placed for young geeky minds to exploit them to the hilt. But how is it being used in schools currently? The Raspberry Foundation site gives us a few clues.

What a child might like: How about learning how to program in an hour?

RoboMind

programming tools kids08   10 Tools To Get Kids Excited About Programming

Learn cool things about: How to program a robot and thus the basics of robotics.

RoboMind is a programming and educational tool with its own scripting language called ROBO. The compact and simple language does not require prior knowledge. The programming objective is to make a virtual robot move around on a two-dimensional grid and exhibit simple actions.  It teaches the learner the common principles of programming that can be applied anywhere. It is available as a free download for Windows, Mac OS X, and Linux.

What a child might like: Learning the basics of artificial intelligence and later using it on real world robots like the kits available from LEGO Mindstorms NXT 2.0.

Teaching kids how to code and program is pretty much a part of edutainment now. For today’s society, it is important that its citizens learn to look beyond the comfort of applications and appliances and understand how they really work. We know how to use computers, but we should also know how to program them. So, at stake is all the innovation that has yet to happen. As this in-depth CNN article says, “computer class” can’t be about teaching kids to use today’s software; it must be about teaching kids to make tomorrow’s software.

Do you agree?

The comments were closed because the article is more than 180 days old.

If you have any questions related to what's mentioned in the article or need help with any computer issue, ask it on MakeUseOf Answers—We and our community will be more than happy to help.

51 Comments -

Macwitty

I agree!
Then this sites might not only be for kids. For all who have not been in to programming they can be a good start. Maybe a bit less frightening as the theme is a bit “childish”

Saikat Basu

Second that. The underlying theme is “fun”, and who said that only children can have that :)

Yiz Borol

Pretty cool,RPi is awesome!

Nohl Lyons

This is such a great idea. Even adults who have found the idea of programming to be daunting might find this as a great way get acquainted with programming.

Clarence Nortan

Awesome I agree These sites are definitely not for kids alone I know a lot that are going to be happy whit the link about this.

Vinh

It would have been nice to have these tools when I was a kid!

Saikat Basu

Oh yes…but then it would have been nicer to have today’s Web 2.0 and computers back then too :)

Anonymous

true… even adults (very little Programming Knowledge) can learn basic programming by using these apps

Anonymous

I think code academy needs a mention for teens to learn as well.

Lisa Santika Onggrid

Codecademy is not spesificallt built for children and it lacks the colorful graphics (although it’s still a nice and friendly tutor). I think that’s why it’s not mentioned here.

Saikat Basu

Yes Lisa, that is the precise reason why I didn’t mention it here, though it is a fantastic learning resource.

Anonymous

My grandsons will relish this.thanks

Lisa Santika Onggrid

I love CargoBot. It’s easy to lost the flow of time playing it. Watching the blocks moved from one stack to another, it’s highly addictive.
Codecademy is also exciting, though it lacks cartoon graphics because it wasn’t spesifically built for children.

Thomas Petrucha

As a programmer I agree ;)
Some nice tools … I love the speech about math.

Saikat Basu

Glad you liked it. I was afraid no one will get the point of it :)

Douglas Mutay

:-) it was meant to be for kids, but I have found myself really enjoying Code monster on crunchzilla.com!!! ;-)
Thanks a million

Ron Lister

Pretty awesome, my kids would love that.

Anonymous

Agree. but how to motivate kids to program will be separate story.

Saikat Basu

That’s where the fun element comes in. We need to highlight that and hope the kid finds it all on his own after that.

Charles Orlando

The motivation will come incrementally and as a way for children looking to distinguish themselves while crossing over to adulthood. See my post below (12/21/12)

Aryan Vaid

This is great article. Even adults can use when they are just beginners

Shmuel Mendelsohn

Thanks to technology my kids can barely spell (TTYL, ROFL, LOL, etc.) but I see that there is hope for my grandchildren! Thanks for an informative article!

Saikat Basu

Ha..ha..so true. But I wonder how our grandchildren will be communicating.

Rebecca Hersh

I teach middle school computers and use Scratch with my students. I think it’s a great way to get them thinking about programming. Might try to incorporate some of these other tools as well, though I worry that too many “kid languages” might become confusing.

Ken Gaming

C++ for kids?

Hari

Codeacademy.org is one of the first for JavaScript/HTML and now covers Python and Ruby too. I just started teaching JS to my 9 yr. old and some of these other tools will come of use, thanks!

Sean

Interesting that you miss Kodu out of this…http://www.kodugamelab.com/

Saikat Basu

Hey, this is a good one. Thanks for the link.

Chew Jian Yue

C# for kids?

Anonymous

Add one to your list: Karel the dog!

At CodeHS we teach kids how to program with karel the dog who can move around his world and put down tennis balls. Karel only knows four commands: move, putBall, takeBall, and turnLeft.

It’s worth checking out and adding to your list– I promise that you’ll think karel is fun. http://codehs.com

Saikat Basu

Thanks for the link. Though, I haven’t gone deeper, the free trial seems very basic.

Walter Askew

Good info, I have been looking for something like this for my 8 year old.

Nikhil Chandak

thanks for the websites

Angello G

Before you start involving your kid with programming, why not ask yourself will this make the kid`s future life happier or not, what professional diseases will it get, how it`s social life will get hurt (because of hour spent with computer instead of a friend/girlfriend) and will the programming profession allow for it to get pensioned here (and not fired long before that) ?
Look at the picture of the kid at the top of the page. He already has hurt his eyes, so he needs glasses to see. Others get overweight because of not moving but staying infront of the monitor. Do you know why in the statistics since 1980`s the count of overweight people rose so rapidly ? It`s because the personal computer (PC) was invented.
Programming is easily outsourced to the countries with lowest salaries (India,China) to keep the programmer sallaries low. If your kid becomes a hair stylist for example, it`s job can not be outsourced from a developing country, so it gets more chances for less stressful life.

Saikat Basu

A very valid argument. But you are assuming here that the kid in the photo hurt his eyes because of working with computers. I have been wearing spectacles since I was 10, and I didn’t need a TV or a computer to cause that. It was books.

Obesity is not only related to sedentary habits but also to other factors. Double income households is also one of the factors. Statistics often hide even as they try to reveal. Would you have your child watching TV rather than working intelligently on a computer?

We live in the digital age and that is a fact — whether we accept it or not. Education is now highly digital. History has also repeatedly shown that humans have an infinite capacity to surprise. Children are often intuitive enough to pick up what they like, whether that is a laptop or a baseball bat. It’s our job as parents to direct them to what they like so that they can fulfill their potential. These are tools — it’s use depends on us.

Charles Orlando

I agree, but more specifically, we should remember that as computing technology becomes more and more integrated with our daily lives, kids will follow the various prompts (parents, ads, friends, a serious desire to be different for the sake of being different – am I self disclosing?) that they choose towards the activities they are interested in – where ever those activities lie. We have every reason to believe, and in fact it can already be seen, that technology will enable people to do what they want, out-of-doors or in. Specific examples upon request. (trying to keep it short)

Ryszard Grodzicki

Let’s be honest, almost all kids spend free time playing games, so it’s better to spend it learning.
And second thing – knowledge doesn’t hurt. Not all the things you learn must be useful in your job.

Charles Orlando

The idea that programming is going to stay a separate part of technology use is like asking where the bus is going when you’re already on it. The fact is that ‘programming’ became socially necessary as soon as product developers needed to sell us options that they couldn’t include as automation – ie: the VCR! How many of here had to show our parents how to program their VCRs so they wouldn’t have to miss a show. Reading and writing, basic math and machine interface all have a growth cycle where they start out as cryptic or elite, then become more accepted and end up as common place. We easily forget that 150 years ago, the vast majority of humans made their way through life with a minimum or no ammount of reading or math skills. Now its common place and expected for the majority of humans on Earth. Programming is going to evolve (I mean steered by us) to meet us half way, and then everyone will do it in one way or another. The genius of graphic-puzzle fit programming edu tools is that the LANGUAGE will be retained after the need for graphics (think training wheels) goes away. All the items mentioned in the article are useful and innovative, but keep your eye on the trending – this will have a life of its own.

brendon

how do you get these programs are they free? i cant find em anywhere

Martyn Eggleton

Waterbear is free (it is also open source), you can use it here http://waterbearlang.com/ . And there are bunch of people working on making it work with lots of different languages and situations. It does browser based animations and links to facebook etc. but also ardunio, lua and java based robotics / physical computing systems are in heavy development. And it writes real code (click the ‘Script Text’ button ) so kids can start to learn how to code by hand as well.

Tanim Istiaque

I could use them, I’m like a kid at programming

Tech Nech

These tools are also useful for beginner programmers! They can learn alot from them.

Steven He

I’m going to do this during the break.

Richard Matthews

I still think everyone doesn’t get it. This is a good start but if we are really keen on getting kids to learn mathematics and programming then we need to stop developing tools to educate the 12-18yo age bracket and start focusing on the 5-12 group.

I have two boys. My 2yo can successfully navigate my iPhone and iPad to play games and even ring his Nana when asked to. My 6 yo is showing an aptitude towards mathematics, science and other problem solving applications and yet on his report card his is satisfactory for science as he “is distracted easily”. The fact that he understands the concept of Atoms and Einstein’s special relativity demonstrates that he has the skills and is just not being guided properly.

I know for a fact my 6 year old would run with programming as I did at such a young age (recall visual basic 4, how to book and illicit slot machines programmed by a 5 year old.) The issue is none of these interfaces are aimed at kids his age. If we are serious about educating our youth we would latch on the interest they show at the young preschool-junior primary age. If we wait till they are in middle or senior primary the system may have educated that passion out.

Charles Orlando

I agree, R.M., but I would consider two things. First, that in many cases, exposure to high-level sciences and rigid, advanced math and language studies doesn’t help kids like we want to believe. Kids need to be kids. If however, you’re talking about incorporating the ideas and functionality into the activities that kids already want to pursue, then look around because its already happening.

Second, I see technological mastery, among other aspects, as a timely, almost trendy mistress. On the one hand, if you don’t stay current, you can wind up left behind. But, for children, I think that involving them in a certain methodology at an early age can inhibit their potential absorption and proficiency later. Programming languages change faster today than they ever did and kids may not have the capabilities needed to extract the fundamentals ‘now’ and then re-apply them ‘later’.

I’m not saying that we shouldn’t be competitive. I’m saying that the best competition comes from healthy, balanced kids that grow into healthy, balanced adults. These kinds of people are statistically more flexible than early power-learners and that is where the ability to use comes from. The basics will always be the same – input->output. But the interfaces, the language, the structure, the architecture, these are as fickle as the gadget market that drives them. That’s what makes the abstract nature of some of the programs mentioned in the article so useful. It’s the nonspecific nature of the program that allows the kids to see past it and realize and own the fundamentals. They can learn HTML 12 next year.

Efi Dreyshner

Thanks!
Maybe my brother will agree to learn a little bit programming ;)

BTW, “Ruby for Kids” is wonderful tool for kids.
Ruby is very powerful and useful. Personally, Ruby was my first programming language :D

Anonymous

Wonderful article! Too bad I don’t have kids! haha

Ihtisham ul haq haq

nice article for kids as well as who are keen to learn programming.

Suresh Volam

Thank you for sharing an excellent topic.

Car accident attorney Austin

The information mentioned in the article are some of the best available

Yann Caron

Hello Shaikat,

I have just developped an application with this purpose called Algoid.
https://play.google.com/store/apps/details?id=fr.cyann.algoid

Please, can you try it ?

Thanks in advance and I wish you a nice afternoon.