Some 30 years ago, the first wave of personal computers spawned a surge of interest in programming education, especially in getting children to program. At the Xerox Palo Alto Research (PARC) group, Alan Kay and Adele Goldberg proposed an environment in which anyone could program simulations (Kay & Goldberg 1977). Using their object-oriented Smalltalk language, Kay and Goldberg argued that computers could be used expressively by anyone, including children. In 1980, Seymour Papert first outlined a program for teaching children to program with Logo (Papert 1980), a language he co-developed in the 1960s at MIT. By the early 1980s, programming began to gain recognition not only as a kind of professional training but also as a kind of literacy in its own right. This new trend became known as procedural literacy (Sheil 1980). Such efforts to teach programming to the uninitiated, and especially the very young, have continued since (for example, Perlin et al 2003).
Learning to become computationally expressive is more important than ever. But I want to suggest that there is a utility for procedural literacy that extends far beyond the ability to program computers. Computer processing comprises only one register of procedurality. More generally, I want to suggest that procedural literacy entails the ability to reconfigure basic concepts and rules to understand and solve problems, not just on the computer, but in general.
…