toystothinkwith.pdf

Upload: miguel-melgar

Post on 03-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 ToystoThinkWith.pdf

    1/10

    443

    Copyright 1996 by International Business Machines Corpora-tion. Copying in printed form for private use is permitted withoutpayment of royalty provided that (1) each reproduction is donewithout alteration and (2) theJournalreference and IBM copyrightnotice 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 republishany other portionof this paper must be obtained from the Editor.

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

    In this paper, we discuss the applications andimplications of the Programmable Bricka tiny,portable computer embedded inside a LEGO

    brick, capable of interacting with the physicalworld 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.

    n many educational computer projects, childrencontrol and manipulate worlds that exist in the

    computer. Using one program, children can controlthe movements of Newtonian dynaturtles in physics

    microworlds.1Using a different program, children cancreate and manipulate simulated urban worlds, con-structing houses, roads, and factories, and setting tax

    rates for the city.2

    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 might

    attach a tiny computer to a door, then program thecomputer to make lights turn on automatically when-ever anyone enters the room. Or the child might pro-gram the computer to greet people as they enter theroomor 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 a

    mouse.3Ubiquitous computing, by contrast, aims atintegrating computers seamlessly into the world at

    large.4The goal is to spread computation throughout

    I

    Programmable Bricks:

    Toys to think with

    by M. ResnickF. MartinR. SargentB. Silverman

  • 8/13/2019 ToystoThinkWith.pdf

    2/10

    RESNICK ET AL. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996444

    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 canknow the location of all people in the building at alltimes. At other sites, researchers are using smart

    whiteboards5,6or digital desks7that 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 Programmable 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-

    ments and downloading stock quotes. Those activi-ties are not of great interest to children. In

    developing 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 programmableso that users cancontinually modify and customize its behavior. In

    this 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

    Figure 1 The Programmable Brick

    SENSOR INPUTS

    ON/OFFSWITCH

    STARTBUTTON

    STOPBUTTON

    MOTOR OUTPUTS

    SCREENCHOICEKNOB

    LOW-BATTERYLED

    OPERATIONLED

  • 8/13/2019 ToystoThinkWith.pdf

    3/10

    IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996 RESNICK ET AL. 445

    has a rich assortment of input/output capabilities,including ten ports for motors and sensors, and

    built-in speaker and infrared communications.

    LEGO/Logo

    The Programmable Brick project extends our previous

    work with LEGO/Logo.9,10 LEGO/Logo links thepopular LEGOconstruction 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 aLEGOhouse with lights and program the lights to turnon 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.11,12 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 than

    floor 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 childrens 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-

    sance, particularly when children use LEGO/Logo tocreate mobile creatures. Wires get tangled with

    other 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-

    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 insidethe LEGObricks. We have taken several

    approaches. The Braitenberg Brick system, devel-oped primarily by Fred Martin with inspiration from

    the book Vehicles,13 is based on a set of low-levellogic bricks (such as and-gates, flip-flops, and tim-ers). Children can create different behaviors by wiring

    these 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 its

    input. But why should we be restricted to dedicatedbricks? Why not put a full computer in a LEGObrick?

    That is what we have done in the Programmable Brickproject. In designing the Programmable 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-

    It is di fficult to think ofa machine as an autonomous

    creature if it is attached byumbilical cord to a computer.

  • 8/13/2019 ToystoThinkWith.pdf

    4/10

    RESNICK ET AL. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996446

    tiesso that it could connect to the interests andexperiences of a wide variety of people. Whilesome people might use the Brick to create their own

    scientific instruments, others might use it to createtheir own musical instruments. Multiple input/output modalities. We wanted the

    Programmable 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 LEGO/

    Logo projects often want to control two or morethings at the same time. For example, they mightwant to make a Ferris wheel and merry-go-roundturn 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

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

    time. Multiple bricks. We wanted Programmable Bricks

    not 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.16

    Based on these goals, we developed the Programma-ble Brick shown in Figure 1. About the size of achilds juice box, the Programmable Brick is based onthe Motorola 6811 processor with 32 kilobytes of

    nonvolatile 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 a

    special 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 on

    the Internet.19)

    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

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

  • 8/13/2019 ToystoThinkWith.pdf

    5/10

    IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996 RESNICK ET AL. 447

    with the idea of making an active environmentmaking the environment come alive and react to

    people. After some consideration, they decided tomake a device to flip on a rooms 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 abend 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 before

    the 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 LEGOmechanismto 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 turn the light on, while thereverse direction would turn 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 turn on the light) or leavingthe room (in which case the machine should turn offthe light).

    After a little thinking, Andrew and Dennis came upwith a clever solution: they attached a LEGObar 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).

    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 LEGO/Logo technology and LEGOconstructions 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, freeing

    children 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 animalsthat 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

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

    its Programmable Brick

  • 8/13/2019 ToystoThinkWith.pdf

    6/10

    RESNICK ET AL. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996448

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

    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 ananchovy fish and a dinosaur. In all cases, studentsmade their LEGO creatures mimic the behaviors ofactual animals. For example, the LEGOcrab had a pairof pincers that started snapping when the crab ran intosomething; the LEGOturtles head retracted when itsnose was bumped; the LEGOdinosaur was attracted to

    flashes of light (like the dinosaur in Jurassic Park20).

    Many of the creatures were equipped with five or sixdifferent sensors. The multiprocessing capabilities of

    the Programmable Brick were critical in many cases.Students tended to write multiple condition-actionrules 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 andturn right when the left-hand touch sensor waspressed. While these rules were active, the studentadded more rules telling the creature how to respond

    to inputs from various light sensors. In this way, it waseasy for students to develop complex behaviors for

    their 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 Bricks software includes primi-tives that allow students to turn 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 Programmable

    Brick 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 turn 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 of

    his 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.

    Figure 4 Programmable Brick attached to handlebars ofErics bicycle

  • 8/13/2019 ToystoThinkWith.pdf

    7/10

    IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996 RESNICK ET AL. 449

    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

    discrepancies (one stretch of the trip consistentlybeing faster in one direction than in the other) indi-cated something was different between the trips to andfromfor 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 MITMedia Laboratory recently initiated a majornew research project called Things That Think. Theoverarching goal is to embed computational capabili-

    Figure 5 Speed versus distance riding bike to and from work

    A A ABBBB

    RC

    H TO WORK

    FROM WORK (PLOTTED BACKWARDS)

    DISTANCE

    SPEED

    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

  • 8/13/2019 ToystoThinkWith.pdf

    8/10

    RESNICK ET AL. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996450

    ties in everyday objects like furniture, shoes, and toys.The Programmable Brick fits within this new initia-

    tivebut 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

    think about things in new ways. That is, things thatthink are most interesting to us when they also act asthings 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 this

    issue22). 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 Cricketsespecially 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

    across disciplinary boundaries, and they often engagestudents in thinking about ideas (such as feedback

    loops) 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 have

    provided 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, see

    our World Wide Web site on the Internet.19

    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 Do

    with a Computer.24 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,25describing 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 Machine

    computer.26

    In the same spirit, we have compiled a new list enti-tled Twenty Things to Do with a Programmable

    Brick.10

    Things that thinkare more interestingwhen they also act asthings to think with.

  • 8/13/2019 ToystoThinkWith.pdf

    9/10

    IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996 RESNICK ET AL. 451

    1. Create a haunted house. Attach a Programma-ble Brick to the door to make creaking sounds

    whenever 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 Programmable 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 Programmable Brick to an ashtray, andprogram it to play a coughing sound wheneveranyone uses the ashtray.

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

    10. Create an intelligent room that automaticallyturns on the lights when someone walks in theroom. (Heres one approach. Build a LEGOmachine that turns on the light switch, and con-nect it to a Programmable Brick. Use anotherProgrammable Brick to detect when anyoneenters the room. Use infrared transmission tocommunicate between the two Bricks.)

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

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

    12. Use a Programmable 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 dogs collar and collect dataabout your dogs 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 LEGOcar gets near acat. How does the cat react?

    16. Build a LEGOcreature 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 LEGOcreature 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 LEGOcreature, 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 LEGOmachine 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-

    grammable 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 AugmentedEnvironments: Back to the Real World, Communications ofthe ACM36, No. 7, 2426 (July 1993).

    4. M. Weiser, The Computer for the 21st Century, ScientificAmerican265, No. 3, 94104 (September, 1991).

    5. S. Elrod, R. Bruce, R. Gold, D. Goldberg, F. Halasz, W. Jans-sen, D. Lee, K. McCall, E. Pedersen, K. Pier, J. 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. 599607.

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

  • 8/13/2019 ToystoThinkWith.pdf

    10/10

    RESNICK ET AL. IBM SYSTEMS JOURNAL, VOL 35, NOS 3&4, 1996452

    Computing, Communications of the ACM, 36 No. 7, 2526(July, 1993).

    7. P. Wellner, Interacting with Paper on the Digital Desk, Com-munications of the ACM36, No. 7, 8796 (July, 1993).

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

    9. M. Resnick, S. Ocko, and S. Papert, LEGO, Logo, andDesign, Childrens Environments Quarterly5, No. 4, 1418(1988).

    10. M. Resnick, Behavior Construction Kits, Communications ofthe ACM36, No. 7, 6471 (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, I. Harel andS. Papert, Editors, Constructionism, Ablex Publishing, Nor-wood, NJ (1991).

    15. D. Hogg, F. Martin, and M. Resnick, Braitenberg 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,masters degree thesis, MIT Media Laboratory, Cambridge,MA (1988).

    18. M. Bourgoin, Children Using LEGO Robots to ExploreDynamics, I. 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 by

    Designing 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 Journal35, Nos. 3&4, 488495 (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 Intelligence

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

    Accepted for 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),

    and he cofounded the Computer Clubhouse, an afterschool learningcenter 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 MartinMIT 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. Martins 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 bachelors degree in computerscience and a masters 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., P.O. Box 162,Highgate Springs, Vermont 05460 (electronic mail: [email protected]).Mr. Silverman is Director of Research at Logo Computer Systems

    Inc. (LCSI) and a visiting scientist at the MIT Media Lab. He wasone of the founders of LCSI, the worlds 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.