programmable bricks: toys to think...

10
Programmable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent B. Silverman In this paper, we discuss the applicat[ons ant! implications of the Programmable Brick-s-s tiny, portable computer embecfded a brick, capable of interacting with the phys!cal world in a large variety of ways. We describe how Programmable Bricks make possible a wide range of new design activities for children, and we discuss experiences in using Programmable Bricks in three types of applications: autonomous creatures, active environments, and personal science experiments. I n many educational computer projects,. control and manipulate worlds that exist m the computer. Using one program, children can control the movements of Newtonian "dynaturtles" in physics microworlds.' Using a different program, children can create and manipulate simulated urban worlds, con- structing houses, roads, and factories, and setting tax rates for the city.' But instead of controlling and manipulating worlds in the computer, what if children could control and manipulate computers in the world? That is, what if children could spread computation throughout their own personal worlds? For example, a child might attach a tiny computer to a door, then program the computer to make lights tum on automatically when- ever anyone enters the room. Or the child might pro- gram the computer to greet people as they enter the room---or to sound an alarm if anyone enters the room at night. In this paper, we describe a new technology, called the Programmable Brick (Figure 1), that makes such activities possible, and we explore how this new tech- nology might open new learning opportunities for children. The Programmable Brick is a tiny, portable computer embedded inside a pocket-sized LEGO** brick. The brick is capable of interacting with the physical world in a large variety of ways (including sensors and infrared communication). The Program- mable Brick makes possible a wide range of new design activities for children, encouraging children to see themselves as designers and inventors. At the same time, we believe that these activities could fun- damentally change how children think about (and relate to) computers and computational ideas. Ubiquitous computing Our work on the Programmable Brick fits within an area of research sometimes known as "ubiquitous computing." This research aims to change the nature of computing in very fundamental ways. As described in one research article: "We live in a complex world, filled with myriad objects, tools, toys, and people. Our lives are spent in diverse interaction with this environ- ment. Yet, for the most part, our computing takes place sitting in front of, and staring at, a single glow- ing screen attached to an array of buttons and a mouse."? Ubiquitous computing, by contrast, aims at "integrating computers seamlessly into the world at large." The goal is to spread computation throughout ©Copyright 1996 by International Business Machines Corpora- tion. Copying in printed form for private use is permitted without payment of royalty provided that (l) each reproduction is done without alteration and (2) the Journal reference and IBM copynght notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied or distributed royalty free without further permission by computer-based and other infor- mation-service systems. Permission to republish any other portion of this paper must be obtained from the Editor. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996 0018-8670/96/$5.00 © 1996 IBM RESNICK ET AL. 443

Upload: others

Post on 24-May-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Programmable Bricks:Toys to think with

by M. ResnickF. MartinR. SargentB. Silverman

In this paper, we discuss the applicat[ons ant!implications of the Programmable Brick-s-s tiny,portable computer embecfded ~nside a LE~Q'Jbrick, capable of interacting with the phys!calworld in a large variety of ways. We describe howProgrammable Bricks make possible a wide rangeof new design activities for children, and wediscuss experiences in using ProgrammableBricks in three types of applications: autonomouscreatures, active environments, and personalscience experiments.

I n many educational computer projects,. c~ldrencontrol and manipulate worlds that exist m the

computer. Using one program, children can controlthe movements of Newtonian "dynaturtles" in physicsmicroworlds.' Using a different program, children cancreate and manipulate simulated urban worlds, con-structing houses, roads, and factories, and setting taxrates for the city.'

But instead of controlling and manipulating worlds inthe computer, what if children could control andmanipulate computers in the world? That is, what ifchildren could spread computation throughout theirown personal worlds? For example, a child mightattach a tiny computer to a door, then program thecomputer to make lights tum on automatically when-ever anyone enters the room. Or the child might pro-gram the computer to greet people as they enter theroom---or to sound an alarm if anyone enters the roomat night.

In this paper, we describe a new technology, called theProgrammable Brick (Figure 1), that makes suchactivities possible, and we explore how this new tech-

nology might open new learning opportunities forchildren. The Programmable Brick is a tiny, portablecomputer embedded inside a pocket-sized LEGO**brick. The brick is capable of interacting with thephysical world in a large variety of ways (includingsensors and infrared communication). The Program-mable Brick makes possible a wide range of newdesign activities for children, encouraging children tosee themselves as designers and inventors. At thesame time, we believe that these activities could fun-damentally change how children think about (andrelate to) computers and computational ideas.

Ubiquitous computing

Our work on the Programmable Brick fits within anarea of research sometimes known as "ubiquitouscomputing." This research aims to change the natureof computing in very fundamental ways. As describedin one research article: "We live in a complex world,filled with myriad objects, tools, toys, and people. Ourlives are spent in diverse interaction with this environ-ment. Yet, for the most part, our computing takesplace sitting in front of, and staring at, a single glow-ing screen attached to an array of buttons and amouse."? Ubiquitous computing, by contrast, aims at"integrating computers seamlessly into the world atlarge." The goal is to spread computation throughout

©Copyright 1996 by International Business Machines Corpora-tion. Copying in printed form for private use is permitted withoutpayment of royalty provided that (l) each reproduction is donewithout alteration and (2) the Journal reference and IBM copynghtnotice are included on the first page. The title and abstract, but noother portions, of this paper may be copied or distributed royaltyfree without further permission by computer-based and other infor-mation-service systems. Permission to republish any other portionof this paper must be obtained from the Editor.

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996 0018-8670/96/$5.00 © 1996 IBM RESNICK ET AL. 443

Page 2: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Figure 1 The Programmable Brick

~ SENSOR INPUTS 'J

ON/OFFSWITCH

STARTBUTTON~

STOP ~BUTTON

the environment, embedding computation in all typesof objects and artifacts.

For example, at some laboratories, people are startingto wear "active badges" so that the building can"know" the location of all people in the building at alltimes. At other sites, researchers are using "smartwhiteboards'<> or "digital desks"? that keep track ofeverything that is written on them. To some, ubiqui-tous computing means that computation "disappears,"becoming totally integrated into everyday objects. Wetake a somewhat broader view of ubiquitous comput-ing, including new artifacts like "personal digitalassistants" and hand-held computers that enable peo-ple to access and exchange information wherever theyare.

Our work on the Progranuuable Brick is resonant withthese efforts to distribute computational power, but itdiffers along several important dimensions:

• The Programmable Brick is designed for children.Most work on ubiquitous computing is aimed atadults, particularly adults in business settings. Forexample, most personal digital assistants aredesigned for tasks like keeping track of appoint-

444 RESNICK ET AL.

OPERATION

I l ED

lOW-BATTERY/lED

ments and downloading stock quotes. Those activi-ties are not of great interest to children. Indeveloping the Programmable Brick, we consideredhow we could make ubiquitous-computing activi-ties meaningful to the lives of children.

• The Programmable Brick gives users the power tocreate and control. In many ubiquitous-computingactivities, the roles of designers and users are sepa-rate and distinct. Designers create ubiquitous-com-puting devices (like active badges and smartwhiteboards) and users interact with them. Our goalis to blur this distinction, giving much greater con-trol to users so that they can create their own ubiq-uitous-computing activities. The ProgrammableBrick is explicitly programmable so that users cancontinually modify and customize its behavior. Inthis way, the Programmable Brick fits clearly withina constructionist approach to learning.8

• The Programmable Brick provides rich connectionsto the world. Many ubiquitous-computing activitiesfocus on transfer of information (such as download-ing airline schedules). We are more interested inconnecting computation to physical objects,enabling people to program computers to sense theworld around them and to perform actions inresponse. Toward that end, the Programmable Brick

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996

Page 3: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

has a rich assortment of input/output capabilities,including ten ports for motors and sensors, andbuilt-in speaker and infrared communications.

LEGO/Logo

The Programmable Brick project extends our previouswork with LEGO/Logo.9.JO LEGO/Logo links thepopular LEGO construction kit with the Logo program-ming language. In using LEGO/Logo, children startby building machines out of LEGO pieces, using notonly the traditional LEGO building bricks but newerpieces like gears, motors, and sensors. Then they con-nect their machines to a computer and write computerprograms (using a modified version of Logo) to con-trol the machines. For example, a child might build aLEGO house with lights and program the lights to tumon and off at particular times. Then, the child mightbuild a garage and program the garage door to openwhenever a car approaches.

Logo itself was developed in the late 1960s as a pro-gramming language for children.U-? In the earlyyears, the most popular use of Logo involved a "floorturtle," a simple mechanical robot connected to thecomputer by a long "umbilical cord." With the prolif-eration of personal computers in the late 1970s, theLogo community shifted its focus to "screen turtles."Screen turtles are much faster and more accurate thanfloor turtles, and thus allow children to create andinvestigate more complex geometric effects.

In some ways, LEGO/Logo might seem like a throw-back to the past, since it brings the turtle off the screenand back into the world. But LEGO/Logo differs fromthe early Logo floor turtles in several important ways.First of all, LEGO/Logo users are not given ready-made mechanical objects; they build their ownmachines before programming them. Second, chil-dren are not restricted to turtles. Elementary-schoolstudents have used LEGO/Logo to build and programa wide assortment of creative machines, including aprogrammable pop-up toaster, a "chocolate-carob fac-tory" (inspired by the Willy Wonka children's stories),and a machine that sorts LEGO bricks according totheir lengths. The LEGO company now sells a com-mercial version of LEGO/Logo. It is used in morethan a dozen countries, including more than 15000elementary and middle schools in the United States.

LEGO/Logo has some limitations. For one thing,LEGO/Logo machines must be connected to a desk-top computer with wires. Wires are a practical nui-

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996

sance, particularly when children use LEGO/Logo tocreate mobile "creatures." Wires get tangled withother objects in the environment, they get twisted inknots as the creature rotates, and they restrict theoverall range of the creature. Wires are also a concep-tual nuisance. It is difficult to think of a LEGO/Logomachine as an autonomous creature as long as it isattached by umbilical cord to a computer.

Members of our research group have tried to solvethese problems in several ways. We experimentedwith various technologies for wireless communica-

It isdifficult to think ofa machine as an autonomouscreature if it isattached by

umbilical cord to a computer.

tion, to get around the problem of wires. But none ofthese approaches satisfied us. So we decided to makea more serious modification: we began to build elec-tronics inside the LEGO bricks. We have taken severalapproaches. The "Braitenberg Brick" system, devel-oped primarily by Fred Martin with inspiration fromthe book Vehicles.t? is based on a set of low-level"logic bricks" (such as and-gates, flip-flops, and tim-ers). Children can create different behaviors by wiringthese bricks together in different ways.14,15

Programmable Bricks

The Braitenberg Bricks have dedicated functions. Theflip-flop brick, for instance, has a very specializedfunction: it holds one bit of state, and it changes thatstate whenever it receives a sharp transition in itsinput. But why should we be restricted to dedicatedbricks? Why not put a full computer in a LEGO brick?

That is what we have done in the Programmable Brickproject. In designing the Progranunable Brick, we hadseveral overarching goals. Each goal involved sometype of "multiplicity":

• Multiple activities. We wanted the ProgrammableBrick to support a wide variety of different activi-

RESNICK ET AL. 445

Page 4: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Figure 2 Fourth-grade students test the behaviors oftheir Programmable Brick "creature"

ties-so that it could connect to the interests andexperiences of a wide variety of people. Whilesome people might use the Brick to create their ownscientific instruments, others might use it to createtheir own musical instruments.

• Multiple input/output modalities. We wanted theProgrammable Brick to connect to many things inthe world. To do that, the Brick needed many differ-ent types of output devices (such as motors, lights,beepers, infrared transmitters) and many differenttypes of input devices (such as touch sensors, soundsensors, light sensors, temperature sensors, infraredreceivers). Indeed, the number of possible applica-tions of the Brick expands greatly with each newinput or output device, since each new device canbe used in combination with all of the others .

• Multiple processes. Children working on LEGalLogo projects often want to control two or morethings at the same time. For example, they mightwant to make a Ferris wheel and merry-go-roundtum in synchrony, while a song plays in the back-ground and an electric eye automatically counts therotations of the rides. With standard programminglanguages, it is very difficult to achieve this effect:the user must explicitly interleave the multiplethreads of control. In the Programmable Brick, wewanted to support parallel processing, so that users

446 RESNICK ET AL.

could easily write programs to control multiple out-puts and check multiple sensors all at the sametime .

• Multiple bricks. We wanted Programmable Bricksnot only to act on their own but to interact with oneanother. In that way, children could program Bricksto share sensor data with each other, or they couldcreate "colonies" of interacting creatures. Thesetypes of activities would enable children to explorethe scientific ideas of emergence and self-organiza-tion."

Based on these goals, we developed the Programma-ble Brick shown in Figure 1. About the size of achild's juice box, the Progranunable Brick is based onthe Motorola 6811 processor with 32 kilobytes ofnonvolatile random access memory, and it has a widevariety of input-output possibilities. The Brick cancontrol four motors or lights at a time, and it canreceive inputs from six sensors. The Brick supportsinfrared communications (with a built-in infraredreceiver and an attachable transmitter). The Brickincludes a two-line liquid-crystal display, plus a knoband two buttons for interacting directly with theBrick. An earlier version of the Brick had many fewerinput-output features. (See References 17 and 18 formore details.)

To program the Programmable Brick, you first writeprograms on a standard personal computer (using aspecial version of Logo known as Brick Logo), thendownload the programs via a cable to the Programma-ble Brick. Then you can disconnect the cable and takethe brick with you. The programs remain stored onthe brick. When you want to execute a program on thebrick, you can scroll through a menu of programs onthe two-line liquid crystal display screen (using theknob to scroll), then press a button to run the selectedprogram. (For more technical information about theProgrammable Brick, see our World Wide Web site onthe Internet.")

Experiences with the Brick

In our early experiments with the ProgrammableBrick, we observed three broad categories of applica-tions: active environments, autonomous creatures, andpersonal science experiments. In this section, we dis-cuss example projects in each category.

Active environments. One of the earliest projectswith the Programmable Brick involved two children.Andrew and Dennis, ages 11 and 12, were intrigued

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996

Page 5: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

with the idea of making an "active environment'r-;making the environment "come alive" and react topeople. After some consideration, they decided tomake a device to flip on a room's light switch whenpeople entered the room, and flip it off when peopleleft.

At first, Andrew and Dennis studied the different pos-sible sensors, trying to figure out which one could beconnected to the door, and how. They decided to try a"bend" sensor to sense the opening of the door. (Thebend sensor is a plastic whisker, several inches long,that gives a measure of how much it is bent.) Theyfirst tried to mount the sensor to the wall approxi-mately where the doorstop was, but then decided thatpeople would need to open the door very wide beforethe sensor detected anything. Then, they tried mount-ing the sensor at the door hinge in such a way that thesensor was bent in proportion to how widely the doorwas opened.

Before programming, Andrew and Dennis tested thevalue of the bend sensor at different positions of thedoor, to find out if they had mounted the sensor welland if the sensor would really give them the informa-tion they wanted. Then, they built a LEGO mechanismto flip the light switch on the wall of the room. Themechanism connected a motor, through a gear train, toa lever that pushed against the light switch. Theydesigned their mechanism in such a way that spinningthe motor one way would tum the light on, while thereverse direction would tum the light off.

At this point, Andrew and Dennis started focusing onthe algorithm for flipping the light switch when thedoor opened. They realized there was a problem: thedoor sensor indicated when the door was opened, butit did not tell whether people were entering or exitingthe room. The children wanted some sort of sensor totell whether someone was entering the room (in whichcase their machine should tum on the light) or leavingthe room (in which case the machine should tum offthe light).

After a little thinking, Andrew and Dennis came upwith a clever solution: they attached a LEGO bar to thedoor handle on the inside of the door, and connected aLEGO touch sensor to this bar. In this way, the Pro-grammable Brick could tell if people were leaving (inwhich case the door would be open and the touch sen-sor in the handle would be pressed), or if people wereentering (the door would be open but no signal wouldcome from the touch switch).

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996

Figure 3 Three sixth-grade students show off theirLEGO dinosaur, including a knapsack to carryits Programmable Brick

Once the second sensor was in place and tested,Andrew and Dennis wrote a simple program that con-tinuously checked both sensors, and flipped the lightswitch depending on the sensor values. Once they gotthe project working, they ran in and out of the roomrepeatedly, breaking into big smiles each time thelights switched on and off.

Autonomous creatures. With traditional LEGalLogo technology and LEGO constructions tethered tothe computer, children are more likely to think ofbuilding "machines" (like elevators and Ferriswheels) rather than "creatures" (like robotic dino-saurs). As noted earlier, the dangling wires are both apractical nuisance and a conceptual nuisance. TheProgrammable Brick removes these problems, freeingchildren to think about new types of autonomous-creature projects.

In the first large-scale use of Programmable Bricksoutside of a laboratory setting, a group of schools inRhode Island used the Bricks to create a "RoboticPark" exhibition. Students created robotic "animals"that participated in a type of artificial 4-H show (Fig-ures 2 and 3). The animal theme was chosen in aneffort to make the project appealing to a broad range

RESNICKET AL. 447

Page 6: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Figure 4 Programmable Brick attached to handlebars ofEric's bicycle

of students, while also connecting to important ideasfrom the science curriculum. As students built andprogrammed their LEGO creatures, they studied how"real" animals live and behave, and they applied theirfindings to their LEGO constructions.

In one fourth-grade class, students (working in teamsof three or four) built a robotic crab, a turtle, and analligator. In a fifth-grade class, students built an"anchovy fish" and a dinosaur. In all cases, studentsmade their LEGO creatures mimic the behaviors ofactual animals. For example, the LEGO crab had a pairof pincers that started snapping when the crab ran intosomething; the LEGO turtle's head retracted when itsnose was bumped; the LEGO dinosaur was attracted toflashes of light (like the dinosaur in Jurassic Park20) .

Many of the creatures were equipped with five or sixdifferent sensors. The multiprocessing capabilities ofthe Programmable Brick were critical in many cases.Students tended to write multiple "condition-action"rules to connect sensor stimuli to behavioral reactions.For example, one student wrote a short piece of Logocode telling a creature to back up and turn left whenthe right-hand touch sensor was pressed, and anothershort piece of code telling the creature to back up andtum right when the left-hand touch sensor waspressed. While these rules were active, the studentadded more rules telling the creature how to respond

448 RESNICK ET AL.

to inputs from various light sensors. In this way, it waseasy for students to develop complex behaviors fortheir creatures. (See Reference 21 for a discussion ofuniversity-level students working on similar projects.)

Another group of students (ages 12 to 16) worked onsimilar projects at a four-day workshop at the BostonMuseum of Science. One focus of this workshop wasthe use of multiple processes for multiple behaviors.The Programmable Brick's software includes primi-tives that allow students to tum on and off the differ-ent processes from program control. In one project,Darryl created two procedures: one to make the crea-ture follow a light, the other to make the creatureavoid obstacles. Darryl made both procedures run atthe same time. The parallelism of the ProgrammableBrick was very useful: the creature could check forobstacles even as it followed the light. But when thecreature detected an obstacle, there were problems.As the obstacle-avoidance behavior tried to guide thecreature around the obstacle, the light-followingbehavior kept pointing the creature back toward thelight. Darryl solved this problem by modifying theobstacle-avoidance behavior to temporarily tum offthe light-following behavior while the creature wasnavigating around a detected obstacle.

Personal science experiments. We believe that theProgrammable Brick will make possible new types ofscience experiments, in which children investigateeveryday phenomena in their lives (both in and out ofthe classroom). For example, children could attachProgrammable Bricks (and related sensors) to theirown bodies to monitor and analyze how their legsmove while they are running. We believe that studentsare much more likely to make deep connections toscientific thinking and scientific ideas when they usecomputation in this new way, continually designingand redesigning their own personal investigations.

Brian Silverman and his son Eric used a Programma-ble Brick to conduct one such investigation. Ericattached a Programmable Brick to the handlebars ofhis bicycle (Figure 4) and programmed the Brick tocollect data from a sensor on the front bicycle wheel.After trying various sensors to measure the rotation ofthe wheel, Brian and Eric settled on a magnetmounted to the wheel, and a reed relay (mechanicalmagnetic sensor) mounted next to the wheel. Once perrotation of the wheel, the sensor would detect themagnet. The brick was programmed to record, everytwo seconds, the speed of the wheel and the numberof wheel rotations.

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996

Page 7: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Figure 5 Speed versus distance riding bike to and from work

owWD-en

.~I

B C

H

B B

--- TO WORKFROM WORK (PLOTTED BACKWARDS)

V~Vl/~l.(\r'\

1II

~R B A A A

DISTANCE

POINTS OF INTERESTA: RED TRAFFIC LIGHT GOING TO WORK, GREEN COMING HOMEB: GREEN TRAFFIC LIGHT GOING TO WORK, RED COMING HOMEC: RED TRAFFIC LIGHT BOTH DIRECTIONSH: DOWNHILL TOWARD WORK, UPHILL BACKR: RAILROAD TRACKS

Later, Brian attached the Brick to his own bicycle inorder to investigate the speed of his bicycle during hisdaily bike trips commuting to and from work. Tograph the results, Brian and Eric wrote a special-pur-pose program. Although the recorded data measuredspeed vs time, they decided to graph speed vs distanceinstead. With this graph, they could superimpose tripstaken on different days. Events at the same locationon each trip (like traffic lights or stop signs) would beat the same place along the x-axis of the graph. Thegraph is quite striking: it shows things like train tracks(where Brian had to slow down every day) and trafficlights (where he came to a stop only some of thetime). See Figure 5 for the graph of a single trip towork and back.

By plotting return trips in reverse, and superimposingthem, many of the features (such as slowing down forthe train tracks) were held in common. But consistent

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996

discrepancies (one stretch of the trip consistentlybeing faster in one direction than in the other) indi-cated something was different between the trips to andfrom-for example, an uphill or downhill slope.

There are already many "bike computers" on the mar-ket to help people monitor their cycling. Why use aProgrammable Brick? The Programmable Brickallows users much greater flexibility in collecting andanalyzing data. For example, the Programmable Brickenabled Brian and Eric to develop a new representa-tion (speed vs distance) that commercial bike comput-ers would never support.

Things That Think (and make us think)

The MIT Media Laboratory recently initiated a majornew research project called "Things That Think." Theoverarching goal is to embed computational capabili-

RESNICK ET AL. 449

Page 8: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

ties in everyday objects like furniture, shoes, and toys.The Progranuuable Brick fits within this new initia-tive-but with an important twist. In our work, we areinterested in things that think, not because they mightaccomplish particular tasks more cheaply or easily orintelligently, but because they might enable people to

"Things that think"are more interestingwhen they also act as"things to think with."

think about things in new ways. That is, things thatthink are most interesting to us when they also act as"things to think with." We believe that ProgrammableBricks act in just that way, enabling children to per-form new types of explorations and experiments andto engage in new types of thinking.

The Programmable Brick project is just beginning; wehave many ideas for future extensions. We are cur-rently developing a new set of bricks, known as Crick-ets, that are much smaller and lighter than the originalProgrammable Bricks. Each Cricket is not much big-ger than the 9-volt battery that powers it. A Cricketcan control two motors and receive information fromtwo sensors, and it comes with built-in two-way infra-red communications capabilities for "talking" withother Crickets and other electronic devices. The smallsize of the Crickets, along with their enhanced com-munication capabilities, opens up new possibilities forapplications. People might wear the Crickets toexchange information with one another, as in theThinking Tags project (described elsewhere in thisissue"). Or children might use the Crickets to experi-ment with decentralized and self-organizing phenom-ena, creating a whole "colony" of ant-like mobilerobots that interact with one another.

There are still many obstacles to the widespread useof Programmable Bricks and Crickets-especially inschool settings. The major obstacles are not techno-logical, but in the structure and organization ofschools themselves. Most interesting ProgrammableBrick projects require extended blocks of time; theycannot be squeezed into standard 50-minute class ses-sions or standard two-week curriculum units. More-over, Programmable Brick projects typically cut

450 RESNICK ET AL.

across disciplinary boundaries, and they often engagestudents in thinking about ideas (such as feedbackloops) that are not traditionally included in precollegecurricula. As a result, educators are not quite surewhere to "fit" Programmable Brick activities. For theProgrammable Brick to become successful in schoolsettings, we need to work with educators to find waysaround these constraints. Indeed, one of the mostimportant effects of new technologies like the Pro-grammable Brick is that they can provoke us torethink some of our basic assumptions about educa-tion.

Acknowledgments

Seymour Papert, Steve Ocko, and Allan Toft haveprovided encouragement, inspiration, and ideas forthe Programmable Brick project. Andrew Blumberg,Yuying Chen, Fei Hai Chua, Dennis Evangelista,Chris Gatta, Hanna Jang, Owen Johnson, Mark Neri,Brian Robertson, Victor Tsou, and Elaine Yang allcontributed to the development effort. The LEGOGroup and the National Science Foundation (Grants9153719-MDR, 8751190-MDR, and RED-9358519)have provided financial support. Portions of this paperpreviously appeared in Reference 23.

For more information on the Programmable Brick, seeour World Wide Web site on the Internet."

Appendix: Twenty things to do with aProgrammable Brick

More than 20 years ago, as researchers and educatorswere just beginning to explore the possibilities ofcomputers in education, Seymour Papert and CynthiaSolomon wrote a memo called "Twenty Things to Dowith a Computer,"?" The memo described a wonderfulcollection of activities, pushing computers in direc-tions that few other people had imagined. Some of theactivities on their list eventually became common-place; others are still visionary today. A few yearslater, Danny Hillis (then an undergraduate at MIT)wrote a memo entitled "Ten Things to Do with a Bet-ter Computer,"> describing a new set of activities thatwould be possible if computers could execute instruc-tions in parallel. Hillis later realized some of theseideas in his massively parallel Connection Machinecomputer.26

In the same spirit, we have compiled a new list enti-tled "Twenty Things to Do with a ProgrammableBrick."IO

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996

Page 9: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

1. Create a "haunted house." Attach a Progranuua-ble Brick to the door to make creaking soundswhenever the door is opened. Program anotherBrick to drop spiders on people when they walkthrough the door. Build a LEGO platform for apumpkin, and program a Brick to drive the pump-kin around the room.

2. Connect sensors to various parts of your body.Then program a Programmable Brick to monitoryour heartbeat and breathing as you walk and run.Or program the Brick to play different soundswhen you move different parts of your body.

3. Take a Programmable Brick with you to measurethe pH level of the water in local streams, or thenoise levels at a local construction site.

4. Create a LEGO musical instrument. The instru-ment might have buttons like a flute, or a slidingpart like a trombone, or a completely new inter-face that you invent. Start by writing a simpleprogram so that the Programmable Brick playsdifferent notes (or melodies) when you move dif-ferent parts of the instrument. Then enhance theprogram so that the Brick improvises on yournotes. Or program the Brick to play "rounds" (byplaying a second copy of your notes with adelay).

5. Put a Progranuuable Brick and light sensor on thedoor to keep track of the number of people thatenter the room. Then program the Brick to greetpeople as they enter the room (with music or dig-itized speech).

6. Set up a weather station on the roof of the build-ing.

7. Use a Programmable Brick to find out if the lightreally does go off when you shut the refrigeratordoor.

8. Attach a Progranuuable Brick to an ashtray, andprogram it to playa coughing sound wheneveranyone uses the ashtray.

9. Build a remote-controlled LEGO car. Use a stan-dard television remote control to conuuunicate(via infrared transmission) with a ProgrammableBrick in the car.

10. Create an "intelligent room" that automaticallyturns on the lights when someone walks in theroom. (Here's one approach. Build a LEGOmachine that turns on the light switch, and con-nect it to a Progranuuable Brick. Use anotherProgranuuable Brick to detect when anyoneenters the room. Use infrared transmission toconuuunicate between the two Bricks.)

11. Use a Programmable Brick to control a video-camera (via infrared transmission). Program the

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4,1996

Brick to make a time-lapse video of a plant grow-ing (taking a few frames every hour or day).

12. Use a Progranuuable Brick to program your VCR.13. Send secret messages across the room to some-

one else who also has a Programmable Brick.14. Put a Brick on your dog's collar and collect data

about your dog's behavior. How much time doesyour dog spend running around? Discuss whetherexperimenting on your dog is ethical.

15. Use a Brick to record your dog barking. Then putthe Brick in a remote-controlled LEGO car. Playthe barking sound when the LEGO car gets near acat. How does the cat react?

16. Build a LEGO creature that you can interact with.Program the creature to act in different wayswhen you clap once, or clap twice, or shine a lightin its "eyes."

17. Build a LEGO creature that explores its environ-ment. Program the creature to find the part of theroom with the most light or the highest tempera-ture. Next, put a plant on your LEGO creature, sothat the plant will always move to the part of theroom with the most light (or the highest tempera-ture). Use other sensors to monitor the growth ofthe plant.

18. Build a LEGO machine that can water your plants,then program a Brick to make the machine waterthe plants every few days.

19. Create a game where each player carries a Pro-granuuable Brick. Program the Bricks so thatthey give instructions to the players, and sendmessages from one player to another.

20. Think up 20 more things to do with a Program-mable Brick.

**Trademark or registered trademark of LEGO Systems, Incorpo-rated.

Cited references

1. H. Abelson and A. diSessa, Turtle Geometry: The Computer asa Medium for Exploring Mathematics, MIT Press, Cambridge,MA (1980).

2. W. Wright, SimCity, Maxis, Orinda, CA (1990).3. P. Wellner, W. Mackay, and R. Gold, "Computer Augmented

Environments: Back to the Real World," Communications oftheACM36, No.7, 24-26 (July 1993).

4. M. Weiser, "The Computer for the 21st Century," ScientificAmerican 265, No.3, 94-104 (September, 1991).

5. S. Elrod, R. Bruce, R. Gold, D. Goldberg, F. Halasz, W. Jans-sen, D. Lee, K. McCall, E. Pedersen, K. Pier, 1. Tang, andB. Welch, "Liveboard: A Large Interactive Display SupportingGroup Meetings, Presentations, and Remote Collaborations,"Proceedings, ACM Conference on Human Factors in Comput-ing Systems, ACM Press, New York (1992), pp. 599-607.

6. M. Weiser, "Some Computer Science Issues in Ubiquitous

RESNICKET AL. 451

Page 10: Programmable Bricks: Toys to think withweb.media.mit.edu/~mres/papers/Programmable-Bricks-published-version.pdfProgrammable Bricks: Toys to think with by M. Resnick F. Martin R. Sargent

Computing," Communications of the ACM, 36 No.7, 25-26(July, 1993).

7. P. Wellner, "Interacting with Paper on the Digital Desk," Com-munications oftheACM 36, No.7, 87-96 (July, 1993).

8. S. Papert, "Situating Constructionism," 1. Harel and S. Papert,Editors, Constructionism, Ablex Publishing, Norwood, NJ(1991).

9. M. Resnick, S. Ocko, and S. Papert, "LEGO, Logo, andDesign," Children's Environments Quarterly 5, No.4, 14-18(1988).

10. M. Resnick, "Behavior Construction Kits," Communications oftheACM36, No.7, 64-71 (July 1993).

11. S. Papert, Mindstorms: Children, Computers, and PowerfulIdeas, Basic Books, New York (1980).

12. B. Harvey, Computer Science Logo Style, MIT Press, Cam-bridge, MA (1985).

13. V Braitenberg, Vehicles, MIT Press, Cambridge, MA (1984).14. N. Granott, "Puzzled Minds and Weird Creatures: Spontaneous

Inquiry and Phases in Knowledge Construction," 1. Harel andS. Papert, Editors, Constructionism, Ablex Publishing, Nor-wood, NJ (1991).

15. D. Hogg, F. Martin, and M. Resnick, "Braitcnberg Creatures,"Epistemology and Learning Memo 13, MIT Media Laboratory,Cambridge, MA (1991).

16. M. Resnick, Turtles, Termites, and Traffic Jams, MIT Press,Cambridge, MA (1994).

17. F. Martin, Children, Cybernetics, and Programmable Turtles,master's degree thesis, MIT Media Laboratory, Cambridge,MA(1988).

18. M. Bourgoin, "Children Using LEGO Robots to ExploreDynamics," 1. Harel, Editor, Constructionist Learning, MITMedia Laboratory, Cambridge, MA (1990).

19. The World Wide Web site for the Programmable Brick is athttp://el.www.media.mit.edu/groups/el/projects/programmable-brick/.

20. M. Crichton, Jurassic Park, Alfred A. Knopf, New York(1990). The 1993 movie based on the book was directed bySteven Spielberg.

21. F. Martin, Circuits to Control: Learning Engineering byDesigning LEGO Robots, Ph.D. dissertation, MIT Media Labo-ratory, Cambridge, MA (1994).

22. R. Borovoy, M. McDonald, F. Martin, and M. Resnick, "ThingsThat Blink: Computationally Augmented Name Tags," IBMSystems Journal 35, Nos. 3&4, 488-495 (1996, this issue).

23. R. Sargent, M. Resnick, F. Martin, and B. Silverman, "Buildingand Learning with Programmable Bricks," Y. Kafai andM. Resnick, Editors, Constructionism in Practice, LawrenceErlbaum, Mahwah, NJ (1996).

24. S. Papert and C. Solomon, "Twenty Things to Do with a Com-puter," Artificial Intelligence Memo 248, MIT Artificial Intelli-gence Laboratory, Cambridge, MA (1971).

25. W. D. Hillis, "Ten Things to Do with a Better Computer,"unpublished memo available from MIT Artificial IntelligenceLaboratory, Cambridge, MA (1975).

26. W. D. Hillis, The Connection Machine, MIT Press, Cambridge,MA(1985).

Acceptedfor publication April 4, 1996.

Mitchel Resnick MIT Media Laboratory, 20 Ames Street, Cam-bridge, Massachusetts 02139-4307 (electronic mail: [email protected]). Dr. Resnick, an associate professor at the MITMedia Laboratory, studies the role of new technological tools inlearning and education. He has helped develop a variety of "compu-tational construction kits" (including LEGO/Logo and StarLogo),

452 RESNICK ET AL.

and he cofounded the Computer Clubhouse, an afterschoollearningcenter for youth from under-served communities. He earned a B.A.in physics at Princeton University, and M.S. and Ph.D. degrees incomputer science at MIT. He won a National Science FoundationYoung Investigator Award in 1993, and he is author of the bookTurtles, Termites, and Traffic Jams, published by MIT Press. Dr.Resnick is on the Board of Overseers and is chair of the educationcommittee at The Computer Museum.

Fred Martin MIT Media Laboratory, 20 Ames Street, Cambridge,Massachusetts 02139-4307 (electronic mail: [email protected]). Dr. Martin earned a B.S. degree in computer science in 1986,an M.S. in mechanical engineering in 1988, and a Ph.D. in mediaarts and sciences in 1994, all from the Massachusetts Institute ofTechnology. His doctoral dissertation explored learning in an inten-sive, design-rich robot-building class he codeveloped for MITundergraduates. Dr. Martin's research interests include: the role ofexperiential knowledge in learning formal scientific and engineer-ing methods; design-rich environments for learning; and robots as amedium for exploring engineering practice. He is presently aresearch scientist with the Epistemology and Learning Group at theMIT Media Laboratory.

Randy Sargent Newton Research Labs, 14813 NE 13th Street,Bellevue, Washington 98007 (electronic mail: [email protected]). Mr. Sargent holds a bachelor's degree in computerscience and a master's degree in media arts and sciences, both fromMIT. He was a founding organizer of the MIT robot design compe-tition, and he was centrally involved in the development of the Pro-grammable Brick. He is a cofounder of Newton Research Labs, asoftware company developing products for robotics hobbyists andresearchers.

Brian Silverman Logo Computer Systems Inc., Po. Box 162,Highgate Springs, Vermont 05460 (electronic mail: [email protected]).Mr. Silverman is Director of Research at Logo Computer SystemsInc. (LCSI) and a visiting scientist at the MIT Media Lab. He wasone of the founders of LCSI, the world's leading developer of Logosoftware. He has directed the development of more than a dozencommercial educational software products (including LogoWriter,MicroWorlds, and the Phantom Fishtank), many of which have wonmajor awards from industry groups and publications. At MIT, hehas been centrally involved in the development of StarLogo, Pro-grammable Bricks, and Crickets.

Reprint Order No. G321-5616.

IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996