ArticlePDF Available
COMMUNICATIONS OF THE ACM March 2006/Vol. 49, No. 3 33
omputational thinking
builds on the power and
limits of computing
processes, whether they are exe-
cuted by a human or by a
machine. Computational
methods and models give us
the courage to solve prob-
lems and design systems that no one of us would
be capable of tackling alone. Computational think-
ing confronts the riddle of machine intelligence:
What can humans do better than computers? and
What can computers do better than humans? Most
fundamentally it addresses the question: What is
computable? Today, we know only parts of the
answers to such questions.
Computational thinking is a fundamental skill for
everyone, not just for computer scientists. To read-
ing, writing, and arithmetic, we should add compu-
tational thinking to every childs analytical ability.
Just as the printing press facilitated the spread of the
three Rs, what is appropriately incestuous about this
vision is that computing and computers facilitate the
spread of computational thinking.
Computational thinking involves solving prob-
lems, designing systems, and understanding human
behavior, by drawing on the concepts fundamental
to computer science. Computational thinking
includes a range of mental tools that reflect the
breadth of the field of computer science.
Having to solve a particular problem, we might
ask: How difficult is it to solve? and What’s the best
way to solve it? Computer science rests on solid the-
oretical underpinnings to answer such questions pre-
cisely. Stating the difficulty of a problem accounts
for the underlying power of the machine—the com-
puting device that will run the solution. We must
consider the machine’s instruction set, its resource
constraints, and its operating environment.
In solving a problem efficiently,
,we might further
ask whether an approximate solution is good
enough, whether we can use randomization to our
advantage, and whether false positives or false nega-
tives are allowed. Computational thinking is refor-
mulating a seemingly difficult problem into one we
know how to solve, perhaps by reduction, embed-
ding, transformation, or simulation.
Computational thinking is thinking recursively. It
is parallel processing. It is interpreting code as data
and data as code. It is type checking as the general-
ization of dimensional analysis. It is recognizing
both the virtues and the dangers of aliasing, or giv-
ing someone or something more than one name. It
is recognizing both the cost and power of indirect
addressing and procedure call. It is judging a pro-
gram not just for correctness and efficiency but for
aesthetics, and a system’s design for simplicity and
Computational thinking is using abstraction and
decomposition when attacking a large complex task
or designing a large complex system. It is separation
of concerns. It is choosing an appropriate representa-
tion for a problem or modeling the relevant aspects
of a problem to make it tractable. It is using invari-
ants to describe a system’s behavior succinctly and
declaratively. It is having the confidence we can
safely use, modify, and influence a large complex
system without understanding its every detail. It is
Viewpoint Jeannette M. Wing
Computational Thinking
It represents a universally applicable attitude and skill set everyone, not just
computer scientists, would be eager to learn and use.
34 March 2006/Vol. 49, No. 3 COMMUNICATIONS OF THE ACM
modularizing something in anticipation of multiple
users or prefetching and caching in anticipation of
future use.
Computational thinking is thinking in terms of
prevention, protection, and recovery from worst-case
scenarios through redundancy, damage containment,
and error correction. It is calling gridlock deadlock
and contracts interfaces. It is learning to avoid race
conditions when synchronizing meetings with one
Computational thinking is using heuristic reason-
ing to discover a solution. It is planning, learning,
and scheduling in the presence of uncertainty. It is
search, search, and more search, resulting in a list of
Web pages, a strategy for winning a game, or a coun-
terexample. Computational thinking is using massive
amounts of data to speed up computation. It is mak-
ing trade-offs between time and space and between
processing power and storage capacity.
Consider these everyday examples: When your
daughter goes to school in the morning, she puts in
her backpack the things she needs for the day; that’s
prefetching and caching. When your son loses his
mittens, you suggest he retrace his steps; thats back-
tracking. At what point do you stop renting skis and
buy yourself a pair?; that’s online algorithms. Which
line do you stand in at the supermarket?; that’s per-
formance modeling for multi-server systems. Why
does your telephone still work during a power out-
age?; that’s independence of failure and redundancy
in design. How do Completely Automated Public
uring Test(s) to Tell Computers and Humans
Apart, or CAPTCHAs, authenticate humans?; that’s
exploiting the difficulty of solving hard AI problems
to foil computing agents.
Computational thinking will have become
ingrained in everyone’s lives when words like algo-
rithm and precondition are part of everyone’s vocab-
ulary; when nondeterminism and garbage collection
take on the meanings used by computer scientists;
and when trees are drawn upside down.
We have witnessed the influence of computa-
tional thinking on other disciplines. For example,
machine learning has transformed statistics. Statisti-
cal learning is being used for problems on a scale, in
terms of both data size and dimension, unimagin-
able only a few years ago. Statistics departments in
all kinds of organizations are hiring computer scien-
tists. Schools of computer science are embracing
existing or starting up new statistics departments.
Computer scientists’ recent interest in biology is
driven by their belief that biologists can benefit
from computational thinking. Computer science’s
contribution to biology goes beyond the ability to
search through vast amounts of sequence data look-
ing for patterns. The hope is that data structures
and algorithms—our computational abstractions
and methods—can represent the structure of pro-
teins in ways that elucidate their function. Compu-
tational biology is changing the way biologists
think. Similarly, computational game theory is
changing the way economists think; nanocomput-
ing, the way chemists think; and quantum comput-
ing, the way physicists think.
This kind of thinking will be part of the skill set
of not only other scientists but of everyone else.
Ubiquitous computing is to today as computational
thinking is to tomorrow. Ubiquitous computing was
yesterday’s dream that became today’s reality; com-
putational thinking is tomorrow’s reality.
Computer science is the study of computation—
what can be computed and how to compute it.
Computational thinking thus has the following
Thinking like a computer scientist means more than being able to
program a computer. It requires thinking at multiple levels of abstraction.
COMMUNICATIONS OF THE ACM March 2006/Vol. 49, No. 3 35
Conceptualizing, not programming.
Computer sci-
ence is not computer programming. Thinking
like a computer scientist means more than being
able to program a computer. It requires thinking
at multiple levels of abstraction;
Fundamental, not rote skill.
A fundamental skill is
something every human being must know to
function in modern society. Rote means a
mechanical routine. Ironically, not until computer
science solves the AI Grand Challenge of making
computers think like humans will thinking be
A way that humans, not computers, think.
tional thinking is a way humans solve problems;
it is not trying to get humans to think like com-
puters. Computers are dull and boring; humans
are clever and imaginative. We humans make
computers exciting. Equipped with computing
devices, we use our cleverness to tackle problems
we would not dare take on before the age of com-
puting and build systems with functionality lim-
ited only by our imaginations;
Complements and combines mathematical and engi-
neering thinking.
Computer science inherently
draws on mathematical thinking, given that, like
all sciences, its formal foundations rest on mathe-
matics. Computer science inherently draws on
engineering thinking, given that we build systems
that interact with the real world. The constraints
of the underlying computing device force com-
puter scientists to think computationally, not just
mathematically. Being free to build virtual worlds
enables us to engineer systems beyond the physi-
cal world;
Ideas, not artifacts.
It’s not just the software and
hardware artifacts we produce that will be physi-
cally present everywhere and touch our lives all
the time, it will be the computational concepts
we use to approach and solve problems, manage
our daily lives, and communicate and interact
with other people; and
For everyone, everywhere.
Computational thinking
will be a reality when it is so integral to human
endeavors it disappears as an explicit philosophy.
Many people equate computer science with com-
puter programming. Some parents see only a narrow
range of job opportunities for their children who
major in computer science. Many people think the
fundamental research in computer science is done
and that only the engineering remains. Computa-
tional thinking is a grand vision to guide computer
science educators, researchers, and practitioners as we
act to change society’s image of the field. We espe-
cially need to reach the pre-college audience, includ-
ing teachers, parents, and students, sending them
two main messages:
Intellectually challenging and engaging scientific prob-
lems remain to be understood and solved.
The prob-
lem domain and solution domain are limited only
by our own curiosity and creativity; and
One can major in computer science and do anything
One can major in English or mathematics and go
on to a multitude of different careers. Ditto com-
puter science. One can major in computer science
and go on to a career in medicine, law, business,
politics, any type of science or engineering, and
even the arts.
Professors of computer science should teach a
course called “Ways to Think Like a Computer Sci-
entist” to college freshmen, making it available to
non-majors, not just to computer science majors. We
should expose pre-college students to computational
methods and models. Rather than bemoan the
decline of interest in computer science or the decline
in funding for research in computer science, we
should look to inspire the public’s interest in the
intellectual adventure of the field. We’ll thus spread
the joy, awe, and power of computer science, aiming
to make computational thinking commonplace.
Jeannette M. Wing ( is the President’s
Professor of Computer Science in and head of the Computer Science
Department at Carnegie Mellon University, Pittsburgh, PA.
© 2006 ACM 0001-0782/06/0300 $5.00
... Penerapan computational thinking dalam kurikulum untuk siswa dapat dimulai dengan melihat hubungan antara mata pelajaran, serta kehidupan di dalam maupun diluar kelas (Rachim, 2015). Sependapat dengan hal itu, Wing (2006) menyatakan, "untuk membaca, menulis, dan berhitung, kita harus menambahkan computational thinking ke kemampuan analitis setiap anak". Selain itu Barr & Stephenson (2011) menyatakan bahwa karena siswa saat ini hidup -dan akan terus hidup di dunia yang sangat dipengaruhi oleh komputasi, "Tidak lagi cukup untuk menunggu sampai siswa di perguruan tinggi untuk memperkenalkan konsep-konsep ini". ...
... yang Berpikir komputasional menjadi keterampilan dasar yang harus dimiliki oleh peserta didik di abad 21 yang berkaitan erat dengan perkembangan teknologi dan informasi yang sangat pesat (Hunsaker, 2020;Tabesh, 2017;Wing, 2014). Keterampilan berpikir komputasional seharusnya menjadi salah satu keterampilan dasara yang masuk ke kurikulum pendidikan (Wing, 2006). Kementerian Pendidikan dan Kebudayaan Indonesia pun mulai melirik computational thinking dan menganggap keterampilan ini sangat penting dengan memasukkan keterampilan berpikir komputasional pada kurikulum yang saat ini mulai diterapkan yaitu Kurikulum Merdeka (Marifah et al., 2022). ...
Full-text available
This study aims to describe the application of computational thinking-based learning and its results. Through this research, it can be seen how to integrate computational thinking in learning as well as knowing students' abilities to use the foundation of computational thinking in the learning process. Research using descriptive method with a qualitative research approach. This research was conducted in the even semester of the 2022/2023 school year. The subjects in this study were 25 students in class V A at SD Kanisius Kadirojo, subdistrict Kalasan, Sleman, Yogyakarta. Data analysis in this study used student questionnaires, student worksheets, written tests, and interview guide sheets. From this research, it can be seen that computational thinking can be integrated into learning by using computational thinking foundations in solving problems according to learning materials. Learning in this study uses the foundation of pattern recognition, abstraction, and algorithms. Students can use these foundations indicated by 80% mastering pattern recognition skills, 72% mastering abstraction skills, and 100% mastering algorithm skills. The ability of students to understand learning material is also very good, shown by 76% of students passing the KKM. Students also feel happy with this computational-based learning and feel challenged by using the foundation
... Therefore, concepts and frameworks typical of the technological sphere have been almost "naturally" associated with the perspective of innovation in education in several areas. The dimensions involving Artificial Intelligence (AI) in education (LUCKIN et al, 2016), Computational Thinking (CP) (Wing, 2006;2014;Bower and Lister, 2015;Duncan et al, 2017) and TPACK (Technological Pedagogical Content Knowledge) (Mishra and Koehler, 2006) are dimensions that have been gaining ground in the national literature, not only linked to the scope of innovation, but the knowledge necessary for all teachers, in all areas of knowledge (Leone et al, 2022;Ferreira et al, 2022). ...
... Computational Thinking dalam perkembangannya tidak hanya berkaitan dengan software dan hal-hal yang berkaitan dengan computer, tetapi menjadi sebuah proses berpikir (Griselda, 2021). Wing (2006) ...
Full-text available
The covid-19 pandemic that has occurred since 2020 has affected the education sector in its application. Added with the times that utilize technology for daily needs, educators must apply the correct learning method, namely by applying a blended learning model assisted by VAKSIN (Video Animation for Online Learning Systems) that supports computational thinking, which is indeed needed by students to solve a problem, in the mathematics learning trends course. The stages used are (1) formulating research questions, (2) searching for articles that match the research objectives, (3) evaluating the articles, (4) summarizing the articles, and (5) interpreting the findings of the articles into the form of descriptions Data were obtained by reviewing several articles that fit the criteria. The results showed that the blended learning model assisted by VAKSIN (Video Animation for Online Learning System) supported computational thinking in the math learning trends course. Abstrak: Pandemi covid-19 yang terjadi sejak tahun 2020 berdampak pada bidang pendidikan dalam penerapannya. Ditambah dengan perkembangan zaman yang memanfaatkan teknologi untuk kebutuhan sehari-hari, maka pendidik harus menerapkan metode pembelajaran yang tepat yaitu dengan menerapkan model blended learning berbantuan VAKSIN (Video Animation for Online Learning System) yang mendukung pemikiran komputasional, yang memang dibutuhkan oleh siswa untuk memecahkan suatu masalah, dalam mata kuliah tren pembelajaran matematika. Tahapan yang digunakan adalah (1) merumuskan pertanyaan penelitian, (2) mencari artikel yang sesuai dengan tujuan penelitian, (3) mengevaluasi artikel, (4) meringkas artikel, dan (5) menginterpretasikan temuan artikel ke dalam bentuk deskripsi Data diperoleh dengan meninjau beberapa artikel yang sesuai dengan kriteria. Hasil penelitian menunjukkan bahwa model blended learning berbantuan VAKSIN (Video Animation for Online Learning System) mendukung pemikiran komputasi pada mata kuliah tren pembelajaran matematika.
... The research is focused on improving CT using various approaches, models, methods, and learning media from many studies that have been conducted. A study by Wing (2006Wing ( , 2008Wing ( , 2011 explains that the main problem in CT is not only about learning improvement but also concerning the definition and assessment of CT. These problems are reasonable because CT are previously developed for learners using computers, such as informatics engineering, computation, and data science. ...
Full-text available
Computational Thinking (CT) skill was a part of the global framework of reference on Digital Literacy for Indicator 4.4.2, widely developed in mathematics and science learning. This study aimed to promote an assessment tool using a two-tier Computerized Adaptive Test (CAT). The study used the Design and Development Research (DDR) method with four stages of data collection: expert judgment, usability test, simulation study, and student feedback. The two-tier questions have been tested empirically and fit with the Generalized Partial Credit Model (GPCM) or 2 Parameter Logistic (2PL). This study proved that the CAT could be used to estimate students’ CT with a minimum different Standard Error of Measurement (different SEM) or close to zero (⁓0.001). According to the expert judgment, CAT was proper for measurement with a feasibility of 90.23%. The usability test proved that CAT was feasible to use, with satisfaction of 79.51%. Furthermore, the simulation study or empirical measurement explained that students’ CT at the high school level were greater than at the middle and lower school levels. Thus, CAT were empirically proven to estimate students’ CT accurately. Finally, students’ feedback showed that the acceptance from students' feedback is 74.40% with a very satisfactory category.
... Computational Thinking). Dieser Begriff beschreibt prinzipiell das Übersetzen menschlicher Problemlösestrategien auf den Computer (Wing, 2006). Begriff stammt aus den Computerwissenschaften und der Didaktik der Informatik. ...
Full-text available
Die einzelnen Beiträge des Bandes 11 werden zeitnahe zum Erscheinen des Bandes online auf dem Open Access Server der Universität Salzburg unter veröffentlicht. Der vorliegende Band 11 umfasst insgesamt 13 Beiträge. Inhaltlich ist dieser Band der Reihe Mathematik im Unterricht in sechs Teile gegliedert. Das inhaltliche Spektrum in diesem Heft reicht von einem Beitrag aus der Primarstufe von Klaus Rödler, der einen genetischen Lehrgang zu den natürlichen Zahlen und dem Rechnen mit solchen präsentiert, bis hin zu den Beiträgen von Fritz Schweiger zu fachwissenschaftlichen Themen, wie dem Satz von Cayley und Hamilton und den Nullmengen. In Hinblick auf den Mathematikunterricht der Sekundarstufe stellt Agnes Wiesinger in ihrem Beitrag ein Konzept zur Nutzung von Problemkontexten im Rahmen eines genetischen Unterrichts vor. Weitere Themen für den Mathematikunterricht, wie Spiralkörper bzw. Geometrische Topologie sind Inhalt der Beiträge von Dominik Lehmert bzw. Wolfram Kreipl. Bei den Beiträgen von Karl Josef Fuchs und Felix Woltron steht das Bild von Mathematik und verwandter Wissenschaften im Fokus. Felix Woltron präsentiert in seinem Beitrag den Begriff Nature of Mathematics als Analogon zu Nature of Science. Karl Josef Fuchs beschreibt die Entwicklung der Informatik und deren Didaktik als bedeutende Bezugswissenschaft des Mathematikunterrichts und dessen Didaktik. Dieser Logik folgend, präsentiert Gregor Milicic Möglichkeiten für die Behandlung von Algorithmen im Kontext neuer Medien im Mathematikunterricht. Dazu passend zeigen die Beiträge von Simon Plangg, Claudia MacDonald und Anna Lena Hinterseer das Potential von programmierbaren Robotern für ausgewählte Themen des Mathematikunterrichts der Sekundarstufe I auf. Ergebnisse zu empirischen Studien von Lisa Maria Pilotto zum Distance Lerning in der Erwachsenenbildung und von Thomas Benesch zum Fähigkeitsselbstkonzept in Hinblick auf die Lern- und Leistungsmotivation von Schülerinnen und Schülern runden die breite Diskussion in diesem Band ab.
Computational thinking (CT) is a widely researched domain. Many researchers around the world have conducted studies to define CT, to develop CT in students, and to assess CT using various tools and paradigms. Our review focuses on the assessment aspect of CT using digital games. Typically, the assessment in CT is done using Multiple Choice Questions, Portfolio analysis, pen-and-paper methods, and games. The use of video games to assess CT skills was one of the least explored areas. To further explore this area, we did a systematic literature review on the use of video games to assess CT. The findings of our review are as follows: (1) CT skills such as abstraction, algorithmic thinking, data representation, debugging, decomposition, pattern recognition, recursive thinking, simulation, socialization, heuristic, iteration, and problem-solving were primarily assessed using digital games. (2) The reviewed articles used samples ranging from 18 to 3355 participants. (3) The sample includes elementary, middle-, and high-school and graduate students. (4) In the reviewed articles, it is observed that the time for treatment varied from a few hours to the entire school year. (5) A mixed-mode study using quantitative and qualitative methods was preferred by researchers to explore the CT aspects such as CT concepts, practices, and perspectives. (6) The use of video games, stealth assessment, educational data mining and machine learning for assessing CT skills is in a dormant state. (7) There is a lack of empirical evidence to prove that video games are effective to assess CT skills. This review paper will be helpful for researchers working on the assessment of CT skills using digital games.
Full-text available
In this qualitative study, I investigated the form of interaction when learners co-constructed computational thinking practices in an informal setting. This study focuses on the roles of five youth, three adult mentors, and a facilitator during a summer camp and documents how learners interacted to exchange ideas, collaborate, and accommodate other perspectives. Participants used questions that promote deep thinking to engage in computational thinking practices during the interactions. Analysis of data shows that learners developed computational thinking practices including interpreting, modeling connections to the real-world, manipulating parameters, discovering ideas to explore models, prompting, conjecturing, and making predictions when working on agent-based modeling and writing codes in NetLogo. These practices are further grouped together as model interpretation and connection to the real world, parameter manipulation and discovery, prompting and exploring, and making predictions/conjectures and generalizing. This study also finds some community-based practices such as practical wisdom, trying something and adjusting, and the use of network of resources relevant during interaction to develop computational thinking practices.
ResearchGate has not been able to resolve any references for this publication.