Computer Programming and Literacy: An Annotated Bibliography

With the recent uptick in the “everyone should code” movement, it seems that everyone’s now talking about computer programming as a new form of literacy. The terms by which people refer to the concept vary, but the central idea is shared: computational literacy; computational thinking; procedural literacy; proceduracy; computer literacy; iteracy. I’ve been working in this area for a few years now from the perspective of literacy studies, and I thought it might be a good time to share an annotated list of resources that I’ve found helpful in thinking through computer programming as a literacy. Chris Lindgren assembled a bibliography before me, and there’s a lot of overlap here. I’m inclined to say that the overlap points toward a burgeoning canon, although that recognition comes with the requisite wincing about a lack of gender/race diversity here.

I’ve listed just online or print texts, and the list tends toward the academic and historical. My Diigo library, assembled over the last few years with the tag “proceduracy”, is a better resource for public discussions about computer programming as a literacy.

I decided to list these in rough order of importance, which is incredibly subjective. I’ve broken the central sources up into a few categories: Really Important Stuff; Blogs & Online Writings; Dissertations; Work in English Studies. This is not to claim that there aren’t overlaps (e.g., something can be important and online!) but just to organize it a bit. After the central list of sources for programming and literacy, I’ve included a list of related work that people might want to read in computer history, pop books, code studies, and composition & rhetoric.

Of course, the whole list is partial and biased! I welcome additions and reactions in the comments or via other contact media.

Vee, Annette. “Proceduracy: Computer Code Writing in the Continuum of Literacy.” University of Wisconsin, Department of English, 2010.

Other recommended articles/books

These are all listed alphabetically and I’ve added notes by many of them. Many of these are important texts, but didn’t make it into the list above because they don’t deal directly with computer programming as a kind of literacy. Again, a subjective list, and it only contains works that I can recommend personally.

Computer history

Campbell-Kelly, Martin, and William Aspray. Computer: A History of the Information Machine. The Sloan Technology Series. 2nd ed. Boulder, CO: Westview Press, 2004. Print. [Great intro text for the history of computing]

Kemeny and Kurtz. Back to BASIC. Addison Wesley, 1985. [About the design and early implementation of BASIC at Dartmouth. Readable and interesting, but the authors are bitter about BASIC language design balkanization.]

Raymond, Eric. The Cathedral and the Bazaar. 1999. Sebastopol, CA: O’Reilly, 2001. Print. [Raymond, an open source promoter, coined the major metaphor for open source—the bazaar. Good essays in here.]

Stephenson, Neal. In the Beginning was the Command Line. Avon Books, 1999. [Quick and provocative read from the science fiction author who laments the transition from the command line to GUIs.]

Weber, Steve. The Success of Open Source. Cambridge, MA: Harvard University Press, 2004. Print. [Really important and readably book about the history and economics of open source software]

Code studies (critical code studies, software studies, etc.)

Berry, David. Philosophy of Software: Code and Mediation in the Digital Age. Palgrave Macmillan, 2011. [Theory-heavy book in which Berry wants to make software more “visible” by unpacking how code runs and how software is built. Also check out his frequently-updated blog, Stunlaw: http://stunlaw.blogspot.com/ , where he’s posted articles on iteracy http://stunlaw.blogspot.com/2011/09/iteracy-reading-writing-and-running.html and computational thinking http://stunlaw.blogspot.com/2012/03/computational-thinking-some-thoughts.html

Coleman, Biella. Coding Freedom: The Ethics and Aesthetics of Hacking. Princeton University Press, Forthcoming Nov 2012. [I haven’t read the book because it’s not out yet, but Coleman’s other work on hackers and code is great, and I’m sure the book will be, too. See her work on her website: http://gabriellacoleman.org/]

Fuller, Matthew. Behind the Blip: Essays on the Culture of Software. Autonomedia: Brooklyn, NY. 2003. [This is a creatively written foray into “software criticism.” I have found the first essay—the introduction to the idea—more useful than the others, which are written in a more creative and gestural style.]

Galloway, Alexander. Protocol: How Control Exists after Decentralization. MIT Press, 2004. [important theoretical work on how protocol operates, including online through code.]

Galloway, Alexander and Eugene Thacker. The Exploit: A Theory of Networks. MIT Press, 2007. [how people can exploit protocol to get into networks, highly theoretical and technical.]

Kirschenbaum, Matthew. Mechanisms: New Media and the Forensic Imagination. MIT Press, 2007. [More about hardware and literature than software, but great and clearly written text that takes the materialist perspective of book history to computers.]

Banks, Adam. Race, Rhetoric, and Technology. Lawrence Erlbaum, 2006. [Awesome intro reference to BASIC; the rest of the book deals with critical issues of race and technology, although less directly with code. Chap 2 has been the most useful to me, personally, and I’ve assigned it to students.]

Rieder, David. Scripted Writing. Small Tech [He's talking about new trends in “digital writing”, where lines between text and code are blurred, and code is used for poetic potentiality.]

Sorapure, Madeleine. “Text, Image, Code, Comment: Writing in Flash.” Computers and Composition 23 (2006): 421-29. Print. [Great article from one of the most creative and technical talents in the field.]