Integration of a 3D Programming Environment with Robotics to Stimulate Interest in Computing
Many methods have been proposed to increase student enrollment and boost retention rates in Computer Science. Some of the most popular teaching tools have been based on 3D programming environments and robotics, which when interfaced together, reduces the syntax dependency for programming a robot and makes a programming environment tangible. This research project modified Alice, an existing 3D programming environment, to create a tool that can control sensing and actuation commands on multiple instances of robots. The user can create a virtual animation in Alice based on a sequence of actions, and simultaneously execute these actions on one or more physical robots. An interface comprising a dictionary data structure and a socket stream has been created to translate the action sequence from Alice to the corresponding robot commands and to communicate these commands to the robot. The dictionary data structure currently translates Alice's pseudo-java commands to the Python commands on a Fluke enhanced Scribbler robot. Since the socket communicators can be written in any programming language, the modified version of Alice can potentially be used to interface with other robots through extensions to the data dictionary. In the long-term, the tool and the robots will be used to teach core computing concepts to school students and undergraduates, thereby inspiring them to pursue advanced degrees and careers in STEM disciplines.