ABSTRACT

In this chapter, I argue that students need to learn how to build things, and thus they need to be explicitly taught synthesis skills. Programming, 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, to mold the software to the specific needs and wants of the individual. The ability to use synthesis skills will be the Rosetta Stone for this access.