As part of an ongoing effort to design a model for integrating computational technologies into the formal classroom, I have turned my focus to computational literacy. My current model already has a space for considering computational literacy, so in this post I want to spend some time exploring my definition of computational literacy. This includes a discussion of the key features of computational literacy and how these features might be taught. The models I’ve created are included at the end of this post.
I started learning to play the flute at age 8. I kept it up for 10 years. At age 15, I took a typing class and surprised myself by how easily I mastered the QWERTY system. At my fastest (in my early 20′s, when I was a reporter), I could type more than 160 words per minute. I’m a fan of languages, studied French from high school all the way through a master’s-level class, picked up enough German during a 2-week visit to Austria to order my food, ask for directions, and hold a basic conversation with a native Austrian. I studied computer science for about a minute in college –I hated it, I was no good at it–but I’ve taken to html, CSS, and other simple programming languages that support my ongoing efforts at web-based social revolution. I don’t understand, though I wish I did, the inner workings of computer hardware. I don’t understand the difference between Newtonian and pre-Newtonian physics, though I know the pre-Newtonian stuff is naive and kinda wrong. I build web pages for fun, mainly relying on templates but recently branching off into my own web design. Fairly soon, in fact, I will be leaving Blogspot behind in order to build a brand new website to my exact specifications. I have an M.F.A. in Creative Writing, with an emphasis in poetry.
I don’t understand physics. I don’t like most programming languages. I play the flute and like to tinker with language. I’m a fast typist but a slow web designer. I am a computational thinker.
Computational literacy is like all true categories of literacy: a cluster of practices whose meaning emerges as the learner deploys those practices in increasingly knowledgeable, increasingly socially valuable ways.
And increasingly, computational literacy is both part of and separate from other clusters of literacy practices. Computational proficiencies are similar to but distinct from those proficiencies we label “new media literacies,” and they’re similar to but distinct from those proficiencies we label, for lack of a better phrase, “traditional literacies.” They’re often but not always, and not fully, aligned with the “hacker mentality”: an attitude that treats nearly everything as potentially bendable to the user’s will.
Like all other forms of literacy, computational literacy can be taught–though not if we treat it, as Jeanette Wing does in her 2008 treatise “Computational thinking and thinking about computing,” as a set of abstractions. Wing writes that “the nuts and bolts in computational thinking are defining abstractions, working with multiple layers of abstraction and understanding the relationships among the different layers. Abstractions are the ‘mental’ tools of computing.”
You don’t have to be much of a hacker to know that Wing misses something essential here. It may be that the language of a program is abstract, and that programming is dealing in abstractions, but only in the sense that letters, words, and sentences are abstractions leading to language. Even fairly young children develop an innate sense of grammar and know when a speech act violates the rules.
This is to say that the elements of language may very well be abstract communicative units, but native speakers develop a concrete mastery over their language nonetheless. (Though this mastery is often belied by our near absolute inability to articulate a single grammar rule.)
Teaching in support of computational literacy
My focus is on the English / Language Arts classroom, or what I’ve lately been calling the “literacy sciences” classroom. In describing the categories below, then, I’ve included a few ideas about how these aspects of computational literacy might be fostered in the secondary literacy sciences classroom.
I believe that computational literacy is comprised of the following sets of proficiencies:
Programming skill: This may include proficiency with one or more programming languages; or it may include creativity with language (the primary programming language of our culture); or it may include mathematical or scientific know-how.
What to teach: Basic web design can help to foster some foundational programming skills. Students might start a blog or, working within a closed social network like Ning, build personal profile pages complete with modified color templates and extra widgets. For many, the notion that what users see gets controlled by a kind of puppet master can be both surprising and empowering.
Technical expertise: Colin Lankshear and Michele Knobel might refer to this category as “the technical stuff.” One feature of new media, for example, is its modularity–the ease with which we can copy, remix, and move media elements. Technical ability includes facility with the tools that allow for this kind of work, as well as ease with unfamiliar interfaces and comfort with just-in-time learning.
What to teach: I’ll never forget hearing games and education expert Katie Salen talk about the approach her Quest2Learn school takes toward computer literacy. She wondered why we have computer classes where kids learn how to use word processing, spreadsheet, and similar programs instead of folding that instruction into authentic learning experiences. “Why not teach kids how to use Word in the context of having to write something for their English class?” she asked. And she’s right. Of course, this means that English teachers will need to start developing more technical know-how–we’re long past the days when facility with Microsoft Word was a sufficient condition for effective writing, even in the English classroom. Let’s start having students use email programs, work with social networks, do some basic image and video editing with the programs that come standard on most newer computer systems.
Hand-eye coordination: Another feature of new technologies is that they often stretch across the virtual and the physical. I busted laptop screens and frayed charging cables until I learned to work with the physical affordances of computing technologies; I’m graced with excellent typing skills; these make any task that requires text generation between 20 and 40 percent easier than they would be for the typist of a more average speed.
What to teach: Typing is of course an important skill, though many kids build up their dexterity through text messaging. I’m going to argue for the practice of building things in the English classroom. There is, for example, the brilliant piece of rhetoric embodied in this recent OkGo music video:
[youtube=http://www.youtube.com/watch?v=qybUFnY7Y8w&hl=en_US&fs=1&]
You can’t tell me that the building of that enormous mousetrap didn’t foster not only increased hand-eye coordination but a deeper sense of space and rhetoric, as well. We may not have the tools for building a better mousetrap in the typical classroom, but the building of small sets for video productions, the designing of costumes and backdrops and other visuals, can help support increased motor confidence in learners.
Visual literacy: Lev Manovich
explains the visual basis for all digital media, and even goes so far as to explain that even the very letters and numbers we see on our computer screens have been converted into binary code, then converted back into visual representations so that we can easily make sense of the information. This brings a new imperative to visual literacy. Previously, visual literacy was treated as the ability to think critically about advertising, television, and films; today, we add a near-limitless number of visual media formats in addition to our new roles as producers of visual media in addition to our role as consumers.
What to teach: Visual rhetoric is a growing field. Many teachers are already incorporating video projects, website design, and other forms of visual rhetoric into their classrooms, and we can look to them for advice on how to proceed in this area.
Tolerance for tinkering: Pastimes like crocheting, woodworking, and gardening took up time but didn’t necessarily take up all of our attention. When we weren’t counting or focusing on a particularly difficult maneuver, we could talk or watch TV or sing a song. Coding doesn’t allow for this split of attention. Neither does building a digital scrapbook or designing a webpage or building a virtual model. At best we can devote all of our attention for a time to the code, then shift our full attention away, then shift our full attention back again. Mimi Ito and her colleagues talk about “geeking out,” and part of geeking out is hours passed immersed in one activity or another, sometimes to the exclusion of all else. As a culture, we haven’t really had much tolerance for geeking out, though that’s starting to change. What we need now is to build up a tolerance for geeking out in our learners. There are those who argue that we lost something when young people stopped reading books–that those children lost the ability to immerse themselves in an entire world. It’s possible that what’s been lost in the decline of books can be compensated for through the emergence of computational thinking–of geeking out.
What to teach: Immersive, lengthy projects. We might consider trying to turn the classroom into a structured workshop space, much as fine arts programs balance studio time with critique. We’re already halfway there with peer review and collaborative activities; if we can just shift the focus away from critique and toward construction of powerful projects, we can easily build a tinkering-tolerant learning community.
I’m not saying it’s easy to support computational literacy in the formal classroom. What I am saying is that it’s necessary.
[youtube=http://www.youtube.com/watch?v=yK9MNPlwr2k&hl=en_US&fs=1&rel=0]