ArticlePDF Available

Abstract

Various aspects of computational thinking, which builds on the power and limits of computing processes, whether they are executed by a human or by a machine, are discussed. Computational methods and models are helping to solve problems, design systems, and understand human behavior, by drawing on concepts fundamental to computer science (CS). Computational thinking (CT) is using abstraction and decomposition when attacking a large complex task or designing a large complex systems. CT is the way of thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction. CT is using heuristic reasoning to discover a solution and using massive amount of data to speed up computation. CT is a futuristic vision to guide computer science educators, researchers, and practitioners to change society's image of the computer science field.
COMMUNICATIONS OF THE ACM March 2006/Vol. 49, No. 3 33
C
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
elegance.
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
LISA HANEY
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
another.
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
T
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.
WHATITIS, AND ISNT
Computer science is the study of computation—
what can be computed and how to compute it.
Computational thinking thus has the following
characteristics:
Viewpoint
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
rote;
A way that humans, not computers, think.
Computa-
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 (wing@cs.cmu.edu) 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
c
... Computational thinking is defined as "problem-solving, system designing, and understanding human behaviour using the concepts of computer science" (Wing, 2006, p. 33). However, Sysło and Kwiatkowska (2013) argued that the focus should be on thinking skills based on the principles of programming and the systematic solution of problems rather than just programming skills for solutions, designs, and gains as emphasized in the general definition offered by Wing (2006). Similarly, the International Society for Technology in Education (ISTE) suggested that instead of teaching specific skills in the field of informatics, individuals should be encouraged to adopt the habit of applying this skill, which reflects algorithmic, creative, critical thinking, and problem-solving skills, in every area of life. ...
... These concepts have been classified by various researchers in the literature. According to Wing (2006;2011), the key concepts include problem decomposition, abstraction, algorithms, automation, and generalization. Barr and Stephenson (2011) categorized them as abstraction, algorithms and procedures, automation, problem decomposition, parallelization (parallel processing), and simulation. ...
... Computational thinking involves problem-solving (Wing, 2006), and is identified as one of its core concepts (Yadav et al., 2016). The findings of the study revealed that the students' problem-solving competencies, as measured by the SEPSCTS, had significantly improved by the end of the intervention. ...
Article
Full-text available
In recent years, computational thinking has garnered increased attention as an essential problem-solving skill. One of the methods to develop students’ computational thinking skills is robotic coding activities. This study sought to investigate the impact of robotic coding activities on the self-efficacy perceptions of secondary school students’ computational thinking skills. A one-group pretest-posttest quasi-experimental design was employed, involving 32 secondary school students. These students, organized in groups of four, engaged in hands-on robotic coding activities using Lego Mindstorms EV3 Education robots over a total of 20 hours. Data were collected before and after the robotic coding activities using the Self-Efficacy Perception Scale for Computational Thinking Skills (SEPSCTS) instrument, comprising 36 items categorized into five factors. The data were analyzed using paired samples t-tests and analysis of covariance (ANCOVA). The results demonstrated a significant increase in students’ self-efficacy perceptions of computational thinking skills following the activities, with this increase observed consistently across genders. Finally, the challenges encountered during research and practice were reported, along with the study’s limitations, to inform future research endeavours.
... Computational thinking is defined as "problem-solving, system designing, and understanding human behaviour using the concepts of computer science" (Wing, 2006, p. 33). However, Sysło and Kwiatkowska (2013) argued that the focus should be on thinking skills based on the principles of programming and the systematic solution of problems rather than just programming skills for solutions, designs, and gains as emphasized in the general definition offered by Wing (2006). Similarly, the International Society for Technology in Education (ISTE) suggested that instead of teaching specific skills in the field of informatics, individuals should be encouraged to adopt the habit of applying this skill, which reflects algorithmic, creative, critical thinking, and problem-solving skills, in every area of life. ...
... These concepts have been classified by various researchers in the literature. According to Wing (2006;2011), the key concepts include problem decomposition, abstraction, algorithms, automation, and generalization. Barr and Stephenson (2011) categorized them as abstraction, algorithms and procedures, automation, problem decomposition, parallelization (parallel processing), and simulation. ...
... Computational thinking involves problem-solving (Wing, 2006), and is identified as one of its core concepts (Yadav et al., 2016). The findings of the study revealed that the students' problem-solving competencies, as measured by the SEPSCTS, had significantly improved by the end of the intervention. ...
Article
Full-text available
In recent years, computational thinking has garnered increasedattention as an essentialproblem-solving skill. One of the methods to develop students’computational thinking skills is robotic coding activities. This study sought to investigate the impact of robotic coding activities on the self-efficacy perceptions of secondary school students’ computational thinking skills. A one-group pretest-posttest quasi-experimental design was employed, involving 32 secondary school students. These students,organized in groups of four, engaged in hands-on robotic coding activities using Lego Mindstorms EV3 Education robots over a total of 20 hours. Data were collected before and after the robotic coding activities using the Self-Efficacy Perception Scale for Computational Thinking Skills (SEPSCTS)instrument, comprising 36 items categorized into five factors. The data were analyzed using paired samples t-tests and analysis of covariance (ANCOVA). The results demonstrated a significant increase in students’ self-efficacy perceptions of computational thinking skills following the activities, with this increase observed consistently across genders. Finally, the challenges encountered during research and practice were reported, along with the study’s limitations, to informfuture research endeavours.
... Recently, there has been much interest in studying computational thinking (CT), a fundamental set of skills that can be used to solve everyday problems and be applied to various academic disciplines (Wing, 2006). CT instruction is currently being developed for young children (K to three) to foster the development of their sequencing, algorithmic, and problem-solving skills (Bers, 2018;Relkin et al., 2020). ...
... There have been many definitions of CT in the recent literature. One definition is that CT is a general problem-solving methodology that can be used to solve real-life problems (Wing, 2006;Zhang & Nouri, 2019). The second is an operational definition developed by the International Society for Technology in Education (ISTE) and the Computer Science Teachers Association (CSTA). ...
... The capability of using GBIs to successfully measure children's CT and problemsolving skills supports our definition of CT and prior research that establishes CT as a problem-solving methodology (ISTE & CSTA, 2011;Kakavas & Ugolini, 2019;Su & Yang, 2023;Wing, 2006;Zhang & Nouri, 2019). As seen by our GBIs, CT skills can be used to solve problems by integrating them into the problem-solving process. ...
Article
Full-text available
Computational thinking (CT) in young children (K to three) has been of much interest among educational researchers due to the applicability of CT to solving problems in daily life and various academic disciplines. This study uses existing data from children’s gameplay in a block-based programming game called codeSpark Academy to examine the extent to which we can use children’s gameplay behavior to measure their CT and, more generally, their problem-solving skills. The objectives of the study are to operationalize CT and problem-solving constructs using gameplay data, investigate the relationship between CT and problem-solving, and position codeSpark Academy as a valid assessment tool. A total of 72 elementary students (aged 6–9) played codeSpark Academy once a week for six weeks. TechCheck, an externally developed and validated measure of CT, was administered before the first game day and after the last game day. Using fine-grained, moment-to-moment gameplay data, we developed and validated seven game-based indicators (GBIs) of CT using correlational analysis and nonparametric tests and integrated them into a problem-solving framework. Our findings showed that children’s gameplay behavior can be used to measure their CT and problem-solving skills.
... Computational thinking concerns the formulation of problems and their solutions in a way that a computer (human or machine) can carry out effectively (Wing, 2006). It was investigated by one meta-analysis finding a large effect size (r = 0.39, Rank 19, Lei et al., 2020). ...
... As a result, the correlation between mathematics achievement and verbal self-concept is low, even though mathematics achievement is closely associated with verbal achievement and abilities (see above). Between mathematics achievement and mathematics self-concept, there is a positive reciprocal relationship: high achievement leads to a more positive self-concept, which in turn leads to more engagement with the domain and thus higher achievement (Marsh & Craven, 1997, 2006Möller et al., 2020). The effect sizes discussed in this paragraph need to be interpreted with caution as the authors did not examine publication bias (see Table S2). ...
Article
Full-text available
Learners' individual differences in mathematics achievement are associated with individual differences in psychological characteristics. A number of meta-analyses have quantified the strengths of these correlations. However, these findings are scattered across different strands of the literature. The present systematic review aims to integrate these strands by providing an overview of meta-analyses of psychological correlates of mathematics achievement. We conducted a systematic literature search and included 30 meta-analyses, reporting correlations between mathematics achievement and 66 variables based on 13,853 effect sizes and an estimated 4,658,717 participants. The correlations are rank-ordered by size and complemented with information about the meta-analyses, their inclusion criteria, and methods. The results show strong associations of mathematics achievement with verbal skills and abilities, prior knowledge, intelligence, creativity, math-specific skills, math self-concept, self-regulation, meta-cognition, and executive functions. Relatively weaker relations were observed for emotional intelligence, achievement goals, academic emotions, and the Big Five personality traits.
... With the advancement of digital transformation and artificial intelligence (AI) technologies, the importance of Computational Thinking (CT) has expanded [1]. CT refers to the ability to analyze problems and solve them through algorithmic and procedural structures. ...
... Computational Thinking (CT), a concept introduced by Wing [1], involves analyzing problems and developing algorithms to solve them using computer science principles. CT includes processes such as abstraction, decomposition, algorithm design, and pattern recognition. ...
Article
Full-text available
This study examines the impact of artificial intelligence on the pragmatic function of the French press, by analyzing the role of this advanced technology in changing the methods of collecting, editing, and analyzing news. This research aimed to comprehend the role and effect of artificial intelligence technology on news media practices in France, the quality of content and the prevailing challenges. The researchers used a qualitative design and gathered data using semi structured interview questionnaires. A sample of 15 participants is selected and further data is analyzed using content analysis approach. The results showed that artificial intelligence is widely utilized to enhance the quality of content by streamlining the content creation, design, and sharing process. Besides, the relevant technology helps French news media organizations to manage redundant tasks and enable journalists to focus on more areas. It is found that AI algorithms are also employed to analyze vast amounts of data, facilitating the speed and accuracy of content. However, the study participants indicated some ethical concerns such as bubble filter and bias, further emphasizing the needs to counteract these ethical dilemmas. Therefore, this research implied that AI technology enhances the pragmatic role of French news media organizations by facilitating productivity and quality of content. While it offers many benefits, it is crucial to address the ethical issues revolving around bias and bubble filters.
... Wing states that for every activity involving reading, writing, and arithmetic, teachers should integrate Computational thinking into the analytical skills of each student (Wing, 2006). One of the important intelligence is linguistic intelligence. ...
Article
Full-text available
This study aims to determine whether there is a relationship between linguistic intelligence and computational thinking. The research method employed is quantitative, utilizing a correlational research design. The research sample comprised 73 students from 4 elementary schools in the Laweyan District, Surakarta City. Data collection involved a test instrument in the form of a descriptive test to assess both linguistic intelligence and computational thinking. Data analysis included prerequisite tests and hypothesis testing. The results indicate a significant overall relationship between linguistic intelligence and computational thinking, with a significance value of 0.000 (p 0.05) and a Pearson correlation coefficient of 0.493 with the moderate category. The relationship between each indicator of linguistic intelligence and computational thinking shows significant and positive correlations for the rhetoric, explanation, and metalinguistics indicators, with p 0.05. In contrast, the mnemonics indicator does not demonstrate a significant relationship, with a p 0.05. These findings can serve as a reference for further research. The significant relationship between linguistic intelligence and computational thinking suggests that enhancing linguistic skills, particularly rhetoric, explanation, and metalinguistics, could improve students' computational abilities, guiding future educational strategies.
... La conceptualización formal del pensamiento computacional, o Computational Thinking, fue presentada inicialmente por Wing (2006) en el ámbito científico de la computación. En su definición, Wing destaca que esta forma de pensar no se limita exclusivamente a programadores o científicos en computación, sino que constituye un conjunto de habilidades beneficiosas para todas las personas. ...
Article
Full-text available
The training of engineers demands the application of specific didactic strategies that allow the development of reflective critical thinking, product of exploration, investigation of concrete problems, which combine uncertainty and opportunities as part of creative and innovative thinking to propose answers to the needs and achievement of the SDGs in the local, regional and global context. Seen in this way, didactic strategies cannot be disarticulated from the curricular design in its different levels, and these in turn must be a fundamental part of the Educational Model adopted by the Institution, therefore, problem-based learning that leads to project-based learning is assumed as a fundamental strategy of the Contextual Ecological Educational Model, a path towards planetary sustainability of the Universidad Politécnica Estatal del Carchi in Ecuador, It is applied at the classroom level with an inter and multidisciplinary approach recognizing the unity of the human being, which is at the same time physical, biological, psychological, cultural, social and historical, and at the same time an integral part of a collective, so it is necessary to identify the fundamentals that guide the application of STEAM-H, so that learning and professional training is meaningful and relevant
Article
Full-text available
This multiple case study aimed to investigate ESL teachers' practices when they learn and design their ESL lesson activities, with a particular emphasis on the integration of computational thinking through Scratch. Scratch was considered as the computational thinking platform, and teachers were designers of language instruction with/for computational thinking. We aimed to explore ESL teachers' lesson designs incorporating computational tools. We collected audio and video recordings from individual workshops and semi-structured interviews and then conducted a thematic analysis. Five themes emerged: (a) learning experiences shaped project designs, (b) teachers' understanding of student's interests and age appropriateness shaped Scratch projects and pedagogical choices, (c) integrating computational thinking with ESL instruction was challenging, (d) efforts were made to reduce technical and content challenges, and (e) teachers considered and used Scratch as an ESL tool. Our findings underscored teacher agency in how teachers adapted their instruction based on perceived student needs and capabilities.
Article
Есептік ойлау қабілеттерімен қамтамасыз ету мақсатында ақпараттық-коммуникациялық технологияларды (АКТ) пайдалана отырып білім алушылардың қолданбалы программаларды қолдана отырып өз идеясын ұсыну дағдыларын қалыптастыру қазіргі қоғам дамуында маңызды рөл атқарады. Алайда, білім алушылардың цифрлық құрылғылар және олардың қоғамда алатын рөлі, интернет желісінде жұмыс жасау, сонымен қатар есептік ойлау, робототехника бойынша ақпараттық технологияларды практикада қалайжақсы ұсынуға және мұғалімдерді қалай дайындауға болатындығы туралы көптеген зерттеулер жүргізуқажет. Бұл зерттеубастауыш сынып оқушыларына арналған АКТ пәнінде есептік ойлаудағдыларын дамыту деңгейін зерттеуге арналған.Мақалада бастауыш сыныпқа арналаған жалпы білім беру ұйымдарына арналған жалпы білім беретін пәндердің, бастауыш, негізгі орта және жалпы орта білім деңгейлерінің таңдау курстарының үлгілік оқу бағдарламаларыарқылыбілім алушылар арасында жүргізілген сауалнаманың нәтижелері сипатталған. Зерттеу білім алушылардың цифрлық сауаттылықты арттыра отырып есептік ойлау қабілетіне қандай әсеретуін білуге мүмкіндік береді.Егер біз есептеу ойлауының оқу бағдарламасында өз орнын алуын қаласақ, онда оңай қол жетімді ресурстар немесе оқу бағдарламасының ағымдағы нәтижелерін оқыту мен оны қолдану дағдыларын дамыту мәселесі қозғалады. Негізінде, есептік ойлауды қолданатын кодтау арқылы бағдарламаларды құру үшін деректер мен алгоритмдерді әзірлеу бастауыш мектептегі балаларға күрделі, бірақ оңай басталатын бағдарламалау тілдері және электрондық кестелер мен дерекқорлар сияқты басқа құралдар арқылы қол жеткізуге болатын маңызды дағды болып табылады. Бұл құралдарды білім алушыныңдамуы барысында талғампаздық деңгейінің жоғарылауымен жұмысдәптерін жасау қажеттілігі негізделеді.
ResearchGate has not been able to resolve any references for this publication.