A group of children on a playground, each kid clutching a slip of paper with a number on it, moves along a line drawn in chalk, comparing numbers as they go and sorting themselves into ascending order from one to ten.
Another group of children, sitting in a circle, passes pieces of fruit—an apple, an orange—from hand to hand until the color of the fruit they’re holding matches the color of the T-shirt they’re wearing.
It may not look like it, but the children engaged in these exercises are learning computer science. In the first activity, they’ve turned themselves into a sorting network: a strategy computers use to sort random numbers into order. And in the second activity, they’re acting out the process by which computer networks route information to its intended destination. Both are from a project called Computer Science Unplugged, which endeavors to teach students computer science without using computers.
The very nature of the project invites a question: Why would one want to do such a thing?
The answer makes a lot of sense.
At the core of the field of computer science, beneath the visible trappings of hardware and software, is a mental discipline known as computational thinking. Computational thinking is the ability to understand and apply the fundamental principles on which computers and networks operate. While particular features and products come and go, these bedrock rules remain the same.
“Rather than talking about chips and disks and ROM and RAM,” write the authors of an early guide to Computer Science Unplugged, “we want to convey a feeling for the real building blocks of computer science: how to represent information in a computer, how to make computers do things with information, how to make them work efficiently and reliably, how to make them so that people can use them.”
It’s a grounding in computational thinking—not a facility with the latest feature or product—that fosters future success in the field, whether students go on to become engineers or inventors or entrepreneurs.
That’s a powerful rationale for teaching computational thinking to our young people. But there’s a problem. In conventional computer science instruction, these principles are only accessible to those who learn how to program. This poses a big hurdle, especially for younger students. Enter Computer Science Unplugged, which has been developed at the University of Canterbury in New Zealand over the past two decades.
Professors Tim Bell, Mike Fellows and Ian H. Witten have figured out how to teach the concepts of computer science through games, puzzles and magic tricks. Taking the computer out of the picture—for the time being—allows children as young as five to learn about the basic ideas that undergird computer science. Youngsters can tackle topics as apparently abstruse as algorithms, binary numbers, Boolean circuits, and cryptographic protocols. The activities offered by Computer Science Unplugged are aimed at students in kindergarten through seventh grade, though they have been used by students in high school and even college.
Younger children might learn about “finite state automata”—sequential sets of choices—by following a pirates’ map, dashing around a playground in search of the fastest route to Treasure Island. Older kids can learn how computers compress text to save storage space by taking it upon themselves to compress the text of a book. This is done by marking repetitions of a word within a text, crossing out the word each time it reappears, and drawing an arrow back to its first appearance on the page. (Dr. Seuss books, like Green Eggs and Ham
, compress especially efficiently because of their frequent repetitions.)
Whatever students’ ages or prior knowledge, Computer Science Unplugged makes the most of its liberation from the screen and the keyboard. It incorporates physical activity, asking students to move and gesture, run and hunt, in an effort to embody a computer’s operation. It employs real-life objects—crayons, string, and chalk, among other common items—to convey abstract entities like data and memory. And it nurtures social interaction, among students and between students and their teachers. Teachers are encouraged to allow children to discover answers for themselves while still offering plenty of guidance and feedback.
Ultimately, Computer Science Unplugged aims to evoke intrinsic interest in its subject—to inspire students to regard computer science as an exciting intellectual adventure. Later, of course, they can go on to use an actual computer to learn to program. But students’ offline introduction to computer science may well make them more interested in pursuing the subject, and may increase the odds that what they learn later will be absorbed in a deep and lasting way.
Even those students who don’t go on to study computer science will have gained something valuable: the capacity for computational thinking, in a world ever more profoundly shaped by computers. Indeed, computational thinking is an essential part of any true computer literacy. Being computer literate should not mean simply knowing how to manage a word processing program or run a successful Google search. It should include a solid understanding of the principles on which computers and networks operate.
Even computer teachers, the Canterbury academics say, often don’t appreciate the intellectual richness of computer science until they teach it without a computer. Among students, the user-friendly approach of Computer Science Unplugged can counter negative preconceptions about the subject—that it’s boring, or geeky, or for boys only. Computer Science Unplugged is explicitly designed to be gender-neutral, with the aim of attracting female students to the field.
Unplugging computer science opens it up to many who have felt excluded until now—young students, female students, students who aren’t “into computers.” In fact, Computer Science Unplugged has expanded access even beyond the traditional student population: to include senior citizens, for example, and members of the general public who attend science fairs and festivals. With ingenuous enthusiasm, Bell, Fellows, and Witten write: “The subject is bursting with fascinating ideas just waiting to be explored, and we want to share them with people who might not be tuned in to computers, but would be interested in the ideas in computer science.”
The three have made all the resources for Computer Science Unplugged available for free at csunplugged.org. Their activities have been translated into a dozen languages, and used in schools from South Korea to the United Kingdom. In the U.S., adoption has been slower, but interest here is growing. The Canterbury researchers note that students in some developing countries have very limited access to computers; Computer Science Unplugged is what makes it possible to teach the subject at all.
In our own country, where access to computers is nearly universal, we still need to develop the powers of our own minds—and sometimes that means turning off the machines.
This story was produced by The Hechinger Report, a nonprofit, nonpartisan education-news outlet affiliated with Teachers College, Columbia University.
Brilliant readers, what do you think? Is "computational thinking" a skill we should value, and can it be taught without computers? Please share your thoughts on my blog.
I love to hear from readers. Please email me at email@example.com. You can also visit my website, follow me on Twitter, and join the conversation on Facebook. Be brilliant!
|All my best,
|This Week's Brilliant Quote
Jeannette Wing, a computer science professor turned Microsoft executive, coined the term "computational thinking."
"In a March 2006 article, I used the term 'computational thinking' to articulate a vision that everyone, not just those who major in computer science, can benefit from thinking like a computer scientist. So, what is computational thinking? Here's a definition I use: Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent. The most important and high-level thought process in computational thinking is the abstraction process. It is used to capture essential properties common to a set of objects while hiding irrelevant distinctions among them. Abstraction gives you the power to deal with complexity . . . Computational thinking enables you to bend computation to your needs. It is becoming the new literacy of the 21st century. Computational thinking is not just or all about computer science. The educational benefits of being able to think computationally—starting with the use of abstractions—enhance and reinforce intellectual skills, and thus can be transferred to any domain. Computer scientists already know the value of thinking abstractly. Our task is to better explain to non-computer scientists what we mean by computational thinking and the benefits of being able to think computationally."—Jeannette Wing, "Computational Thinking: What and Why?"