Research Proposal Presentation, June 21, 2011: David South and Mary Shuman Integration of a Graphics-Based Programming Tool with Robotics to Stimulate Interest in Computing *This research is supported by NSF Grant No. CNS Opinions, findings, conclusions, or recommendations expressed in this paper are those of the author(s) and do not necessarily reflect the views of NSF.
Motivation : The Challenge o In academic computer science programs, women and minority groups still continue to make up only a small population, and have low retention rates even after joining the program. o Reasons? o Lack of exposure to computer science concepts. o Stereotypes. o Confidence in field. o Confidence is what fuels perseverance in the field.
Motivation : Solutions Offered Graphics-Based Programming Robotics o Alice, Greenfoot, Scratch. o Minimizes frustrating syntax. o Teaches the logic behind the code. o Inspires creativity. o Virtual world centered. o Naos, scribblers, and iRobots, lego robots are examples. o Stimulates interest. o Hands on. o Real world problem solving. o Hardware difficulties. o Programming difficulties.
Our Motivation : Why not do BOTH?! o The solution is to integrate the interest stimulating factors of working with a real robot and a graphics- based programming tool. o Approach: Students program by manipulating a robot in the Alice world scene, then the code is translated to a robots language. o Students see an actual robot act out the scene. o This reduces the complexities of language specific syntax and hard ware. o Teaches computational thinking. o Students see the physical enactment of programming logic. o Capable of teaching / education use for all levels of individuals.
Objectives This project is investigating how to integrate the Alice language with fluke robots as a tool to teach computational thinking. o Achieving this objective requires. o Literary review of previous work with Alice and robotics. o Exploring Alice to discover how to retrieve Alice code. o Translating Alice code to robot commands. o Creating a user-friendly robot object within Alice, with new robot specific actions. o Interfacing with multiple robots and different types of robots.
Related Work o Wellman (2009) Wellman, B., Davis, J., and Anderson, M., “Alice and Robotics in Introductory CS Courses,” Proceedings of the Richard Tapia Celebration of Diversity in Computing Conference, Portland, Oregon, April. o Wing (2006) Wing, J. M., “Computational Thinking,” Communications of the ACM, 49, 3 pp. 33–35. Feb o Computational Thinking for Middle School Students Through the Integration of Graphical Programming and Robotics. Technical Report. Department of Computer Science, Texas Tech University.
A General View of How it Works o Alice saves each command as its own separate xml file o By looking at where in the file hierarchy an xml file is saved to, we can determine the object, function, and conditional statement it is nested in. o The xml files contain the type of command to be performed and the variables associated with it. o We use a dictionary data structure to hold all of the possible Alice commands associated with a robot specific translation o For example: The Alice object’s move forward command is associated with Myro’s move command myro. >( >, >) where variables contained in “ > “ get replaced by their respective variables in the command’s xml file.
Tasks and Issues To Address o Restricting movements to realistic actions. o Allows access to the robot’s senses. o Addressing Alice commands the robot does not understand. o Creating new commands for what the robot can do. o Defining commands for a robots dictionary. o Make software more flexible in regards to reading commands from dictionary. o Software’s functionality within Alice itself. o Commands for multiple robots at the same time. o Dictionaries for robots of different types.
Current Status o Currently we have a basic Python program created that handles Alice’s hierarchal XML output, parses it, and forms Myro commands. o We are still under going literature review, o We are working to make the program work with more Alice commands. o We are looking more into Alice’s software in regards to how objects are handled and how our program can fit into it. o The results of this project can be implemented in the future to improve the effectiveness of K-12 computer science education.