Bots & (Main)Frames: Teaching programming concepts and computational thinking through AR and tangibles one executable command at a time!
Computational Thinking involves solving problems, designing systems, and understanding human behaviour by drawing on concepts fundamental to computer science. As technology becomes increasingly more ingrained in our everyday lives, computational thinking has established itself as a necessary skill for young learners to develop. Bots & (Main)Frames is a web-based puzzle game designed to teach the core components of computational thinking. Players must guide their character step by step through various obstacles, and in doing so learn to identify patterns, break down problems, develop a tool set, and even program. The web-based version of Bots & (Main)Frames also recently won the Best Student Game Award at the 2016 Serious Games Showcase & Challenge and is playable here.
Tangible Bots & (Main)Frames
While there are common design decisions in existing games teaching Computer Science concepts for popular initiatives such as Hour of Code (e.g., single player puzzle based games for the touchpad/keyboard and mouse), recent research has suggested that alternative approaches such as collaborative play and physically embodied designs may also provide important benefits to learners. In order to explore how making interactions with an educational programming game more physically embodied could impact learning outcomes and related factors, I created a tangible version of Bots & (Main)Frames. I then conducted a number of studies exploring and validating that this embodied approach improved such factors as collaboration, enjoyment, situational interest, programming self-beliefs, learning, and performance. See the Related Publications section below for more details.
Bots & (Main)Frames utilizes a variety of platforms, frameworks, and languages to leverage augmented reality in the support of tangible interactions. The base game was built in the Adobe Flash to provide a broadly accessible web browser game. In addition to the Flash game, reacTIVision—an open source, cross-platform computer vision framework—is used to track fiducial markers placed on top of the tangible programming blocks. The reacTIVision framework in turn sends TUIO messages—a common protocol/API for tangible multitouch surfaces—over UDP to a client created in the Processing engine. The Processing client application then determines block connectedness, inputting appropriate code sequences into the Flash game by emulating key presses.
Bots & (Main)Frames Levels
In studies, Bots & (Main)Frames utilized 10 training levels to teach programming concepts—organized by conceptual topic. Levels 1 - 3 introduce basic algorithm building. Next, levels 4 - 6 teach looping concepts. Finally, levels 7 – 10 cover functions. The challenge and complexity of each level is designed to be more difficult than the previous level for each conceptual topic.