

How to *really* use Minecraft to teach people of *all ages* programming - droopyEyelids
http://computercraftedu.com/

======
droopyEyelids
ComputerCraft, a Minecraft mod, adds Turtles to the game. Turtles are a LUA-
programmable block with an API about as sophisticated as the player's.

Now, after two year's work- ComputerCraftEdu- an in-game GUI programming
environment for LUA.

Why am I excited about this?

First, Minecraft's inherent appeal drives interest in a virtual world with
many semi-tedious automatable tasks, providing terrific incentive to learn.
The biggest problem with teaching programming is helping people find their
internal motivation to code- It's torture to have to memorize syntax and
constructs in the abstract. People need to see their efforts affect their
lives, and this does it. Don't laugh. Minecraft is a big part of many of our
lives :)

Second, that burden of understanding syntax? Greatly eased by
ComputerCraftEdu. The graphical environment is smart and well done here. I
don't exactly have the vocabulary to describe it, but it's like CCedu helps
you visualize the structure and potential of the code itself- It doesn't just
hide the syntax in GUI elements.

And finally, and most importantly in my mind, this environment is, by far, the
best way to share the magical feeling of _composition_ and _automation_ with
people. It naturally encourages you to build modules from reusable functions.
And feels like magic. Starting from the most basic tasks, like observing the
world in front of you, and understanding movement, you build and compose
functions into reactive, task-completing systems.

You might even find moments of self-discovery as CCedu give you motivation to
analyze your own actions, and then you might get the feeling of The Creator
once you've built your own minions to replicate the work and decisions you'd
make. This is where I think CC really shines, because it can (re)infect people
of any age, of any level of burn out, with the true joy of coding.

You can tell I'm excited. This is going to change a lot of lives.

