Over a million developers have joined DZone.

Teaching Kids to Code With Minecraft

DZone 's Guide to

Teaching Kids to Code With Minecraft

Matthew Casperson was recently invited to participate in a new program designed to teach kids to code with Minecraft. He shares his experience here.

· Agile Zone ·
Free Resource

As a first time Minecraft player, I was dropped into a strange and blocky world. It didn’t take long to work out how to move around, and I quickly found a piece of text floating at eye level in providing instructions on what to do next. I opened the Minecraft console, typed in the provided commands, and was provided with a link to follow for further instructions.

The link was to a spellbook, with some example JavaScript that I could copy (and tweak). Once I was finished copying and editing the provided spell, additional instructions were provided on how to run the spell within Minecraft. Switching back into the game and executing the spell resulted in my avatar jumping 10 feet into the air. This new spell allowed me to navigate a series of platforms, at the end of which was another piece of floating text linking me to the next spell.

Welcome to MagikCraft. This MineCraft mod, created by Josh Wulf, teaches kids to code by exposing a simplified JavaScript layer over the MineCraft Java API and providing example JavaScript functions (called spells) that can be copied and modified to enable magical abilities within the game.

I was recently invited to help out at a MagikCraft event, and after watching kids code their way through these custom MineCraft levels, I have to say that the idea is brilliant.

The reality is that we are entering an age where the prosperity of a country is being defined less by the ability to dig stuff out of the ground or manually assemble things, and more by the ability to generate new ideas. This overview of the Intergenerational Report (jump to the five-minute mark) clearly demonstrates this trend.

So, it is not surprising to see that coding and robotics has a special focus in the education systemThe Scratch language, in particular, is being used to teach kids the concepts of programming logic.

MagikCraft goes a step further and creates an environment where kids learn real code in a way that is fun and engaging. What I saw kids who had never heard of JavaScript, who had never typed a curly bracket, and who had never been exposed to the concept of commanding a computer to do their bidding via code happily copying and pasting the sample code and gleefully watching as their avatar bounced, flew and transported around the level. It didn’t really matter if they understood the mechanics of coding or not. Even if they only subconsciously made the connection between this arcane text they were copying and the actions that their avatar was performing on the screen, they were still now years ahead most kids whose idea of controlling a computing device is downloading a new app.

Actually, most of the kids quickly adapted to the idea of copying and pasting code and supplying parameters to jump higher or fly further. The more advanced kids were encouraged to help those who were stuck, and everyone had fun. A few of the participants went much further, creating custom spells and even going so far as to hack into other students spell books to gain access to their code (which, of course, is all part of the experience).

The day had a kind of hackathon feel to it, which is so much closer to what budding developers will encounter in the real world than a classroom setting provides. MagikCraft is a work in progress, with a few server crashes and network outages during the day. What developer hasn’t had their integration environment go down during development? Welcome to software engineering, kids.

I fully expect that a few decades from now, a professional software engineer will lock back at those few lines of JavaScript they hacked on in MagikCraft as the starting point of their career, because nothing will drive a love of code quite like calling it a spell and hiding it in a video game kids already love.

minecraft ,devops ,coding

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}