
 
ACM Journal of Educational Resources in Computing, Vol. 3. No. 4, December 2003. Article 1. 
Pyro: A Python-based Versatile Programming 
Environment for Teaching Robotics 
DOUGLAS BLANK AND DEEPAK KUMAR, Bryn Mawr College 
LISA MEEDEN, Swarthmore College 
AND 
HOLLY YANCO, University of Massachusetts, Lowell 
_________________________________________________________________________________________ 
 
In this article we describe a programming framework called Pyro, which provides a set of abstractions that 
allows students to write platform-independent robot programs. This project is unique because of its focus on the 
pedagogical implications of teaching mobile robotics via a top-down approach. We describe the background of 
the project, its novel abstractions, its library of objects, and the many learning modules that have been created 
from which curricula for different types of courses can be drawn. Finally, we explore Pyro from the students' 
perspective in a case study. 
Categories and Subject Descriptors: I.2.9 [Artificial Intelligence]: Robotics – Autonomous vehicles; K.3.2 
[Computers and Education]: Computer and Information Science Education – Computer science education; 
I.6.7 [Simulation and Modeling]: Simulation Support Systems - Environments 
General Terms: Design, Experimentation, Peformance 
Additional Key Words and Phrases: Mobile robotics, education, robot abstractions, autonomous control, 
programming languages, computer science education, top-down instruction, platform-independent robotics 
control 
__________________________________________________________________________________________ 
 
1. INTRODUCTION 
Not that long ago, robotics was a field of study relegated to well-funded engineering 
universities that built their own robots. Starting in the mid-1990s, simple, inexpensive 
robots (such as the Handyboard and LEGO Mindstorms) were introduced and their use 
proliferated in the classroom, first in colleges and later even in middle schools.  
Currently, sophisticated robots with cameras, advanced sensors, and motors (such as 
Sony's robot dog, Aibo, and ActivMedia's Pioneer) are becoming financially accessible to 
undergraduate computer science, and even some courses in psychology. 
Although sophisticated robotic platforms are now affordable, a large issue still 
remains: how do you teach students to use such robots? Unfortunately, each robot has its 
own application programming interface (API) and, even worse, each specific type of 
sensor may have its own API.  This situation is perhaps similar to one in the early days of 
digital computers when every computer had a different architecture, a different assembly 
language, and even a different way of storing the most basic kinds of information  
The Pyro project was designed to answer the question of how to program 
sophisticated robots by serving as a high-level programming paradigm for a wide variety  
_________________________________________________________________________________________ 
 
This work was funded in part by NSF CCLI Grant DUE 0231363.  
Authors’ addresses: D. Blank and D. Kumar, Bryn Mawr College, Computer Science Program, 101 North 
Merion Avenue, Bryn Mawr, PA 19010; L. Meeden, Swarthmore College, Computer Science Program, 500 
College Avenue, Swarthmore, PA 19081; and H. Yanco, University of Massachusetts Lowell, Computer 
Science Department, One University Avenue, Olsen Hall, Room 206, Lowell, MA 01854. 
Permission to make digital/hard copy of part of this work for personal or classroom use is granted without fee 
provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, 
the title of the publication, and its date of appear, and notice is given that copying is by permission of the ACM, 
Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific 
permission and/or a fee. Permission may be requested from the Publications Dept., ACM, Inc., 1515 Broadway, 
New York, NY 10036, USA, fax:+1(212) 869-0481, permissions@acm.org 
© 2005 ACM 1531-4278/03/1200-ART1$5.00