A mixed-reality game to teach elementary-level computational thinking

I was the team leader for a project to create an educational game to teach Computer Science, focusing on the following goals:

  1. A game to promote computational concepts in which extraneous programming is removed.
  2. A game mechanic that is conducive to learning, with timely feedback.

The game consists of a tabletop component and a mobile app to assist students with learning (Why an analog game?). In the photo are students from CMIS Songdo High School enjoying our game in the A/B testing phase.

The concepts being taught are:

  1. Boolean logic
  2. Sequential thinking
  3. Branching structure
Left: The areas of focus as recommended by the CSTA - Computer Science Teacher Association - for teaching Computational Thinking. Right: Test play


With the 4th Industrial Revolution, there have been dramatic shifts in expected skills and requirements for the workforce: programming skill or base-line ability to understand how computers work is crucial. Having recognized that computer science should be learned by every child, countries across the globe are introducing computer science into the curriculum as a core subject, the same as math and science.


In addition to a widely-acknowledged lack of meaningful support in learning computer science (Google & Gallup, 2015b), most parents are not equipped with computing skills, making it difficult to home-school or help their kids with homework. Thus, few children are being taught computer science concepts and practice, which is considered “a literacy for the modern age”. The current state market for tools that support programming is not helping either. Available products can range from $50 to as much as $300, making computer science education exclusive for those who are born in tech-minded families with resources.

We propose a mixed-reality educational card game to teach children programming. Along with physical table-top cards, the game incorporates a mobile phone application for feedback. Our goal is a low-cost, high-impact solution for the problem described below.

Description of the game

Combining the Analog & Digital

Our game is a blend between analog and digital. It consists of a physical board game where cards are a presentation of command lines and a mobile phone application as a checking mechanism. The combination allows each component to complement and make use of the other. Even though card games can be low cost and approachable, the absence of evaluation can be problematic - how can parents know if their children have made any progress? Moving away from open-ended play, the “digital” part of our game solves this problem. After placing these “code blocks” in place, children can “run” the codes and see the result of their program in the app (Fig.1). The closest resemblance to our game, educationally, are ones with coding blocks that have accompanying apps on a computer or iPad (Osmo Play or WonderWorkshop), or coding blocks with a control board (Cubetto). Commercially, our game is similar to a hobby board game, called Alchemists.


Targeting students in the introductory programming stage (age 11-14), our game focuses on teaching computational thinking: “the thought processes involved in expressing solutions as computational steps or algorithms that can be carried out by a computer”. Our content is informed by the K-12 Computer Science framework (a standardized effort led by the Association for Computing Machinery, Code.org, Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative). We aim to foster students’ problem-solving and analytical skills and help prepare them for more advanced concepts in higher education rather than paying too much attention to specific language-specific syntactic problems. Our three educational targets are: Boolean logic, conditional structure, and looping construct. We are currently developing a mini-game on Boolean logic.