Skip to content

Henrik Kniberg's blog
Syndicate content
from the Crisp Consultants on Agile and Lean practices
Updated: 1 hour 3 min ago

Programming with kids using LearnToMod and Minecraft

Tue, 01/27/2015 - 06:34

I’ve spent years experimenting with how to teach kids programming, mostly using Scratch. But now we’ve found a new favorite: LearnToMod! Kids love Minecraft, and LearnToMod is entirely based on Minecraft, so it’s a perfect match!

We now do a Mod Club every Saturday evening, my older kids (9 & 11 years old) and some of their friends. It’s basically a programming school based on LearnToMod and Minecraft programming. Reeeeaaaally fun, the kids go wild (OK, me too)! AND they learn lots while doing it. To them it’s ”magic powers”, not “programming skills”.

I made a 5 minute video showing how it works:

LearnToMod provides almost 200 small programming lessons, starting from Hello World and then moving on to loops and functions and variables and all kinds of stuff. All lessons have really clear instructions and almost all of them involve something actually happening in the Minecraft world, which keeps it exciting. So kids can be pretty much self-guided, with just a little bit of support.

They use a visual programming language (Blockly, derived from Scratch). That’s great because it lets you focus on learning the program concepts, like loops and functions, without having to stumble around with detailed syntax. But since you can also see the Javascript behind the scenes, you can learn from that and write Javascript mods later. So the graphical programming is like a stepping stone (or gateway drug, if you prefer…).

As you progress you earn badges and points and other rewards, like inspiring video clips and things like that. It really does a lot to keep you going!

Last session we did a Mod Duel. The three kids got 30 minutes to prepare attack scripts against me (not allowed to use direct kill commands, but other more creative ways of attacking me, like burying me in sand or conjuring a prison cell full of monsters and teleporting me in), and I wrote defense scripts. Basically a duel where we only can use our “magic powers” (programming skills). I managed to survive one whole minute, not bad!

We’ve added another slight twist to our Mod Club sessions: a Lego house (yes, actual physical plastic bricks). Each kid has their own color, and on each completed lesson they “earn” a Lego brick in that color and use it to build on the house. That way, the house becomes a visual progress meter for the evening. This serves as a subtle reminder to keep doing the lessons and not spend the whole evening just goofing around. Goofing around is a great way to learn too, but some lessons are needed to learn new concepts (like loops, or parameterized function calls), and extend your magic powers!

Here are the kids proudly displaying their house from last session!

Kids programming

… and then back to programming:

Kids programming

Give LearnToMod a try! It works for grownups too :o)

Categories: Blogs

Crisp DNA is now open source!

Fri, 01/23/2015 - 13:01
Crisp DNA screenshot

Crisp DNA screenshot

We get a lot of questions about how Crisp works and why, especially from other consultants looking to create something similar. After many years of experimenting we’ve converged on a model that works well, basically the sweet spot between being an independent consultant and being an employee. So we decided to open source it.

In January 2015, at Crisp Hack Summit 10, Mats Henricsson, Henrik Kniberg and Max Wenzin huddled up and created the first version of the open-sourced Crisp DNA. It is published at

The Crisp DNA is version controlled using Git and both Crisp DNA repository and Crisp DNA web site is hosted at GitHub using GitHub Pages. The web site is a bunch of static web pages and images that is generated from Markdown and Textile files using Jekyll. This is the same setup that GitHub themselves use.

By using open, version-control friendly formats such as Markdown and Textile, we hope to benefit from the open source community which can fork our model, make changes and perhaps suggest improvements. This can actually change how Crisp works!

Categories: Blogs