Abstract - One of the recurring design issues in creating computational artifacts for children is the question of programmability. On the one hand, there is only a limited range of things that a non-programmable artifact or toy can be "taught" to do. On the other hand, the traditional trappings and cultural associations of full-scale programming (e.g., incorporating a screen within a programmable artifact, or using wire or Bluetooth connections to transmit a program) run counter to the informal, playful aesthetics of children's playthings. This paper describes a "detente" in children's design–integrating the informality and physical structure of a toy with the full expressive range of symbolic programming. As an illustration of this approach, we describe Birdwatcher, a stuffed toy duck that can visually "read" meaningful programs–even hand-written programs. We show a representative scenario using Birdwatcher and explore several key issues for continuing work in making programming accessible to children. Keywords – end-user programming, ambient computing. I. INTRODUCTION Historically, in the design of children's technology, the issue of programmability has been the subject of fierce debate. Broadly speaking, one camp (of enthusiasts) has argued that the expressive range and conceptual interest of programming make it a worthwhile and potentially enjoyable activity for children; the opposite camp (of skeptics) argue variously that programming is too difficult, tedious, or aesthetically off-putting for children to engage in. This long-standing argument first gained prominence with the advent of personal computers in the early 1980's; at that time, the question centered on whether children should be taught to program desktop computers. [Cf. 8] More recently, with the increasing variety of computationally- enriched toys, games, and children's artifacts, the argument has carried over into new domains: should or should not (e.g.) computational toys, furniture, clothing be programmable? While we would count ourselves among the "enthusiasts" in this debate, we acknowledge that the skeptics raise potent objections. Certainly, the stereotypical portrait of programming–solitary, cerebral, formal, highly concentrated–runs counter to the playful, informal aesthetic desired in many children's artifacts. A programming paradigm for such artifacts should, as much as possible, attempt to blend the expressiveness and creativity of computational media with the exploratory, joyfully inventive, opportunistic values of much of children's play. [Cf. the arguments made in defense of "unstructured" play in [5].] Indeed, many fascinating and creative projects along these lines have been pursued. Probably the most venerable of these is the work done by Resnick and his colleagues on the programmable Lego brick and its successors [11], in which Logo programs are downloaded from a desktop computer to a standalone microprocessor equipped with sensor and actuator ports. This work has inspired numerous other marvelous efforts in computationally-enriched construction kits of various sorts (see Schweikardt and Gross [12] for an excellent summary of this work); other efforts have equipped stuffed toys, dolls, or robots with computational capabilities (see, for instance, the discussion of the popular "Furby" toy in [9]). In many instances, the incorporation of computation within such toys has been done with an attempt to simplify the task of programming– e.g., through the use of "programming by demonstration" [10] or by radically scaling down the range of expression of the programming medium [13]. This paper describes a working prototype of a children's toy illustrating what we believe to be a potentially fertile, powerful technique for making children's toys truly programmable. On the one hand, this style of design permits the use of a full-fledged programming environment, with the entire range of expression (conditionals, iteration, procedures, etc.) that such a medium might find profitable to include. On the other hand, the means by which programs can be sent to, and deployed within, any particular artifact are playful, informal, and aesthetically consistent with many traditions of (non-programmable) toys and furnishings. Our prototype, named Birdwatcher , is an end-user- "Serious" Programming Made Cuddly: a Fully End-User-Programmable Stuffed Toy Nwanua Elumeze, Yingdan Huang, Jane Meyers, and Michael Eisenberg Department of Computer Science University of Colorado Boulder CO USA nwanua@aniomagic.com 2010 IEEE International Conference on Digital Game and Intelligent Toy Enhanced Learning 978-0-7695-3993-5/10 $26.00 © 2010 IEEE DOI 10.1109/DIGITEL.2010.26 146