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 table top component and a mobile app to assist students with learning. (Why an analog game?). In the photo are students from CMIS Songdo Highschool enjoying our game in the A/B testing phase.

The concepts being taught are:

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


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 works are crucial. Having recognized that computer science should be learned by every child, countries across the globe are introducing computer science into 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 with 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 the 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

Summary: Our game is a blend between analog and digital. It consists of a physical board game where cards are presentation of command lines and a mobile phone application as a checking mechanism. The combination allows each component to compliment 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 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 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 skill and help prepare them for more advanced concepts in higher education rather than paying too much attention on 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.