USING AN INTEGRATED 3D AND ROBOTICS ENVIRONMENT TO TEACH COMPUTATIONAL THINKING EFFECTIVELY...

20
USING AN INTEGRATED 3D AND ROBOTICS ENVIRONMENT TO TEACH COMPUTATIONAL THINKING EFFECTIVELY Stephanie Graham Shiloh Huff Sabyne Peeler * This research is supported by NSF Grant No. CNS 1005212. Opinions, findings, conclusions or recommendations expressed in this paper are those of the author(s) and do not necessarily reflect the views of the NSF.

Transcript of USING AN INTEGRATED 3D AND ROBOTICS ENVIRONMENT TO TEACH COMPUTATIONAL THINKING EFFECTIVELY...

USING AN INTEGRATED 3D AND ROBOTICS ENVIRONMENT TO TEACH COMPUTATIONAL THINKING EFFECTIVELY

Stephanie Graham

Shiloh Huff

Sabyne Peeler

* This research is supported by NSF Grant No. CNS 1005212. Opinions, findings, conclusions or recommendations expressed in this paper are those of the author(s) and do not necessarily reflect the views of the NSF.

MOTIVATION

Women and minority groups make up a small portion of Computer Science programs According to a 2005 NSF study: 25% women, less

than 20% minorities Statistic is only falling

Overall Computer Science retention rate is low Need to increase interest in Computer Science by

changing the way it is taught

PROGRAMMING PARADIGMS

Graphics-based 3D programming

Teach ideas, not syntax

Instill computational thinking skills

ALICE, GreenFoot, etc. Robotics

Stimulate interest Real-world application

of general concepts Hands-On approach

INTEGRATION OF 3D PROGRAMMING & ROBOTICS

Previous work accomplished [2]: Using graphical programming in combination with

robots Modified original ALICE code to support Scribbler

Robots Create a real and virtual world to help with

understanding applications of CS

STEPS TO ACHIEVE THE GOAL

RELATED WORKS

Preop Program – University of Alabama Finch Dreams CS2N National Instruments

EXISTING STATUS OF DOROTHY

Robot Handler that Communicates with DOROTHY

Python files that communicate to Robot Simple Movement

TurningMoving Straight

Object DetectionMethod that returns value of Object Sensor

PROPOSED IMPROVEMENTS

Fully implement all of the Scribbler’s capabilities

Refining pre-existing content Easier access to robots abilities Simplifying user's interactions Simplify the Robot Handler

ENHANCING FUNCTIONALITY OF DOROTHY

Possibly limit the instructions that DOROTHY is capable of sending to the robot

General Structure to implement sensors New abstract classes in DOROTHY

Robot Capabilities Sound Camera

Robot's sensors Light/Dark sensors Line Detection Color Detection

ROBOT HANDLER

Automate or simplify the Handler Graphical User Interface Auto-Assignment of sockets and COM ports

Possibly implement Handler directly into DOROTHY

Built in Graphical Handler implemented directly into DOROTHY

GENERAL IMPROVEMENTS STATUS

Improved Obstacle detection Determining how to call Python Programs

from DOROTHY Light/Dark Sensors implemented Researching GUIs for the Handler

IMPLEMENTING NEW ROBOTS

Objective: To create a more stimulating 3D virtual environment

used to teach computational thinking by integrating new robots into the DOROTHY program and implementing their different abilities.

Required to achieve this objective: Review of previous/similar works Analysis of current DOROTHY and robot Handler code Familiarity with programming the new robots Manipulation and/or creation of new Robot Handlers Addition of new objects to DOROTHY for different

robot types

AVAILABLE ROBOTS

Our main focus for now will be implementing the Erratic robot into DOROTHY, and later we may try to implement the Nao robots.

NEW ROBOTS – CURRENT STATUS

DOROTHY now has a robot handler that translates DOROTHY code for the Scribbler robots

Socket stream allows DOROTHY to send and receive information to and from the connected robot(s) Makes DOROTHY capable of connecting to different

kinds of robots Robot handlers can be written in different

programming languages, native to different robots In process of deciphering Python code for

Scribbler robots

CURRENT HANDLER – HOW IT WORKS

Constantly listens for ‘action’ and ‘question’ events from DOROTHY

Dictionary translates events into the robot’s native language.

Sends translated commands to the robot.

Sends sensor data from robot back to DOROTHY

CURRICULUM

Objective: Introduce concepts of computational thinking using

DOROTHY Interest students in CS using robots and their

applications Increase minority count in CS

Need to define different topics to be covered by Middle and High School students

Not too difficult for Middle School, not too simple for High School

CURRICULUM CHANGES

Introduction Level – What is Computer Science

Basic data structures in Dorothy

Fun and simple activities

Counting in Binary Moving Robots through

virtual and real environments

More detailed version of Computer Science definition

Introduction to functions with Dorothy

Thinking problems LightBot game Maze-Solving Robots Robots Applications State Machines

Middle School High School

CURRICULUM CHANGE STATUS

Looking into how students learn CS principles Trying to answer the following questions:

What concepts are the most important? Which concepts are easy to understand? What will garner the most interest in CS?

Information to gather from: CS Education Conferences (SIGCSE, ItiCSE)

End result: Powerpoints, handouts and lesson plans for

activities

WORKS RELATED

1. Buzzetto-More,N., Rustagi, N., and Ukoha, O., “Unlocking the Barriers to Women and Minorites in Computer Science”, Journal of Information Technology Education, Volume 9, 2010.

2. Shuman, M., and South, D., “Integration of a 3D Programming Environment with Robotics to Stimulate Interest in Computing”

3. Wing (2006) Wing, J., “Computational Thinking,” Communications of the ACM, 49, 3 pp. 33-35. Feb. 2006.

WORKS RELATED, CONT.

1. Davis, J., Wellman B., Anderson, M., and Raines, M. (2009). Providing Robotic Experiences through Object-Based Programming (PREOP), Proceedings of the 2009 Alice Symposium.

2. Finch Dreams (2010). Accessed June 2012 at www.finchrobot.com