Shenzhen I/O — Learning to code for the fun of it

kaigani
Games for Learning
Published in
3 min readNov 27, 2016

TL;DR — Shenzhen I/O is the perfect game for supplementing (or sparking) an interest in coding for a novice programmer. The puzzles are also fun and nostalgic for experts.

This weekend I thought I’d downloaded a game, Shenzhen I/O. Instead, I found myself programming micro-controllers for a fictional employer.

I’ve previously written about games for learning and how they are different from educational games because they are games with an educational payload, rather than a lesson within a thin wrapper of ‘gamefication’.

Puzzle game or coding lesson?

Shenzhen I/O is a clever puzzle game with a well written narrative. It’s fun to play. However, it differs from a puzzle game like The Witness in that rather than abstract puzzles, the puzzles are based on an entirely valid, machine language — which can be used to solve any NP-complete problem.

No really — this is fun.

The game includes an instruction manual, which you really do need to read.

Your fictional email inbox.

An immersive narrative world that sets the puzzles & coding challenges in context — this is the motivation for continuing.

Programming nostalgia — and a quick rant

I’m old enough to remember when machine language coding was the only way to program anything meaningful on your PC (or in my case, Apple //gs)

I also graduated Computer Science at Stanford, I’ve studied machine language. At the risk of sounding like a curmudgeon, kids these days don’t necessarily have to think about memory allocation or strong typing, and perhaps lack a fundamental understanding of what the Javascript code they forked on Github is actually doing on the chips soldered into their computer’s motherboard.

While you may not need to practically write machine language, I think a tail-to-snout understanding of coding is important.

If coding was actually like this, I might have remained a coder.

Learning to code by playing a game

A lot of attention has been given to the importance of coding for kids and adults and designers and project managers and product managers — but how many of these approaches are fun for the sake of being fun?

Shenzhen I/O stands out as a shining example as a game for learning primarily because it doesn’t set out to be one.

Play it!

--

--