Opinion
Education

# Computational Thinking Should Just be Good Thinking

Seeking to change computing teaching to improve computer science.
Posted

Jeannette Wing’s 2006 Communications Viewpoint on computational thinking5 ignited a worldwide movement to give students new knowledge and skills to solve problems in their daily lives. Quickly, teachers, curriculum and standards writers, and other education specialists were proposing what children needed to know about computation and how to develop a computational mindset. There is still little evidence that knowing about computation improves everyday problem-solving, but there is no doubt that Wing’s call to action led to a broad and dramatic response.

The computational thinking movement puts the onus on the student and on the education system. They argue that if we change humans to think in ways that are informed by how we now work with computers, that will have problem-solving advantages for the humans.

Maybe.

If a city does not work for the residents, we could change the residents. Alternatively, we could redesign the city. The best urban redesign has citizens understanding the purpose and actively participating, so there is parallel development of both the city and the citizens.

Children today already think with computation. If we want better thinking and problem-solving, we have to improve the computing and use that to change our teaching. We put the onus back on the computer scientists and other computationalists. It is our job to design better.

### For Our Children, Computational Thinking Is Just Thinking

Tool use shapes thinking. While we might not think like a carpenter when we start using carpentry tools, if we apply ourselves (for example, reflect on our doing, as Dewey suggests2), we can develop carpentry thinking. We can learn to see what is possible with the tools of carpentry, the way a carpenter thinks.

Closer to home, the "kids these days" use all manner of digital—read: computational—tools. Before drawing the obvious conclusion, consider the following vignettes.

Vignette 1: Consider the following two problems, drawn from a research study1:

• (Algebraic Context): Given the following statement: "There are six times as many students as professors at this university." Write an equation that represents the above statement. Use S for the number of students and P for the number of professors.
• (Computer Programming Context): Given the following statement: "There are six times as many students as professors at this university." Write a computer program that will output the number of students when supplied (via user input) with the number of professors. Use S for the number of students and P for the number of professors.

While the equation in both problems is the same—S=6P—significantly more undergraduate engineering students provided the correct equation in the Computer Programing Context than in the Algebraic Context.

Vignette 2: Now, consider the following research finding (appearing in Norris and Soloway4):

• "[K-12] Students using word processors for writing generally produce longer, higher-quality writing than students using pencil or pen and paper." The computational tool plays a role in students’ ability to write. We might say that using professional writing tools leads to performance that is more like a professional writer. It is honest use of the real thing.

Vignette 3: Now, consider the following comment:

• TikTok is the MOST downloaded app on the Apple App Store. TikTok supports users in making videos, including videos that play in synchrony with other user videos. Video producers collaborate around the world to make duets, without ever meeting. Using Tik-Tok is not about writing like a professional. TikTok is an entirely new medium, enabled by computation. It leads to writing and saying differently than one could without computation.

Vignette 4: Finally consider the following:

• Fortnite is one of the most successful video games of all time. In playing Fortnite, players use a broad range of computational tools to solve significant problems, from map navigation, to team collaboration, to managing complex ecological systems. Few children get the opportunity to engage in these kinds of activities in their everyday world outside of the computer. The computational environment allows students to engage with complex and interesting problems. We can ask if these are honest versions of the problems, if students have deep understanding of what they are doing, and if they are developing skills for the real world—and we should ask those questions.

The activity in Vignette 1 aligns with the notion that computational thinking is embodied in computer programming. Vignette 2 shows us it is not just programming that can impact thinking. A wide variety of computational activities can impact thinking. In Vignettes 3 and 4, we argue these activities illustrate "computational thinking"—though the activities in those vignettes have nothing to do with computer programming.

The users in those Vignettes are using computational tools to do computational thinking. They are using abstraction and decomposing problems, though they may not use those words. Much of the effort to implement computational thinking in schools has been about identifying the computing ideas and practices. Maybe the kids are already learning those, but on different terms, without our language.

How do we prepare our children for never-seen-before problems?

People of the so-called baby-boomer generation may feel computational thinking is something special—and for them, it may well be. For the children growing up today, who are increasingly using digital tools to mediate their everyday lives, computational thinking is, well, just thinking! But that is just not enough. Learning to compute should give students a qualitative leap, so that they can think about new problems and think about the world in new ways.

How do we prepare our children for never-seen-before problems? We might start by redesigning TikTok and Fortnite.

### Whether and Wither "Computational Thinking"

We already use computers to help many kinds of thinking, but much of that thinking would be the same without computers. We might get expanded thinking if we follow along the lines of extending mathematics and systems organizations to model complex situations that go beyond our commonsense reasoning, as seen in many scientific, engineering, medical, mathematical, and literary fields. Computing simulations has already revolutionized many fields. We might significantly impact society if all fields used this expanded thinking. So, there is a bird to be caught if we can sprinkle salt on its tail.

A strong rubric is "making systems about systems," and this accords well with the first ACM A.M Turing Award winner Alan Perlis’ characterization of our field as "The science of processes; all processes." A subset of these processes are primarily algorithmic in nature, but to deal with the large range that computation can model, it is much more apt to "think all systems" and to see the representational possibilities of the computer make it a great fit to be the dynamic mathematics needed to make and understand systems.

This is a much larger—and in our opinion—much more useful characterization of computing as a subject in K-12, and it leads to a number of important differences from current practice. The big one is to help children learn about dynamic systems with interacting parts of all kinds, and how to make and model dynamic systems for deeper understanding (and considerable fun also!) Imagine something as engaging as Fortnite where the system is inspectable, where users might model their strategies and test them in simulation first, so that students might learn to use the power of expanded thinking.

A modeling and simulation point of view also serves to criticize the languages being taught today. For example, none of the common K-12 programming languages today are very good at modeling intercommunicating processes—despite both natural and human engineered systems working that way. Most of the languages that we put in school today can only handle one thread of control without ungraceful excursions into fragile and tricky designs. We should not teach a qualitatively weak subset of something to children when we have better options. It might make later learning of a more powerful version more difficult.

Instead we should take our inspirations and goals from Jerome Bruner’s assertion and challenge: "Any subject can be taught to any one at any age in an intellectually honest fashion if their level of development is heeded." Keeping the "intellectually honest" part means that—especially for young children—it will be necessary to invent real variants of adult versions of the subject matter—as has indeed been done so well by Montessori, Pa-pert, Bruner, and others. We imagine a comprehensive suite of intellectually honest computing-based models for understanding systems can lead to much better notion of programming—for both adults and children. These will lead to much better programming language designs and environments as part of a larger curriculum made from the most powerful ideas about systems, processes, science, math, engineering, and computing itself.

One of the main ideas of K-12 schooling is to prepare children in general for their next phases of life, and subjects such as reading/writing/literature, science, mathematics, and history are taught to all to provide a "richness" of thought about both civilizations and how to be a citizen who supports civilization. Understanding civilization as a system is a powerful idea for all citizens. In our metaphor, we want citizens to participate in the redesign of the city and understand the rationale for its design. Students need fluency in order to be able to understand models and systems. Important thresholds of understanding must be reached before they can be part of one’s thinking tools. Finding and inventing these thresholds for the general population of children, and how to teach to them, is the critical need of our time!

Representations to help thinking—language, mathematics, computing—are all best taught in context. Children should use computing with all the other fields of thought, rather than mostly in isolation. Rather than teach computer science as a separate topic that might transfer, we should teach with computational models in every field.

### Conclusion: Montessori’s Fortnite

We can and should improve schools to give students access to expanded thinking. We in computing have a powerful lever. We can change the computation.

Maria Montessori made the observation almost 100 years ago3: children are set up by their nature to learn their surrounding environment and culture. Changing the environment naturally leads to different learning. Montessori wanted her children to have qualitatively different thinking, so she invented new kinds of school.

Changing school today impacts only one part of today’s children’s lives. Changing computing impacts their environment both in and out of school. If Montessori were alive today, she would still want to redesign school, but she would likely want to change the computing, too. That is part of the child’s whole environment. How would Montessori redesign Fortnite? What would she design instead of Fortnite?

Teaching computing as it is today is unlikely to have dramatic impact on students’ everyday lives. It is our job to redesign computing, to give children new power to make sense of their world and change it.

1. Clement, J. Algebra word problem solutions: Thought processes underlying a common misconception. Journal for Research in Mathematics Education 13, 1 (Jan. 1982), 16–30; doi:10.2307/748434

2. Dewey, J. How We Think. A Restatement of the Relation of Reflective Thinking to the Educative Process (Revised edition); D.C. Heath, Boston, MA, 1933.

3. Montessori, M. The Montessori Method. Frederick A. Stokes Company, New York, 1912.

4. Norris, C. and Soloway, E. Students write more, write better on the computer: Rigorously supported! T.H.E. Journal, (Nov. 11, 2017); https://bit.ly/2KQToTg

5. Wing, J.M. Computational thinking. Commun. ACM 49, 3 (Mar. 2006), 33–35; DOI: https://doi.org/10.1145/1118178.1118215

The lead author organized the effort; all other authors are in alphabetical order.

### Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

### Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.