in the right way—there are going to be bugs and there are going to have to be places where you make interfaces and all that sort of stuff—so as to make a larger structure that has that property.” Sussman went on to cite an essay by Edgar Allen Poe that described the process of composing poetry as an algorithm.

Alan Kay was less enthusiastic about the “computational thinking-as-language” metaphor. Although acknowledging the utility of computational thinking as a language for describing certain aspects of the universe, Kay noted that all human beings have an innate capacity for verbal language, but that the same cannot be said for written language, science, and deductive mathematics, because these are not found in every culture or society. This point suggests that whatever computational-thinking-as-a-language might be, human beings will not learn computational thinking in the same way that they learn to speak. On the other hand, he also noted that a powerful aspect of computational thinking entails the ability to create a language well adapted to a personally relevant purpose—and indeed that this ability could be taught to students.

Edward Fox suggested that computational thinking does have a long historical tail. “Computational thinking is innate in the human species,” he said, and “through telling stories our ancestors modeled and represented reality and they passed that on to other people and they enriched those models to carry out exploring, discovering, and sustaining life.” Today, exploration of and discovery in digital information are central activities of human life. Computers enable modern discovery and allow humans to access and organize information in a way that has not been done before. Despite its novelty, accessing digital information is, according to Fox “still a part of this modeling and representing, something that we do uniquely and have newer ways to explain and enrich.”


A number of workshop participants supported the claim that computational thinking focuses on the process of creating and managing abstractions, and defining relationships between layers of abstraction. Robert Constable pointed out that although physics and mathematics are also centrally concerned with abstraction, what is different in computational thinking is that the layers of abstraction are tightly connected in ways that in the natural sciences they cannot yet be connected.

In this view, computational thinking is a tool for explaining and representing complexity through automation. Although mathematics and physics are also centrally concerned with using abstraction to manage and control complexity, computational methods add another dimension

The National Academies | 500 Fifth St. N.W. | Washington, D.C. 20001
Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement