Abstract :
Summary form only given, as follows. Cocoa is a programming environment that enables children to create their own simulations and games. They can then share their creations by adding them to web pages. Cocoa is distributed from a World Wide Web site, and that site serves as a community center for Cocoa users. Cocoa was designed over several years, involving users from the very start. The experience of designing an intevace that was powerful enough to enable users to create interesting programs, yet simple enough for children, has brought out some interesting examples of inteqace principles, as well as practical considerations that run counter to established principles. The intevace that resulted from this design process combines graphical rules with programming by demonstration. This system has led to notable classroom success in engaging children in the programming process, and in empowering them to create their own interactive worlds and simulations. It is considerably more challenging to motivate, encourage, and teach children who download the program from a web site. The Cocoa site offers a variety of methods for children to communicate with each other, and to learn how to use Cocoa. The author will discuss his experiences in designing Cocoa and supporting the distributed community of Cocoa users.