One striking comment follows a couple of pages later, where the phrase “computer-aided instruction” evokes in Papert the unappealing idea that “the computer is being used to program the child” — his vision, of course, is that the child must program the computer. But this vision is poles apart from the contemporary calls for learning to code. He visualizes this programming as communicating with the computer (having a conversation) — and asserts that “learning to communicate with a computer may change the way other learning takes place.”

“My central focus is not on the machine but on the mind …” — S. Papert

The phrase “computational thinking” appears in Mindstorms (p.182) but without elaboration. We find detailed exposition of the idea in his 1996 paper “An exploration in the space of mathematics educations” [3] (whose barely over 150 Google Scholar citations pale to Wing’s viewpoint piece!). Here, Papert explores several dimensions along which we can imagine that mathematics education can be reformed, at the same time as he examines the role of computers in this education.

A few salient ideas in “An exploration … “

To support the rest of my analysis, I picked out four salient ideas from Papert’s 1996 paper:

— The Power Principle: What comes first, ‘using’ or ‘understanding’? The natural mode of learning is to first use, leading slowly to understanding. New ideas are a source of power to do something.

— Project before Problem: “… problems come up in the course of projects and are sometimes ‘solved’ and sometimes ‘dissolved’.”

— Media defines Content: Old-school activities involve making inscriptions on paper, while in Papert’s alternative involve “manipulating a computer-based microworld.” New media open the door to new content.

— Object before Operation: Giving mathematical ideas a “thing-like representation” helps thinking about them.

Throughout, Papert is generous with examples from his experience with children learning with the Logo programming language. He describes students using a Logo object called RANDOM to create color effects on screen, and contrasts it to schools introducing probability using spinners or dice. (“What can children do with this new knowledge besides talk or deal with teacher-initiated problems?”) RANDOM is a mathematical object, and students naturally make new ones, say RANDOM-COLOR, taking in with ease the idea of function, and composition of functions.

Another example deals with the study of the laws of motion, where Papert proposes “dynamics before statics.” Objections to this natural ordering, he says, could raise the arguments that dynamics is conceptually harder than statics, and that it needs calculus. But this “reflects the static nature of pre-computational media.” Calculus may be needed if all that students have is the old medium of pencil and paper: “it is hard because the medium fights the message.” Computing offers multiple new ways of representing motion, making the physics lucid and simple.

“The goal is to use computational thinking to forge ideas.” — S. Papert

Let’s go back now to the contemporary message about computational thinking. Wing refined her meaning in 2010, always focusing on problem-solving and thinking like a computer scientist. She highlights abstraction as the most important process in computational thinking, and adds pattern matching and recursive thinking to the basic toolbox. Google developed their own set of free online resources for educators called “Exploring Computational Thinking” and the BBC offers an online tutorial called “Introduction to Computational Thinking” in their Bitesize section. Both list the key concepts: decomposition, abstraction, pattern recognition, algorithms. Google adds automation, data manipulation and analysis, and simulation. The International Society for Technology in Education (ISTE) and the Computer Science Teachers Association (CSTA) published a set of resources called the “Computational Thinking Toolkit” with videos, slide decks and booklets, and an almost identical message to the previously mentioned.

I do not detract from the value of these efforts — of course they are valuable! The coding initiatives (Hour of Code, etc.) are valuable, too, but Wing and others are quick to declare that computational thinking is not “just programming.”

Well, I say computational thinking does not mean thinking like a computer scientist.

The contemporary message takes an orthogonal direction to Papert, ignoring his Power Principle. It has happened to many powerful ideas when taught in schools (like probability) that they become disempowered: “reduced to shallow manipulation that seldom connects to anything the student experiences as important.” [3]

Combing through dozens of articles on computational thinking, the emphasis is on problem-solving (low on the problem–project dimension), understanding (low on power), an operational perspective (low on the object–operation dimension), and content priming over media.

It reminds me of the New Math of the 1960s, which fashioned mathematics in a dramatically more abstract, more analytic way than before. And if Johnny Can’t Add with the new math, maybe Jenny Won’t Code with an overly abstract presentation of computing. Papert points us in the opposite direction: towards the origin of computing (or mathematics) being used to think about physics, science, economics … Harvey Mudd College increased the percentage of women in CS from 10% in 2006 to 48% in 2013, and this is what they did: bring fun to the first CS course, basing it on projects with relevant applications and giving students choices in the application topics; making it not scary by splitting students into sections with and without previous experience; and investing on the social and cultural context. Education, Papert says, is “much more related to love, than to logic.”

Percentage of degrees awarded to females, by field.

Another influential figure in this conversation is the computer science professor Mark Guzdial. His article “Education: Paving the Way for Computational Thinking,” [4] emphasizes the theory of computation, not using computing to think about the world. With the phrase “understand computing” appearing a dozen times, it seems this article equates computational thinking with thinking about computing — which again is disempowering the idea. What’s interesting is that, in practice, Guzdial has worked tenaciously to introduce computing in a project-based, contextualized fashion with his Media Computation approach. In his TEDx talk on MediaComp, Guzdial does not use the word “abstraction” once; instead, his students “can use programs to understand their world, to manipulate their world.”

Grady Booch, IBM Fellow and Chief Scientist of Watson/M, poked the idea of computational thinking in the right direction in his ACM Learning Webinar (Feb. 3). He noted that humans have outsourced part of our brain to our devices, changing the way we go about the world. There is incredible expressiveness in our algorithms, Booch says. His words hint at computing as a representation: “the technology of literacies” [5]. But he is still attached to Wing’s language, reducing the idea back to the components of abstraction, data, and algorithms.

Abstraction is not the badge of computer science: it’s integral to mathematics, philosophy, and all of science! And why fixate on decomposition, patterns and algorithms, and say nothing about variables and debugging? Naming things is essential to computing, and the idea of objects endowed with certain inherent properties is computationally powerful. There are many ways to draw on computing as a representation of knowledge, to help us think.

The operational aspect of making problems computable is essential, but not aspirational. Most people don’t want to be a computer scientist, but everyone can use computers as an extension of our minds, to experience the world and create things that matter to us.

Computational thinking is epitomized by the Jupyter (IPython) Notebook delineating the analysis behind one of the biggest scientific discoveries of our time: the detection of gravitational waves by the LIGO collaboration. It can help us analyze the bike-sharing program in Paris, or explain how high humans can jump. It’s a source of power to do something and figure things out, in a dance between the computer and our thoughts. The inversion, starting with computing as a formal thing to understand and then come to the application later, takes away its power.