Title: Personal Robots for CS1
1Personal Robots for CS1
- Deepak KumarBryn Mawr College
Deepak Kumar
Promising Practices in CS1
2IPRE
- Institute for Personal Robots in Education
- Goals To explore the use of personal robots
- People Douglas Blank, Deepak Kumar (BMC),
Tucker Balch, Mark Guzdial (GaTech),
Stewart Tansley (MSR)
Deepak Kumar
3Key Motivators
- Introductory computing courses serve as a gateway
into the CS curriculum. - Should provide interesting and diverse range of
examples and exercises. - Alignment of course content to student interests
to increase engagement can have a positive impact
on students choosing to enter computing as a
major in college. - Most tasks should be attainable and provide a
basis for supportive and positive feedback to
students.
4Additional Motivators
- Use a personal robot
- Let the needs of the curriculum drive the design
of the robot, software, and text - Use tools that are easy to use, scale with
experience - Create an accessible, engaging environment for
new, diverse population of students - Computer Science ? programming
- Make computing a social activity
- Make computing a medium for creativity
- Performances vs. competitions
Deepak Kumar
5A Personal Robot Kit
- Color camera
- 3 Light sensors
- 2 IR proximity sensors
- 2 Line sensors
- Stall sensor
- Speaker
- 3 LEDs
- 2 motors
- Bluetooth wireless
- Pen port
- Myro Python Module
6Myro Features
- Simple, easy to use API even for
non-programmers. - Seamlessly integrated with standard Python.
- Plans to work with MSRS and .NET (will support
multiple languages). - Design driven by curricular goals.
See Kumar et al. Engaging Computing Students
with AI and Robotics, Forthcoming in Spring 2008.
7Hello World
- Hello World
- from myro import
- speak(Hello, World!)
Deepak Kumar
8CS1Course Contents
- Chapter 1 The World of Robots
- Chapter 2 Robots Personal or Otherwise
- Chapter 3 Building Brains
- Chapter 4 Sensing the World
- Chapter 5 Making Decisions
- Chapter 6 Behaviors
- Chapter 7 Control Paradigms
- Chapter 8 Making Music
- Chapter 9 Communication
- Chapter 10 Artificial Intelligence
- Chapter 11 Computing Computation
- Chapter 12 Applications of Robots
9Programming as a social activity
10Myro Example
def main() while True Left, Right
getObstacles() if Left
turnRight(turnSpeed) elif Right
turnLeft(turnSpeed) else
forward(cruiseSpeed)
Avoiding Obstacles from myro import
initialize(ask(What port?)) program
settings... cruiseSpeed 0.6 turnSpeed 0.5
11A CS1 Assignment Exploring a Pyramid
12Some Results
- Learned CS concepts through robots
- Robots made learning experience more hands-on,
tangible, and exciting - Most frustrating parts were dealing with robot
hardware inconsistencies - Viewed CS as a type of logic and problem solving
requiring patience thought - Discovered that CS and robots are applicable to
the real world
13Another CS1 Assignment
Corral Exiting/Escape Imagine a corral (an
enclosed area with maze like partitions and an
entrance) with a light source at the entrance (as
shown in the figure to the right). Given the
robot's position, can we design a behavior that
will enable the robot to exit the corral?
14Some Directions
- Ability to draw
- Ability to take pictures
- Ability to make music/tones
- Ability to play sounds and talk
- Ability to express
- Ability for robot interaction
- Ability to have a web presence
15Comments?
For more information visit www.roboteducation.org
Deepak Kumar
16Deepak Kumar