I teach my journalism students to write CSS and HTML by hand, to make simple games in Scratch, and to write text adventure games in Inform 7 not because I expect them to get jobs doing any of those activities, but because a fundamental coding literacy, on top of their liberal arts education, will help them bridge the Morlock-Eloi cultural divide.
While a few weeks programming an escape-the-room game won’t turn an English major into a hard-core coder, any more than a few weeks in a poetry-writing class will turn an Ada Lovelace into an Emily Dickinson, I know plenty of tech people who read for pleasure, write for pleasure, sing in choirs or re-enact history or enjoy art museums for pleasure. I don’t know quite as many humanities/arts people who have as many casual cultural opportunities to reach across that cultural divide, and society is poorer for the missed opportunity.
Because there is currently a kind of turf battle between digital humanists who call themselves coders and digital humanists who don’t see coding as central to what a digital humanist does, I see the following blog post as an appeal towards the middle. Yes, it does make sense to leave the hard-core coding to the specialists, but students really need to learn how to design, debug, user-test, and document their own digital projects if they are going to understand how computational thinking gets stuff done.
The world does not need an army of humanities students who can code a payroll program in C++, but if those students think of themselves as competent learners of new technology, who can Google for tutorials and user forums and expert technical advice, and they create and share their own content on the Internet, then they are part of the new media knowledge economy.
What is computational thinking? Jeanette Wing, Chair of Computer Science at Carnegie Mellon, has a wonderful discussion of it. And her definition is great too: “Computational thinking is the thought process involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.”
It’s much more valuable and important to be able to think computationally about rhetorical issues than it is to be able to write a program that simulates blackjack or even one that, say, computes a score for evaluating students’ performance as reviewers. The hard part is designing the algorithm that produces a valid result, something that not even an advanced programmer can do without knowing what makes one review performance better than another. So my advice to my fellow and aspiring digital rhetoricians is this: forget about code. It’s like mastering the five paragraph essay rather than learning to write well. Instead, learn to make algorithms. –Code? Not So Much — Digital Rhetoric Collaborative.