This project seeks to describe a new vision of programming, as part of an effort to define and refine the idea of technological fluency as a source of learning power. Our Constructionist theory leads us to view technological knowledge as "reflexive," valuable not only in its own right, but also capable of enhancing the learning of many other things. In the past, th focus has been on programming as the most accessible form of such reflexive knowledge. Now new ideas and new advanced computers make possible a dramatic extension of this role of technological fluency. Programming continues to provide a natural entry route, but in this new context a new sense of what programming means. As a means of developing and studying this extended notion of programming, three complementary activities are in proposed. In the "Pogramming Paradigms" activity, the focus is on transferring new computational frameworks, most notably multiprocessing, into education. In the Robotics activity, the classical construction kit to include new computational elements. In the "Software Design" activity, the learning that takes place when children develop complete, multimedia software "products," designed for use by others will be explored. Each of these three activities involves technology development. But in each case, the main focus is on conceptual development and new educational issues and strategies. In each activity, the appropriability of its technologies and its ideas in close interaction with schools and particularly with communities that have traditionally been undeserved or intellectually disenfranchised will be studied.