recognize the same truth when they say that computation is an essential method of doing science. In fact, a growing number of scientists are now saying that information processes occur naturally (for example, DNA transcription) and that computation is needed to understand and eventually control them. 3 So computation is unavoidable not only in the method of study, but in what is studied.

This is a subtle but important distinction. Computation is present in nature even when scientists are not observing it or thinking about it. Computation is more fundamental than computational thinking. For this reason alone, computational thinking seems like an inadequate characterization of computer science.

A number of us developed a great principles framework that exposes the fundamental scientific principles of computing4, 6 (see the sidebar “The Great Principles Framework”). This framework interprets computer science as the study of fundamental properties of information processes, both natural and artificial. Computers are the tool, not the object of study. Computation pervades everyday life. 2

The great principles framework reveals that there is something even more fundamental than an algorithm: the representation. Representations convey information. A computation is an evolving representation and an algorithm is a representation of a method to control the evolution.

In this framework, computational thinking is not a principle; it is a practice. A practice is a way of doing things

the real value of
computer science
is in the offers we
are able to make
from our expertise,
which is founded
in a rich and deep
discourse.

at which we can develop various levels of skill. Computational thinking is one of several key practices at which every computer scientist should be competent (see the sidebar “The Great Principles Framework”). It shortchanges computer science to try to characterize the field by mentioning only one essential practice without mentioning the others or the principles of the field.

Conclusion

Computation is widely accepted as a lens for looking at the world. We do not need to sell that idea. Computational thinking is one of the key practices of computer science. But it is not unique to computing and is not adequate to portray the whole of the field.

In the 1960s and 1970s we allowed, and even encouraged, the perception “CS = programming,” which is now to our dismay widely accepted outside the field and is connected with our inabil-

ity to take care of the concerns listed at the beginning of this column. But given the outside perception, computational thinking is all too easily seen as a repackaging—a change of appearance but not of substance. Do we really want to replace that older notion with “CS = computational thinking”? A colleague from another field recently said to me: “You computer scientists are hungry! First you wanted us to take your courses on literacy and fluency. Now you want us to think like you!”

I suggest that the real value of computer science is in the offers we are able to make from our expertise, which is founded in a rich and deep discourse. We are valued at the table when we help the others solve problems they care about. We are most valued not for our computational thinking, but for our computational doing.

 

References

1. carnegie mellon university center for computational thinking; http://www.cs.cmu.edu/~compthink.

22. computer science unplugged Web site; http:// csunplugged.org.

33. Denning, P. computing is a natural science. Commun. ACM 50, 7 (July 2007), 13–18.

44. Denning, P. great principles of computing. Commun. ACM 46, 11 (nov. 2003), 15–20.

5. Denning, P. is computer science science? Commun. ACM 48, 4 (apr. 2005), 27–31.

6. great Principles of computing Web site; http:// greatprinciples.org.

7. Wilson, k.g. grand challenges to computational science. in Future Generation Computer Systems. elsevier, 1989, 171–189.

8. Wing, J. computational thinking. Commun. ACM 49, 3 (mar. 2006), 33–35.

9. Wing, J. five deep questions in computing. Commun. ACM 51, 1 (Jan. 2008), 58–60.

 

Peter J. Denning ( pjd@nps.edu) is the director of the cebrowski institute for information innovation and superiority at the naval Postgraduate school in monterey, ca, and is a past president of acm.

copyright held by author.

The Great Principles Framework

the Great Principles (GP) framework is a way to express computer science as a field of science based on deep and enduring fundamental principles. 3, 4, 6 the framework has two parts: core principles and core practices.

the core principles are statements and stories about the immutable laws and recurrences that shape and constrain all computing

technologies. they can be grouped into seven categories:

Computation

Communication

Coordination

recollection

automation

Evaluation
Design
these are not mutually
exclusive groups of principles,
but windows that bring
particular perspectives about

computing. the Internet, for example, is a technology that draws its operating principles primarily from communication, coordination, and recollection, and its architecture from design and evaluation.

the core practices are areas of skill and ability at which computing people can display various levels of performance such as beginner, competent, and expert. there are four core

practices:

Programming

Engineering of systems

modeling

applying

Computational thinking can be seen either as a style of thought that runs through the practices or as a fifth practice. It is the ability to interpret the world as algorithmically controlled conversions of inputs to outputs.

References:

http://www.cs.cmu.edu/~compthink

http://csunplugged.org

http://greatprinciples.org

mailto:pjd@nps.edu

http://csunplugged.org

http://greatprinciples.org

Archives