Title: Using Modified ALICE and Robotics to Teach Computational Thinking Effectively
1USING 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.
2MOTIVATION
- 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
3PROGRAMMING 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
4INTEGRATION 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
5STEPS TO ACHIEVE THE GOAL
6RELATED WORKS
- Preop Program University of Alabama
- Finch Dreams
- CS2N
- National Instruments
7EXISTING STATUS OF DOROTHY
- Robot Handler that Communicates with DOROTHY
- Python files that communicate to Robot
- Simple Movement
- Turning
- Moving Straight
- Object Detection
- Method that returns value of Object Sensor
8PROPOSED IMPROVEMENTS
- Fully implement all of the Scribblers
capabilities - Refining pre-existing content
- Easier access to robots abilities
- Simplifying user's interactions
- Simplify the Robot Handler
9ENHANCING 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
10ROBOT 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
11GENERAL IMPROVEMENTS STATUS
- Improved Obstacle detection
- Determining how to call Python Programs from
DOROTHY - Light/Dark Sensors implemented
- Researching GUIs for the Handler
12IMPLEMENTING 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
13AVAILABLE ROBOTS
Our main focus for now will be implementing the
Erratic robot into DOROTHY, and later we may try
to implement the Nao robots.
14NEW 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
15CURRENT HANDLER HOW IT WORKS
- Constantly listens for action and question
events from DOROTHY - Dictionary translates events into the robots
native language. - Sends translated commands to the robot.
- Sends sensor data from robot back to DOROTHY
16CURRICULUM
- 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
17CURRICULUM CHANGES
Middle School
High School
- 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
18CURRICULUM 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
19WORKS RELATED
- 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. - Shuman, M., and South, D., Integration of a 3D
Programming Environment with Robotics to
Stimulate Interest in Computing - Wing (2006) Wing, J., Computational Thinking,
Communications of the ACM, 49, 3 pp. 33-35. Feb.
2006.
20WORKS RELATED, CONT.
- Davis, J., Wellman B., Anderson, M., and Raines,
M. (2009). Providing Robotic Experiences through
Object-Based Programming (PREOP), Proceedings of
the 2009 Alice Symposium. - Finch Dreams (2010). Accessed June 2012 at
www.finchrobot.com