FYI.

This story is over 5 years old.

Tech

The Argument for Teaching Computer Science Without Computers

Computing is a way of thinking, not of coding.
Image: computingunplugged.org

Among the more disappointing recurring metaphors used in the teaching of computer science—based on my own informal recollection as a computer science student—has to be the stack of plates. It's really only barely a metaphor and corresponds to a data structure known as, wait for it … the stack. The stack's defining feature is that you can only remove things (data in various forms) from the stack in the order that they were put on the stack. A plate goes on the top of the stack and the next plate that can be removed is that plate. Take away that plate and a new plate rises up and becomes the top plate. Hot fucking shit, right?

Advertisement

Stacks are actually pretty neat—particularly the runtime stack, aka "the stack," that keeps a queue of a hardware instructions and generally enables your computer to do a whole bunch of things at once, or seemingly at once—and they deserve better. A stack is more than a set of rules, it's a way of thinking. This is the case with much of computer science, which is not just a realm of coded instructions, but one of entirely new ways of considering information itself. A stack of plates at a buffet line is a stack because that's just how it works out, stacks being stacks, but a stack in CS is an ingenious solution to problems that don't even exist yet.

Teaching computer science as a way of arranging reality rather than a way of arranging syntax or data structures—what's more appropriately known as programming or even coding—is among the arguments made by Thomas J. Cortina, a computer science professor at Carnegie Mellon, in a recent issue of ACM Communications. His general point, which is only sketched here, is that we should be aggressively advancing programs like CS Unplugged, which is a kid-focused curriculum of sorts developed by a group at the University of Caterbury in New Zealand, with a stated goal being the teaching of computational principles rather than programming and technical details. It's a great idea.

By being physically part of the solution to a problem as it is being solved, kids learn from observations and experiences.

Advertisement

Activity examples range from teaching data compression via rhymes, graph theory via mud, finite state automata via pirates, and so on. It's surprisingly deep given the target audience (though maybe algebra and trig would seem that way too if we weren't so used to it).

"Activities in CS Unplugged support the principle of computational thinking," Cortina writes, "which promotes the idea that problem-solving skills and computational techniques used in computer science should be a part of every person's education and are applicable to a wide variety of fields, not just computer science."

There's also the fact that kids tend to do better with really any subject if it's introduced in an unconventional educational setting, e.g. not sitting quietly in a room while focusing on a teacher or instructions on a screen. The key is physicality, and there's no reason for computer science to be any different. Again: it's all just ways of thinking. One activity has kids simulate parallel sorting algorithms with help from sidewalk chalk.

"CS Unplugged exemplifies an educational theory known as experiential learning, where participants learn through activity outside of a standard academic setting," Cortina explains. "By being physically part of the solution to a problem as it is being solved, kids learn from observations and experiences. Unlike some introductory programming activities that tend to promote solo activity, the CS Unplugged activities put kids physically in the middle of the problem, getting them moving, working together, sharing ideas, and designing solutions."

There are more arguments for this sort of CS education, even as a supplement to a more traditional stare-at-screen approach. For one, it lets kids learn exceedingly marketable ideas even in classrooms that don't have computers, which is still a lot of them. (Computer use during "instructional time" was recently found to occur in only about 40 percent of classrooms in the US.) Even if it's a baby step in narrowing the technology gap, CS Unplugged opens up a new and much-needed way of rewarding actual talent rather than class and the access afforded according to class.

Cortina's whole piece is worth reading (however paywalled). Mostly, I try to imagine myself as a pre-adolescent presented with a stack of dinner plates. The result would've been something like negative-stimulation and, consequently, I might have wound up being a writer or something. Who knows.