Sign In

Communications of the ACM


Remaining Trouble Spots with Computational Thinking

Remaining Trouble Spots with Computational Thinking, illustration

Credit: Omelchenko

Computational thinking has been a hallmark of computer science since the 1950s. So also was the notion that people in many fields could benefit from computing knowledge. Around 2006 the promoters of the CS-for-all K-12 education movement claimed all people could benefit from thinking like computer scientists. Unfortunately, in attempts to appeal to other fields besides CS, they offered vague and confusing definitions of computational thinking. As a result today's teachers and education researchers struggle with three main questions: What is computational thinking? How can it be assessed? Is it good for everyone? There is no need for vagueness: the meaning of computational thinking, evolved since the 1950s, is clear and supports measurement of student progress. The claims that it benefits everyone beyond computational designers are as yet unsubstantiated. This examination of computational thinking sharpens our definition of algorithm itself: an algorithm is not any sequence of steps, but a series of steps that control some abstract machine or computational model without requiring human judgment. Computational thinking includes designing the model, not just the steps to control it.

Computational thinking is loosely defined as the habits of mind developed from designing programs, software packages, and computations performed by machines. The Computer Science for All education movement, which began around 2006, is motivated by two premises: that computational thinking will better prepare every child for living in an increasingly digitalized world, and that computational thinkers will be superior problem solvers in all fields.


Robert Gotwals

I have been a full-time computational science educator since the late 80s, with a strong background in computational chemistry, biology, and medicine. I'm anxiously looking for some "there there" in terms of computational thinking. Given the poor level of instruction in computer science, never mind computational science, in most high schools, it seems ludicrous to be trying to introduce some relatively vague concept and expecting teachers, already overloaded with end-of-grade and other high-stakes testing, to do so. Let's call computer science computer science, and let's call computational science just that. Calling these things "computational thinking" does not, in my opinion, help at all.

CACM Administrator

[The following comment was submitted by Peter J. Denning on December 19, 2018. --CACM Administrator]

Computational thinking (CT) was introduced at NSF as part of an initiative to get computing courses into K-12 schools. Previous initiatives focusing on literacy and then fluency did not fare well. There is considerable momentum behind the current movement, supported by computing professional organizations and teacher organizations. There are well thought out recommendations (e.g., the one by that teachers embrace for children. All these efforts can be classified as "computational thinking for beginners". There is a much more advanced level of "computational thinking for professionals" that includes computational science, software engineering, architecture, networks, artificial intelligence, design, and more. You're right to ask if "there's there" if all you examine is CT for beginners -- it is narrow and intended for newcomers. The advanced style of computational thinking for professionals can be found in the curriculum recommendations for universities and the professional development recommendations of ACM and IEEE.

Displaying all 2 comments

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.