research effort. Work on relevant topics is going on now. What I have attempted to do is provide a vision of how the pieces will need to fit together.
The heart of the argument in this chapter is that students need to learn how to build things, and that they need to be explicitly taught synthesis skills. Prograrnming, as I have redefined it, is an excellent vehicle for teaching and learning these skills. Moreover, these skills will be ever more important when the computer becomes all pervasive in our society: Soon, we will be acting on the world through the computer. People will need to know how to take advantage of the unique aspects of software technology: the almost limitless ability to develop new functionality and to mold the software to the specific needs and wants of the individual. Synthesis skills will be the Rosetta Stone that provides access to computer technology.
A serious political and social issue underlies the argument made in this chapter. The question is what is basic to human nature? Do people want others tell them what they can do? Or, do they want to create for themselves? When a company provides a software package with all the functionality circumscribed, then this subtlety supports the former view. Our argument clearly supports the view that people want to have control in their own hands and make of the software what they will. Moreover, we need only to look back at the computer industry itself for support of people's desire to constantly develop new functionality. About 10 years ago, the computer industry was selling "word processors" and "business computers" as two separate entities--never mind that the word processor was a full-blown, general-purpose computer. However, once people got their hands on word processors, they wanted more functionality; they asked if their word processors could run that accounting software. The computer industry dropped the artificial separation of the two functions and now advertises a computer that "can do it all." We need to be careful lest we even inadvertently build software that does not give human nature its due.
What I have proposed here is a far cry from what is now going on in the schools, though it is not a far cry from what is going on in the home and in the marketplace. There is an ever-widening gap between what is being taught in schools and what people do in real life ( Pea & Soloway, 1987). The minimal role played by computers in schools today is one symptom of this gap. We need a major rethinking of what should go on in school today and in 2020. Although there are many problems with the arguments put forward in this chapter, my intent was mainly to rekindle our imaginations for what is possible. For too long we have had blinders on in education and have not set our expectations high enough. Computer technology can serve as an example of the limitless possibilities that are out there--if only we had the skills to join in.