Edutopia - February/March 2008 - (Page 50) one wants it to do—to bend digital technology to one’s needs, purposes, and will, just as in the present we bend words and images. Some call this skill human-machine interaction; some call it procedural literacy. Others just call it programming. Seem strange? I’m sure it does. Today, people with highly developed skills in this area are seen as nerds. But consider that as machines become even more important components of our communication, our work, our education, our travel, our homes, and our leisure, the ability to make them do what we want will become increasingly valuable. Already, today, a former programmer in Seattle, one of these very nerds, is one of the richest people in the world. So, in a sense, we are going to see as we progress through the twenty-first century a real Classified Ad: Electronic Arts, the world’s biggest video game company, recently created this billboard advertisement written in a programming language. Can you read it? (It says, “Now Hiring.”) revenge of the nerds, except that the new nerds will be our programmatically literate children. As programming becomes more important, it will leave the back room and become a key skill and attribute of our top intellectual and social classes, just as reading and writing did in the past. Remember, only a few centuries ago, reading and writing were confined to a small specialist class whose members we called scribes. Do You HTML? One might ask, “Will every educated person really have to program? Can’t the people who need programming just buy it?” Possibly. Of course, with that model, we have in a sense returned to the Middle Ages or ancient Egypt, or even before. Then, if you needed to communicate your thoughts on paper, you couldn’t do it yourself. You had to hire a better-educated person—a scribe—who knew the writing code. Then, at the other end, you needed someone to read or decode it—unless, of course, you were “well educated,” that is, you had been taught to read and write and thus had become literate. Here’s a key question: Will the need for a separate scribe tribe of programmers continue through the twenty-first century, or will the skill set of an educated person soon include programming fluency? I think that as programming becomes increasingly easy (which it will) and as the need to show rather than explain becomes important (which it will) and as people working together want to combine the results of their efforts and ideas instantaneously (which they will), educated people will, out of necessity, become programmers. Think of it: Your phone and car already require programming skills; many houses and jobs do, too. Programming will soon be how we interact with all our objects, and I believe it will be an important component of how we interact with one another as well. Of course, there are already Luddites who think a digital machine is most elegant if it has only one button (like the Roomba robot floor cleaner) and people who keep searching for a cell phone that only makes phone calls. (Good luck.) There is a hierarchy of levels of making machines do what you want (that is, programming them) that runs from manipulating a single on-off switch to managing menus, options, and customization to coding higher-level programming languages (Flash, HTML, scripting) and lower-level languages (C++, Java) to creating assembler or machine language. Few people, however, remain satisfied for long with the first level—as soon as we master that, most of us seek refinements and customization to our own needs and tastes. (The company that makes the Roomba offers a kit to turn its parts into whatever type of robot you want.) Just about every young person programs (controls his or her own digital technology) to some extent. Many actions considered merely tasks—setting up a universal television remote, downloading a ringtone, customizing your mobile phone or desktop—are really programming. Doing a Web search is programming, as is using peer-to-peer or social-networking technologies, or eBay, or creating a document in Word, Excel, MySpace, or Facebook—and toss in building your avatar in Second Life. Today’s kids are such good programmers that parents who buy expensive high tech gadgets, such as THINKING DIGITALLY Get your students’ fingers tapping and brains working through the fine art of computer programming. Find resources at camcorders or home theaters, often hand them to their children to set up (program) for them. Today, most of this programming takes place in what I refer to as higher-level programming languages, consisting of menus and choices rather than the more flexible computer code. Of course, many people will be content with this level of programming (which still manages to baffle many “literate” adults). But as today’s kids grow up and become tomorrow’s educated adults, most will go much further. At an early age, many young people learn the HTML language of Web pages and often branch out into its more powerful sister languages, such as XML and PHP. Other kids are learning programming languages like Game Maker, Flash, and Scratch, plus scripting language, graphics tools, and even C++, in order to build games. They learn them occasionally in school, but mostly on their own, after school, or in specialized summer camps. Why? First, because they realize it gives them the power to express themselves in the language of their own times, and second—and perhaps even more importantly—because they find it fun. Want a Program? Hire a Kid Suppose you have a need for a computer program. “Me?” you say. “Why would I have such a need?” But this possibility is not far-fetched at all. For instance, when Howard Dean ran for U.S. president a few years ago, he (or someone on his staff) had this idea: “What if we could collect contributions over the Internet?” Nobody had ever done this before, because the structure wasn’t there—the program had never been written. So he went out and found a young programmer—an eighteen-year-old—to write the necessary code, and within only a matter of weeks the contributions started pouring in. Most of us have problems a computer or another digital machine could easily solve for us, if only we conceived them as programming problems: “What is my best commuting route under different weather or other conditions?” “What are my statistics in my sports (or hobbies or work), and how do they compare with those of others?” “What is the optimal configuration of my [you name it]?” “How close am I to retirement, and will I have enough money?” We all have ideas and needs amenable to programming solutions. My guess is that the more educated and literate we are (in the tired twentieth-century sense), the more of these we have. Yet most of us “digital immigrants”— those who came to computers and digital www.edutopia.org/programming 50 EDUTOPIA FEBRUARY/MARCH 2008 http://www.edutopia.org/programming
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.