Saturday, January 16, 2010

Programming for kids

“How can I get my kids started on programming?”

I get asked this question a lot, so I decided to answer it here on the blog for the benefit of any other parents who might be wondering the same.

I can recommend three resources:

1. Scratch:

Scratch is a visual drag-and-drop programming language designed by the MIT labs specifically for children. It has a very easy learning curve so that you can make something happen almost immediately. And yet it is powerful enough for the ambitious programmer to come up with quite sophisticated programs and games.

Highly Recommended. Free.


2. Lego Mindstorms

Mindstorms is not for everyone, but for the older kids who would like to learn about programming while building robots that can sense light, sound, and move about, it is in a class of its own.

Essentially it is a Lego construction kit which is programmable. The standard kit comes with motors to make your robot mobile, and light and sound sensors so that the robots can react to their surroundings.

It also comes with a programming language to program the behavior of the robots you build. So, for instance, you can build and program a robot which reacts to noise by moving away from it, or which moves along  a line on the floor using its light sensor. These are simple examples but you can build some pretty amazing robots with Mindstorms.

Recommended for older kids who like to build things. (Actually also for nerds of all ages).


3. If you are looking for something more mainstream, than you cannot go wrong with the free Microsoft Visual Basic Express Edition to get started with a traditional programming language. There are lots of books and resources to get started with this, but a good starting point is Microsoft’s own Programming for kids website.

Free. Recommended as an entry point for mainstream programming.


Whether or not you or your kids have any ambition of becoming the next Bill Gates or Steve Wozniak, learning to program is a great way to learn about logic, structured thinking and problem solving. Most importantly, it’s just plain fun and a great creative outlet !