Bug Spotter:  A fast-paced card game for novice Python programmers to practice spotting and fixing common bugs

Game Description: This multiplayer game (up to 5) is for players who are learning Python. Players have a deck of three types of cards with code containing (1) no bugs, (2) syntax bugs, and (3) runtime bugs. One card is turned code-side-up. Upon looking at the code snippets, the first player to slap the card (if there is a bug) or shout "no bug!" first and describes why or how to fix the bug wins a point. The player with the most points at the end wins. Detailed descriptions and explanations about the bugs can be found in an accompanying guide book. For more information about the making of this game, see the process document linked below.

Challenge Addressed: Learners in a structured CS0 or CS1 Python Programming course often struggle to recognize and understand common bugs, spending hours trying to figure out and debug when an expert with many more hours of experience could spot bugs in their code in an instant.

Goal: To support and scaffold novice learners in quickly recognizing and fixing some of the most common syntax and runtime bugs in Python

Context: Designing Educational Games Course at Carnegie Mellon University over the course of 6 weeks

Key contributions: Ideation, integrating research theory, application of learning science and computer science education knowledge, knowledge elicitation, prototyping and content creation, incorporating player feedback, iteration, design of pre/post learning gains test

Team members: Noor Hammad, Dominique Aruede, Themistokles Bornias, Daniel De Angulo

Runtime error card example

Syntax error card example

Runtime answer

Syntax answer

Screenshot of card game

Final Report

Final process document

Instructions and Extended Answer Booklet

Instruction and answer booklet