Enchanting is a fantastic tool to program Lego Mindstorms robots! Every Scratch user will be thrilled that now you can program NXT robots in a similarly intuitive and interactive way.

In the last 6 months I have had the opportunity to test Enchanting with 10- to 12-year-old children. We started with masking tape on the floor to mark different places like a school, cinema, bakery and so on. Then the children programmed their NXT to go to the places showing the locations on the NXT display or playing a recorded sound file. With the help of the driving settings this was quite easy!

Later we programmed a Mexican wave. The kids loved competitions like tug-of-war and sumo wrestling, and the action-orientated examples we found on the Enchanting cards! I have begun to translate these cards. I will upload them, as soon as possible!

Thanks Clinton for all your work! I am pleased that someone has put so much energy into such a fantastic tool.

Bernd Meyer, of Australia, wrote this amazing testimonial, saying:

Enchanting is one of the cornerstones of our secondary-to-tertiary computer science program at Monash University. Naturally we are really excited about the new release.

For a number of years we have been working with secondary schools in Victoria and with the Google Computer Science for High Schools program (CS4HS) on the development of secondary school computer science programs that ease the transition into tertiary studies.

The choice of language is important for such a curriculum as a technically difficult language has significant potential to frustrate students and to generate confusion. In other words to turn students off from entering the field before they have even started. Our curricula are also project-based, and it is important that the students can produce motivating programs and see results very early in their progression. Despite this, the language must be open-ended to allow students to progress to more complex problems and programming techniques without instantly having to change languages.

Quite a tall order for a single language! Luckily BYOB fits the bill. It is instantly accessible, easy to explain, and most importantly beginning students feel comfortable with using it.

Now, there is nothing quite like robotics to get kids motivated to try programming. Alas, it is basically impossible to use vanilla BYOB to program robots because as there is no interface to do so.

Enter ENCHANTING, which solves the problem elegantly and convincingly. The software is solidly built and constantly developed further. Best of all, there is no conceptual transition required from using normal BYOB as a general programming language to using ENCHANTING as a language to control robots. This makes it very straight forward to design a curriculum that uses robotics as an introduction but then branches out into other areas of problem solving and computational thinking.

Based on our experiences, I have to give Enchanting and BYOB a very strong endorsement as an introductory language. If you are looking for a beginners' language for robotics and have not checked it out yet I urge you to do so!

You may also be interested in checking out the educational materials that we have developed for Robotics with Enchanting. These eBooks and iBooks with instructional videos may help you get started with Enchanting and can even be used as the base material for teaching a class.

Thanks and kudos to Clinton for doing a fantastic job! Keep up the good work!

Bernd Meyer
Monash University, Faculty of IT

Heino Wachter, of Germany, wrote in to say:

Here is why we love Enchanting:

First of all, because it is the smoothest way from Scratch.

The students love Scratch, because it's easy to learn

They are highly motivated to program games

They are able to continue to work on their projects at home

They don't need any extra equipment

Therefore even if they don't have no robot on their own, the students enhance their programming skills with pure Scratch at home.

Enchanting inherits positive qualities from Scratch

It is stable (in contrast to NXT-G)

It is highly logical (in contrast to NXT-G)

It is intuitive (in contrast to NXT-G)

It is nearly impossible to write uncompilable code (in contrast to NXT-G)

We have numerous 7 years old students, able to work with it easily

(>= 10 years recommended for NXT-G).

It is not a dead-end (like NXT-G): If you write down the text part of an Enchanting code, it just like a normal programming language. It is kind of object oriented and concurrent. Even modern approaches like functional programming are possible (BYOB).

In contrast NXT-G, like it's mother LabView, is designed for hardware developers, familiar with circuit diagrams, which have no confidence to learn a real programming language.

For me NXT-G simply is an advertising tactic of NI to support their LabView and if there would be no FLL, nobody would use it anymore!

With the BYOB-part of Enchanting, the teacher is able to hide complex approaches from the younger students, though high flyer's may have a look on it. With this a lot of challenging tasks are are coming into reach.

Enchanting covers all relevant aspects of NXT-Programming.

So for me Enchanting is a stroke of luck and the main reason, why we dare to program NXT's even with 2nd class primary school students. Thanks a lot for this awesome work!

Emiliano De Laurentiis, of the United States, says:

Out of MIT came Logo and its robotic turtle. Out of Xerox PARC came Smalltalk which became Squeak which lead to Scratch. These are highly advanced languages that develop problem solving skills and advanced concepts in computer science. Enchanting is its natural evolution to program robots and is superior to the language that ships with the LEGO NXT robot. I have taught robotics with Enchanting and students develop more sophisticated concepts because of it.