I've been experimenting/playing with programming tools for kids. I've two kids - 8 and 5 year old.
Great multimedia rich introduction to programming for kids. My son keeps playing with it! If you are after ease-of-use, this is probably the best choice. Available for download on Mac and Windows. If you have Squeak installed, you can get Scratch running on Linux as well (possibly with some audio problems). It is possible to export your Scratch projects as applets from your website
EToys is an tool to teach children a multimedia rich authoring environment and visual programming system. If you have OLPC laptop (or emulation environment for OLPC), it comes pre-installed with EToys. Or else you can download EToys for your platform. It is avaliable for Linux, Mac and Windows.
Although StarLogoTNG is described as "tool to create and understand simulations of complex systems", it can be used as a tool to teach programming. It supports 3D and it is cross-platform a (Java) tool.
This is an environment to teach programming in a 3D environment. This is a cross-platform (Java) tool.
Turtle Art activity is bundled with OLPC. If you don't have OLPC, you can use an emulator environment. For example, you can download VirtualBox and run OLPC inside it following the steps here. I run VirtualBox on Mac, Ubuntu and Windows XP.
So far, we looked at visual programming tools. But, if you think it is better to expose to source code ("they have to look at code at somepoint anyway, let them see syntax errors sooner"), then you may want to try these:
"Greenfoot as a combination between a framework for creating two-dimensional grid assignments in Java and an integrated development environment (class browser, editor, compiler, execution, etc.) suitable for novice programmers". This is a cross-platform (Java) tool.
With Bots Inc we can learn how to program robots interactively. Language used to program is Smalltalk (BotsInc is built with Squeak). Since BotsInc is a Squeak image, it possible to slowly graduate to full Smalltalk. It is available on all platforms.
Alice 3 beta is hosted at http://kenai.com/projects/alice/. Alice 3 beta seems to have support to emit NetBeans projects. I've played with Alice 3 Beta - but not yet with NetBeans project support.
I bought a laptop from ELCOT for my sons. It came with SUSE Linux Enterprise Desktop 10 SP2. Kids wanted to see how it is like playing games in the "old" days. Nothing better than seeing and really playing! And so VirtualBox
Also, having access to more than one OS without having to partition does not hurt -- even for a kid's laptop! We can run OLPC, OpenSolaris, Puppy Linux, or anything else!
These days, my son is playing with these (apart from usual game sites):
I guess Chandrayaan I has impressed him a lot!
What is the common between Alice and PhET apart from being great education tools? It is Java! With the advent of JavaFX, we can expect that such fantastic rich GUI applications will be written in JavaFX.
In my previous post, I talked about having to use more than OS for education/entertainment purpose. The problem is that I've quite a few ISO images and LiveCDs with those images. Two problems:
For kids, all they want is the best stuff available across all operating systems. They don't wait for the machine to reboot from another partition or from a LiveCD. Besides, while they can switch between applications easily, restarting a different OS is bit much to ask
[although I won't be surprised if they do that!]. Kids want to switch between interesting applications/games/edutainment stuff rather quickly. Also, we don't seem to get all the good stuff on the same OS! For example, I need to Scratch on Windows or Mac -- no official Linux binary yet
While it is possible to hack to run Scratch on Linux by taking the Squeak image, there are issues with MIDI etc. There are many good stuff in Edubuntu and OLPC too. The point is that you want to run the best set of applications/games across operating systems -- without having to reboot.
This is where Virtualization helps! As Tim Marland said, you don't have to be a hypervisor/virtualization expert to use it. I downloaded VirtualBox for Windows XP [just run .msi file to install] and edubuntu [this later was very easy -- I just to use Add/Remove programs menu and look for "VirtualBox". VirtualBox is very easy to configure -- mostly point-n-click stuff. Now, I can run OLPC, Edubuntu and Belenix on my Windows XP latop without having to partition my hard-disk or rebooting. Kids can switch between their favorite applications across Operating Systems easily. If you are curious how it looks, here are some screen-shots:
When I introduced computers to my kids, as like many other kids they started with games on the net. Mostly playing simple games like tom-and-jerry chase, bob the builder etc. My mother tongue is Tamil and so I came across the kids section of the Tamil Virtual University site.
Then, I started experimenting with Squeak and EToys. Later on, I moved to use Scratch. After some time, I learned about GCompris, Tux Math, Alice, Robomind etc. During that period, I still used the non-open-source OS that came with my laptop. GCompris version on that OS does not include all the activities -- to encourage the usage of open source operating systems! So, I looked for operating systems for kids. I've started using the following operating systems.
Recently, I came to know about OpenSolaris in Tamil -- one of these days, I'll try a LiveCD. Need to check if there is a Tamil version of Belenix out there...