Free Programming Tool for Kids

My family spent Saturday afternoon at the American Association for the Advancement of Science (AAAS) Family Day in Boston, where we saw all kinds of great stuff. I’ll post more about the expo a little later, but I want to tell you first about one particularly outstanding product we learned about while there: a free programming interface for kids called Alice.

I’m excited about this program because my 9-year-old has said she wants to learn how to make her own computer games, and we’ve been looking for a child-friendly application to help her learn how to do that. We couldn’t find anything that looked like a 9-year-old programming novice would be able to learn quickly and easily. Half the battle with helping young kids maintain their excitement is to enable them to complete a project in a short period of time (like two hours on the first try). Everything we looked at either had a huge learning curve or would have probably been too difficult for our daughter right now.

And then, Saturday, we just stumbled upon Alice by accident.

Carnegie Mellon developed Alice, a drag-and-drop programming interface that allows you to create 3D worlds in a Java-like language. Sometime this year, a new version (3.0) of Alice will be released which will enable actual Java programming, not Java-like programming.

In the meantime, two versions are available for Windows, Mac, and Linux, standard Alice, designed for high school and college-aged “kids” and Storytelling Alice, for middle school-aged kids. I think even some younger kids will be able to use Storytelling Alice, given that my 7-year-old son sat on my lap this morning and explained to me how he thought it worked. After watching me for a few minutes, he definitely understood the basic idea behind how to build a world and make the characters in it do what we wanted them to do.

Both versions of Alice come with a library of scenes and characters; each character has a handful (or more) of ready-to-use methods (actions), so that if you want your character to walk, run, talk, turn, smile, cry, think, etc., you can just drag that method from a list and drop it into your program. You can also create new methods.

I took the 30-minute tutorial for Storytelling Alice and then spent another 30 minutes playing with the software. In that hour, I learned how to create a new world, add characters to it, and program those characters to do what I wanted them to do. I also learned some programming terminology, like what a method is. I finished a brief movie in about 30 minutes. Not too shabby!

The website also offers free instructional materials, a user forum, additional characters and scenes, and other helpful information. When I have time to play with the tool more, I’ll learn how to do programming loops, “while” statements, and other standard programming thingies (pardon my technical language) that will allow my characters to interact more naturally. Eventually, I suppose I’ll let my daughter have a turn. It was her idea to learn how to program, wasn’t it?

And did I mention that Alice is free?

My only disappointment thus far is with the publishing capability. The “publish as movie” function doesn’t work yet (at least not in Storytelling Alice). And if you publish as an HTML page, anyone who wants to view the page has to have Java, Java 3D, and Java Media Console installed on his/her computer.

Otherwise, Alice rocks. Check it out at

Tags: , , , , , ,


  1. Rick said,

    February 19, 2008 @ 12:25 am

    If you like Alice, try Scratch:

  2. lori said,

    February 19, 2008 @ 7:32 am

    Thank you - I will!

  3. piscesgrrl said,

    March 2, 2008 @ 11:32 pm

    I haven’t heard of Alice - will have to ask my son. When she is ready to move on, my son has found great joy in GameMaker. I believe there’s a free version, then you can decide to pay for an upgrade. He has been using it for a few years now and says it has pretty unlimited potential.

  4. Shez said,

    March 23, 2008 @ 1:45 pm

    I couldn’t have found this post at a more opportune time, thank you. I’ve been wanting to teach some basic programming to my almost 7 year old twins and didn’t know where to start. I think that Storytelling Alice is going to be a good place for us to get started.

    I have added your blog to my google reader as I have been finding your blog most enjoyable reading.

    I hope you don’t mind but I included this post in the 2nd edition of The Carnival of Cool Homeschoolers. . I thought that if I found this information cool, other homeschoolers would as well.

    You have so much to say that is truly interesting. You should consider submitting more posts to the carnival.

    over at Homeschooled Twins

  5. Steph said,

    March 23, 2008 @ 6:11 pm

    Thank you for sharing this resource. I will definitely be checking this out. FREE is my favorite price.

RSS feed for comments on this post · TrackBack URI

Sock it to me