I've always wanted to present an educational product, one intended especially for children in primary school because, that way, I would contribute to making the learning process just a tad better for some. And by better I mean more fun, with less stress associated with it and, why not, a real pleasure.

Well, now that I have this opportunity, I will tell you about the most user-friendly development environment you ever set your eyes upon, an IDE especially designed for children. Although far less powerful than the usual programming environments, Little Wizard is just what a kid needs to be introduced to, if s/he is to regard learning how a computer program is crafted as something fun.

Little Wizard's job is indeed a difficult one, and thats mainly because of two reasons. First off, children tend to become bored extremely fast, and I'm sure we can all agree on that - so it's fair to say that you can't really make a child do something, let alone enjoy it, if that thing doesn't profoundly arouse her/his interest. Any school teacher can confirm that boredom among pupils is one of the biggest obstacles standing in the way of an effective learning experience so, to put it simply, there has to be something that, even if harder to grasp at first, dons a very user-friendly wrapper. The second reason is that computer programming is a field that is fundamentally difficult to comprehend. I don't want to analyze here what it takes to be a skilled developer, but trust me, it takes both time and effort, and to become an expert, well, let's just say it's hard to get there.

Then, is it possible to put together these two conflicting aspects and yet come up with something that's worth anything? The answer is yes, as Little Wizard is one of the most nicely implemented educational software I have seen. Although it's relatively straightforward, having no complicated commands or too complex concepts to deal with, it's certainly not a toy. I mean, it's true that in terms of user interface it has little in common with the more technical, real development environments, being very cute, with little animations all over, and a truly well made interface. Nevertheless, it's a serious application when it comes to its offerings.

When I first started using Little Wizard and saw that it was designed to teach kids, I thought there was no need for me to waste my time reading the tutorial, as I felt confident on my small programming background to help me get started quickly. However, in the first ten minutes or so, I literally felt overwhelmed with the multitude of tabs, small pictures of a little clown (which, after a while, I realized was the actual little wizard) and various other aspects. I was only familiar with the math tab, which contains all the digits and operations (both the basic ones such as addition, subtraction, division and multiplication, and the slightly more advanced concatenation or logical operations), and with the loop&conditions tab, including basic clauses such as if, else, for, while, repeat-until, break and continue.

With some guilt that I could not even get how to use a children's application, I began going through the tutorial, in order to understand how to start using its full potential. The conclusion I reached was that this is a software that a teacher has to learn thoroughly, and only afterwards can he introduce it to his pupils, because it does not offer any documentation whatsoever about how a computer program is structured, its core concepts and fundamental issues. It skips all that, and begins by briefly describing the program UI, and then gets right to how the commands are used. For me, and for anyone who has written and complied a program at least once, it was really easy. However, I think that. for someone who is new at this, getting used to it would be a real problem. Therefore, for those who want to start learning programming on their own, I have to recommend first a reading on the fundamental issues.

I may have been a little to drastic above, but thats because I suppose no one with absolutely no background in this area would venture using Little Wizard, so it will probably be a good experience for most that do. Now, let's see exactly what this tool is about and in what circumstances it may prove to be the optimum choice.

Little Wizard is a drag and drop development environment with a top priority to be as eye-pleasing and user-friendly, while offering as many of the facilities of a regular IDE as possible. The first thing you should know right from the start is that you'll probably never have to touch the keyboard, as everything you add to the program is done solely by using the mouse. For example, if you want to make a short loop to print all the numbers between 1 and 10, you have to first select a variable and assign it the value of 1, then drag down a loop clause (like while or for), open a logical block (a curly bracket, like so {), print the variable's value (which is done here by putting the create wand and the variable name next to each other), increment the variable (x = x + 1), and then close the logical block (}). Of course, there are other ways to do this, by using more specialized clauses, such as for, which increments the variable automatically with whichever step you desire (not necessarily 1 like in the previous example).

The Good

As I said before, Little Wizard has a real tough mission, that of combining a kid's need for something s/he deems intriguing, with the tedious work of studying computer programming. From my point of view, which might not be the most accurate one, it does a pretty good job at it, having a nice childish interface and various other features that kids can relate to.

The Bad

Having to constantly drag and drop figures out of the palette and into the program grid, especially if you want to create a larger program, may become a little tiring after a while. However, the most bugging aspect is removing pieces of program, as you have to select each separately, and drag it upwards in the palette. Also, there is no tool for selecting more than one item at a time, so to modify a program, you have to replace each item with the new one. This can definitely be seen as a downside since, when programming is first learnt, changes occur very often with your program as you experiment with various techniques and code statements.

The Truth

Overall, Little Wizard is an application that may prove to be satisfying for many school teachers in search for something additional to the main course (I can't say with certainty because I haven't had the opportunity to see it in real action, meaning, with kids working in it). I for one have enjoyed it because Little Wizard allows you to do a little more than just programming an aspect I intentionally left out for you to experiment on your own. Have fun!