To Mars, with Kodu: Curiosity rover game gets kids coding

To Mars, with Kodu: Curiosity rover game gets kids coding

Summary: Can Microsoft's Kodu Mars game and an anthropomorphic Curiosity rover help teach kids to code?


How do you get young kids to code? By giving them the tools to create a game where they control a Curiosity-like rover on the surface of Mars, according to Microsoft.

Kodu is a programming game, with a simple tile-based visual development environment that makes it easy to build object-oriented, event-driven programs. With Kodu, while you're building a game, you're learning to program.

A new version has just been released, Kodu Mars. It takes the educational programming environment to the dusty surface of the Red Planet with a new character to control, Rover. This is a slightly anthropomorphised version of NASA's latest Martian explorer, Curiosity — complete with sampling tool and scanning laser.

31-08-2012 21-57-41
Exploring Mars with Kodu's Rover.

Running on Xbox and PCs, and working with both keyboards and game pads, Kodu is free and easy to get, with collateral for teachers and students — as well as a community of engaged and helpful games builders.

Kodu — part of a long-standing collaboration between Microsoft and NASA's Jet Propulsion Laboratory — builds on similar roots as Lego's Mindstorms, bringing programming to the living room and to the familiar game console.

NASA and Microsoft have worked together already on several projects, including a Kinect Mars Rover Landing game, in which you get to control Curiosity as it plunges through the Martian atmosphere in its seven minutes of terror, and a live Xbox broadcast of the rover's landing on Mars.

The Kudo game aims to tackle a big question we're only just starting to answer: how do we get younger children coding? While devices like the Raspberry Pi have attracted attention, these are not yet widespread in homes and schools. And while new low-cost ARM-based boards are slowly starting to leave the production lines, they require some technical knowledge and are more for teens and university students who've already discovered programming.

Microsoft's team collaborated with a games development house to produce four sample levels for the Kudo Mars game, and worked with NASA and Arizona State University to develop a teaching curriculum based around controlling a rover.

31-08-2012 21-59-08
Meet Rover, your Mars Science Laboratory that's fun to be with.

Getting tools like this into the classroom is important. The tools in Kodu — especially the tile-based visual programming environment and event-handling features — aren't just teaching coding, they're introducing complex computer science topics in a child-friendly way.

The Mars expansion takes things further, as it provides an experience that goes some way to helping users think about what needs to be done when programming a Rover on Mars.

Unlike other game scenarios, this is intended to spark the imagination via a peaceful engagement with rocks and science rather than through dynamic chases and combat. The Rover character only implements actual Curiosity features and capabilities, with its scanner, camera and drill bit. Instead of combatting enemies, your game involves trundling over the Martian desert, examining rocks, eking out power and taking pictures.

One of the interesting elements here is that it's not just computer science that Kodu Mars is aiming to teach. It's also meant to get kids thinking about science; specifically, about how to design an experiment in an environment that's based on Mars Orbiter terrain maps of Gale Crater.

Kodu Mars also adds more programming constructs to the visual language of the game. Its robots need to run autonomously while light-minutes away from a controller, and this means adding new constructs around Kodu's path navigation features.

With these, kids can draw a path on the screen for the Rover to follow and use the new End Of Path command to trigger an action. It's easy to see this being used to navigate the Rover up a slope and around obstacles to reach a rock, with the scanning actions triggered at the end of the path.

As the game provides sample levels, there's existing code to examine, showing how complex events and actions trigger subroutines. New operators help here, and the update adds support for comparisons and logical operations that can also be used to call pages.

31-08-2012 21-59-31
Kodu code is made up of tiles that can be used to construct event-driven programs, and attached to game objects.

Rover is an entertaining new character, but it's also an effective simulation of a scientific robot. The code you or your kids write can't yet be used to control a physical device — but it's not far from it.

According to Microsoft, over a million children around the world are using the free PC Kodu, meaning there's already a community of users and teachers — of people building stories and experimenting with them.

There's something important in that final point. Code is a form of storytelling, especially if you work with agile development methodologies and functional languages. Kodu code isn't just a game; it's an introduction to the way we develop code and in the techniques we use in our own development teams.

With that in mind, perhaps we should bring Kodu into the office as well as into the classroom. Who knows what we'll learn?

Topics: Microsoft, Emerging Tech, Nasa / Space, Software Development

Simon Bisson

About Simon Bisson

Simon Bisson is a freelance technology journalist. He specialises in architecture and enterprise IT. He ran one of the UK's first national ISPs and moved to writing around the time of the collapse of the first dotcom boom. He still writes code.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Nice

    Beats my old 100 in 1 electronics kit from Radio Shack when I was a kid and the erector set before that.
    I am still an engineering tech and was even a tech in the Navy.
    That might pave the way for some new aspiring programmers.
  • koding

    good approaches but don't forget to take the kids outside and throw the ball or frisbee around the yard, breath some air, fall down, and scrape their knees every once in a while - too much brainy stuff can make the body go flubby and you don't want to end up with a whole bunch of brilliant flubby people on Mars . . . . sounds like a great movie though: The Flubby People of Mars! Or Mars and the Jellonauts!
    Steve Noettl
    • "koding"?

      The reply titled "koding" is nonsense. The author writes "too much brainy stuff can make the body go flubby." This is a false dichotomy. Learning things, being good at math, coding, etc., doesn't lead to weight gain or poor health or nutrition. Bodies do not work that way.

      The person who wrote this sounds like some ill-informed, out-dated person who seems to think education is inimical to health. I think they've seen too many bad, stereotyped "geeks vs. jocks" movies or something. And really, why go on tech-related website to start whining "B..b..but what about scraped knees and playin' catch with pa"? I mean, is the physical fitness of future astronauts really an issue? Astronauts tend to be very "brainy" people with advanced degrees in science and engineering. I suspect the author of the pointless "koding" comment wrote the whole thing as a set up to their unfunny "punchline" about fat people on Mars, or whatever. If so, the author has profoundly overestimated his relevance and sense of humor.
      beau parisi
      • Wow, DB...

        Had a few too many didactic cookies lately?
  • Education and Citizen Science

    This is an excellent example of a great educational program with a citizen science element built in. It is also a great example of gamification of education. I am excited with such educational possibilities available, along with Khan Academy,,, as well as maker camps, etc. People of all ages have endless opportunities for education.