Skip to content

RoboBUG

MichaelMiljanovic edited this page Aug 19, 2019 · 1 revision

Debugging is a challenging task that can present a great deal of confusion and frustration to novice programmers. In general, Software Engineering and Computer Science education does not sufficiently address the challenges that students face when identifying bugs in their programs. To help students learn effective debugging techniques and to provide students a more enjoyable and motivating experience, we have designed the RoboBUG game. RoboBUG is a serious game that can be customized to with different game levels and programming language examples.

RoboBUG is composed of four different chapters, each of which requires the player to use a different debugging technique with example source code in C++ or Python. The game is extendable and new levels with source code written in different languages can be specified in XML.

The player has access to five debugging tools that are used at different points in the game:

Bug Fixer

In most levels, the Bug Fixer tool is used when the player has determined the location of the bug. Throwing the Bug Fixer at a bug corrects it and allows the player to proceed to the next level.

Printer

The printer is used to toggle print statements located in the code that inform the user about the program's status.

Lock

The Lock is used to comment/uncomment blocks of source code. A bug that is located in a commented section will not show up, which helps to narrow down a search for that bug.

Warper

The warper allows the player to leap from function to function and examine different regions of code. For example, in the fourth chapter, it allows the player to observe the code that has been commented out and identified as the faulty region.

Breakpointer

The breakpointer is used to toggle breakpoints that are used in the debugger system. The Printer too can then be used to activate these breakpoints and examine data values.

Clone this wiki locally