TITLE: Programming as Literacy AUTHOR: Eugene Wallingford DATE: April 24, 2005 3:13 PM DESC: Repeat after me: everyone should learn to program as a new medium of communication. Now, how do we make that happen? ----- BODY: Every once in a while I am jolted from my own parochial concerns by a reminder that we in computing have an opportunity to do so much more than just train tomorrow's Java or C++ programmers. On Friday, Darren Hobbs reminded me with his blog Programming as Literacy. Darren begins:
In what's typically called 'the western world', before literacy became essentially ubiquitous it was limited to a select few. Monks originally, then scribes. These individuals possessed a truly remarkable skill. They could make marks on paper that could remember things. They could capture information and retrieve it later. Associated with this skill was the ability to make marks that could perform complex computations and produce an answer. People with these skills were hired by nobles and merchants to increase business value.
I have mentioned this idea before, looking to computer scientists such as Alan Kay and Ward Cunningham, for whom computing is more than just a technical skill reserved to a special few. Ward's wiki enables a new kind of conversation. In Kay's vision, computing is
a new kind of reading and writing medium that allows some of the most important powerful ideas to be discussed and played with and learned
in ways more profound than any book. (See his essay Background on How Children Learn for more.) Alan often speaks passionately that we hold in our hands the most powerful tool for changing the world since the printing press five hundred years ago. I do not think that the passion in his words in out of place. Like Alan, I believe that we are creating the medium that people will use to create the next Renaissance. When we think about computing and computing education in such terms, the problems we encounter teaching CS majors to program seem small. But these problems also point out just how much work we have to do if we want to effect the sort of change that our opportunity affords. I suspect that the sort of things we need to do to make programming a new form of general literacy available to all would only make teaching CS majors easier. Others are thinking about this problem, too. Darren Hobbs' blog was a nice reminder of that. And John Mitchell responds to my blog on accountability through conversation by suggesting that our programming languages should be more conversational. I think that natural language will always have an advantage over programming language in this regard, but John's idea that we can create little languages that are structured, predictable, comprehensible, and concise enough to support more natural interaction is worth thought. The work of Alan Kay's group on eToys and Active Essays, described at Squeakland, is certainly aimed in this direction. I am glad summer is almost here. I need some time to back away from day-to-day classroom issues to think about loftier goals, and concrete plans to move toward them. -----