ArticlePDF Available

Abstract

It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.
Computational Thinking
Jeannette M. Wing
Computer Science Department
Carnegie Mellon University
Pittsburgh, PA 15213-3890
wing@cs.cmu.edu
November 25, 2005
A Vision for the 21st Century
Here is my grand vision for the field:
Computational thinking will be a fundamental skill used by everyone
worldwide by the middle of the 21st Century.
To reading, writing, and arithmetic, add computational thinking to every
child’s analytical ability. Imagine! And just as the printing press facilitated the
spread of the 3 R’s, what is appropriately incestuous about this vision is that
computing and computers will facilitate the spread of computational thinking.
Examples of Computational Thinking1
What do I mean by computational thinking? Computational thinking is taking
approaches to solving problems, designing systems, and understanding human
behavior that draw on the concepts fundamental to computer science. Compu-
tational thinking includes a range of “mental tools” that reflect the breadth of
our field.
When faced with a problem to solve, we might first ask “How difficult would
it be to solve?” and second “What’s the best way to solve it?” Our field has solid
theoretical underpinnings to answer these and other related questions precisely.
Stating the difficulty of a problem takes into consideration the underlying power
of the machine— the computing device that will run our solution. We must
consider the machine’s instruction set, its resource constraints, and its operating
environment. In solving a problem efficiently, we can further ask whether an
approximate solution is good enough, whether we can use randomization to our
advantage, whether false positives or false negatives are allowed. Computational
thinking is reformulating a seemingly difficult problem into one we know how
to solve, perhaps by reduction, embedding, transformation, or simulation.
1Please send me your favorite examples of computational thinking!
1
Computational thinking is thinking recursively. It is parallel processing.
Computational thinking is type checking, as the generalization of dimensional
analysis. It is recognizing both the virtues and dangers of aliasing, i.e., someone
or something having more than one name. It is recognizing both the cost and
power of indirect addressing and procedure call. It is judging a program not
just for correctness and efficiency, but for its esthetics; and a system’s design,
for its simplicity and elegance.
Computational thinking is using abstraction and decomposition when tack-
ling a large complex task or designing a large complex system. It is separation
of concerns. Computational thinking is choosing an appropriate representa-
tion for a problem or modeling the relevant aspects of a problem to make it
tractable. It is using invariants to describe a system’s behavior succinctly and
declaratively. It is having the confidence that we can safely use, modify, and
influence a large complex system without understanding every detail of it. It
is modularizing something in anticipation of multiple users or pre-fetching 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 with each other.
Computational thinking is using heuristic reasoning to discover a solution.
It is planning, learning, and scheduling in the presence of uncertainty. It is
search, search, search—resulting in a list of webpages, a strategy for winning
a game, or a counterexample. Computational thinking is thinking about ways
to use massive amounts of data effectively. It is making tradeoffs between time
and space, between processing power and storage capacity.
Here are some real-world examples: When your daughter goes to school in
the morning, she puts in her backpack the things she needs for the day. That’s
pre-fetching and caching. When your son loses his mittens, you suggest that he
retrace his steps. That’s backtracking. At what point do you stop renting skis
and buy yourself a pair? That’s on-line algorithms. Which line do you stand
in at the supermarket? That’s performance modeling for multi-server systems.
Why does your telephone still work during a power outage? That’s independence
of failure and redundancy in design. How do CAPTCHAs authenticate humans?
That’s the difficulty of solving hard AI problems to foil computing agents.
Computational thinking will have become ingrained in our lives when words
like “algorithm” and “pre-condition” are part of our vocabulary; when “nonde-
terminism” and “garbage collection” take on senses meant by computer scien-
tists; and when trees are drawn upside down.
Computational Thinking: Now and Tomorrow
We have already witnessed an influence of computational thinking on other
disciplines.
Machine learning has transformed statistics. Statistical learning is being
used for problems on a scale, in terms of both data size and dimension, that
2
were unimaginable years ago. Statistics departments are now hiring computer
scientists. Schools of computer science are embracing existing or starting their
own statistics departments.
Our big bet in computational biology is our field’s belief that biologists can
benefit from computational thinking. Our contribution to biology goes beyond
searching through large amounts of sequence data looking for patterns. It is the
hope that our data structures and algorithms—our computational abstractions
and methods—can represent the structure of proteins in ways that elucidate
their function. Computational biology can change the way biologists think.
Similarly, computational game theory can change the way economists think;
nanocomputing, chemists; quantum computing, physicists.
The boldness of my vision is that not only will computational thinking be
part of the skill set of other scientists, but it will be part of everyone’s skill set.
The analogy is: ubiquitous computing is to today as computational thinking
is to tomorrow. Ubiquitous computing was yesterday’s dream now becoming
today’s reality. Computational thinking is tomorrow’s reality.
Computational Thinking: What It Is and Is Not
Computational thinking:
Conceptualizing, not programming: Suffice it to say that computer science
is not computer programming. Thinking like a computer scientist means
more than being able to program a computer.
Fundamental, not rote skill: By fundamental skill, I mean something that
every human being needs to know to function in modern society. Rote
means a mechanical routine. Ironically, not until our very own field
solves the AI Grand Challenge of making computers think like humans
will “thinking” be rote. Perhaps that can be saved for the second half of
this century!
A way that humans, not computers think: Computational thinking is a way
humans solve problems using computers. It is not trying to get humans to
think like computers. Computers are dull and boring. Humans are clever
and imaginative. We humans make computers exciting! Empowered with
computing devices, we can use our cleverness to tackle problems no one
would have dared to before the age of computing, and to build systems
with functionality limited only by our imagination.
Complements and combines mathematical and engineering thinking: Our
field inherently draws on mathematical thinking given that, like all sci-
ences, our formal foundations rest on mathematics. Our field inherently
draws on engineering thinking given that we build systems that interact
with the real world. It is the constraints of the underlying computing de-
vice that force us to think computationally, not just mathematically. And
it is our capability to build virtual worlds that free us to engineer systems
beyond the physical world.
3
Ideas, not artifacts: It’s not just the software and hardware artifacts we
produce that will be physically present everywhere and that will touch our
lives all the time, but it will be the computational concepts we use to ap-
proach and solve problems, to manage our daily lives, and to communicate
and interact with others.
It’s for everyone, everywhere, all the time. Computational thinking will
be a reality when it is so integral to human endeavors that it disappears
as an explicit philosophy.
Why This Vision is Timely
Today the general public has a misperception of what computer science is all
about. Many equate computer science with computer programming. Parents
see a narrow range of job opportunities for their children if they major in com-
puter science. Many people think the fundamental research is done; only the
engineering is left.
Computational thinking is a grand vision to guide us as we act to change
society’s image of our field. We especially need to reach the K-12 audience—
teachers, parents, and students. Here are some messages to send:
Our field continues to expand, not just as we collaborate with more and
more other disciplines, but also as we gain a deeper understanding of
our own discipline. There remain intellectually challenging and engaging
scientific problems to be understood and solved. The problem space and
solution space are bound only by our own curiosity and creativity.
One can major in computer science and do anything. One can ma jor
in English or mathematics and go on to a multitude of different careers.
Ditto computer science. One can major in computer science and go onto
a career in medicine, law, business, politics, any science or engineering,
and even the arts. More obviously, the interdisciplinary nature of our field
means majoring in computer science enables a student to launch a career
in a different discipline or at the boundaries of many.
Studying computer science empowers people with a way of thinking.
Please join us at Carnegie Mellon in making computational thinking com-
monplace!
4
... Para Grover (2018) los ciudadanos del siglo XXI deben tener cinco habilidades: pensamiento crítico, creatividad, colaboración, comunicación y pensamiento computacional (PC), entendiendo a este último como los procesos ejecutados por una máquina o una persona que tome ventaja de las cosas que hacen mejor las personas que las máquinas y las cosas que hacen mejor las máquinas que las personas, para diseñar sistemas o resolver problemas que una sola persona no podría o quisiera hacer (Wing, 2006). Para que un profesor de cualquier asignatura pueda hacer una integración efectiva de la tecnología, debe tener tres conocimientos: del contenido, de lo pedagógico y de lo tecnológico. ...
... El PC es una frase que ha crecido en el buscador de Google en la última década, "se está convirtiendo cada vez más en parte de la conciencia dominante" (Grover, 2022, p. 18). Se concibe como una habilidad para todos, no exclusiva para los científicos de la informática; es más, los niños desde edades tempranas pueden desarrollarla (Wing, 2006). ...
Article
Full-text available
El objetivo de este artículo es ilustrar el papel del pensamiento computacional en el diseño de artefactos por cuatro profesores de bachillerato para resolver tareas matemáticas, tanto con el uso de aplicaciones como de forma tradicional con lápiz y papel. Consideramos llevar un enfoque más instrumental al contexto de la enseñanza de las matemáticas en un ambiente rico en tecnología; es decir, a partir de una tarea, se implementaron varios artefactos y al mismo tiempo que se aprende matemáticas, se mejora el pensamiento computacional de los profesores. El diseño metodológico fue el estudio de caso (cualitativo), el instrumento aplicado fue la entrevista basada en artefactos y se realizó un análisis temático. Se propone un modelo que explica cómo diseñar artefactos para resolver tareas matemáticas en cinco pasos: enfrentar una tarea, investigar la parte matemática y matematizar, diseñar un artefacto e investigar la parte de las aplicaciones, verificarlo, y ampliar la tarea; y en tres ciclos: diseño, desarrollo y refinación.
... Nos últimos anos, o PC tornou-se uma habilidade fundamental, não apenas para especialistas da área de informática, mas para a sociedade como um todo, tornando-se necessário para os indivíduos no século XXI. Segundo Wing (2006), este conceito retrata um conjunto de competências computacionais, presentes em diferentes áreas do conhecimento e que podem trazer benefícios aos seus usuários, sejam eles da área da informática ou não, definindo-o como processos de pensamento que envolvem a formulação e a resolução de problemas de uma forma que computadores, humanos ou máquinas possam fazer de forma eficaz. ...
... Esta abordagem se baseia em quatro pilares, nomeadamente decomposição, reconhecimento de padrões, abstração e algoritmos. Essa forma de organização é apresentada no artigo Computational Thinking (Wing, 2006) e é apoiada pelo Currículo de Referência em Tecnologia e Computação (Raabe et al., 2018), no qual sugerem que cada pilar pode ser utilizado separadamente ou conectado a outros para garantir uma solução para o problema, podendo ser abordados junto aos estudantes da Educação Básica. Ao unirmos essas teorias e referências com práticas pedagógicas exercidas por educadores, fornecemos exemplos de como podem ser abordados, tanto em contextos plugados quanto desplugados: ...
... Na Informática, a definição clássica diz que um algoritmo é uma abstração de um processo que recebe uma entrada, que executa uma sequência finita de passos e que produz uma saída que satisfaça um objetivo específico. É necessário também que cada passo seja executado em um tempo finito (Wing, 2006). No PC, os algoritmos desempenham um papel importante e seu uso, na maioria das aplicações, visa ensinar programação, principalmente no ensino médio (Vicari et al., 2018). ...
Chapter
Full-text available
O Pensamento Computacional (PC) emergiu como uma habilidade fundamental no cenário educacional contemporâneo, refletindo a crescente demanda por competências tecnológicas em diversas áreas do conhecimento e as mudanças no modo como os estudantes abordam os problemas. No ensino médio, a introdução de disciplinas focadas nesta habilidade pode proporcionar aos alunos ferramentas poderosas para lidar com problemas complexos, estimulando o raciocínio lógico e a criatividade. Com o uso de metodologias ativas de ensino em combinação com a tecnologia educacional, pode-se integrar o PC no processo pedagógico de maneira interativa, proporcionando um ambiente de aprendizagem dinâmico e adaptável às necessidades contemporâneas. Nesse sentido, os Massive Open Online Courses (MOOCs) representam uma plataforma ideal para a disseminação do PC entre os estudantes do ensino médio, oferecendo um ambiente flexível e acessível para a sua aprendizagem. Nesse contexto, o presente capítulo tem como objetivo apresentar um MOOC de PC - desenvolvido segundo o modelo ADDIE - direcionado especificamente para alunas do ensino médio, com o objetivo de auxiliá-las na resolução de problemas e visando o desenvolvimento do raciocínio lógico nos quatro pilares do PC: Decomposição, Reconhecimento de Padrões, Abstração e Algoritmo. Estes pilares são exercitados por meio de situações do dia-a-dia das alunas e por meio da prática de questões do desafio Bebras, um concurso internacional cuja finalidade é testar o nível de desenvolvimento de habilidades do PC.
... Alcuni autori hanno associato alla data literacy il pensiero computazionale, un processo cognitivo che permette di risolvere problemi di varia natura attraverso l'uso di metodi e strumenti scelti in base a una strategia predeterminata (Wing, 2006). Sebbene la programmazione informatica sia una pratica principalmente riscontrata tra i professionisti, le recenti discussioni sulla democratizzazione della data science invitano anche i non esperti a imparare competenze computazionali che supportano l'analisi e la risposta a domande utilizzando i dati. ...
Book
Full-text available
Il volume esplora la contemporanea intersezione tra i dati e l’educazione, un territorio in cui i big data non solo influenzano, ma trasformano attivamente le modalità di insegnamento e apprendimento. L’opera si apre con un’analisi del ruolo dei big data nella società dell’informazione e dell’influenza che essi esercitano sulle nostre vite individuali e sociali, sollevando questioni di ordine cognitivo, etico e sociale: in che modo sta cambiando il nostro modo di concepire i dati? Quali sono le implicazioni etiche legate alla raccolta e all’utilizzo dei dati in ambito educativo? Quale impatto l’uso dei big data nell’istruzione può avere sull’accesso equo alle opportunità educative? Tali questioni richiedono nuove forme di consapevolezza che vanno promosse tra i cittadini del nuovo millennio per favorire lo sviluppo di data literacy. Il libro offre una panoramica sui significati del concetto di data literacy, soffermandosi sui suoi fondamenti teorici e fornendo un quadro complessivo di cosa significhi essere alfabetizzati ai dati nel XXI secolo...
... The latest studies have shown how incredibly helpful smartphone applications are when it comes to developing students' computational thinking dispositions. According to some research, the correct Information Technology (IT) applications can draw students' attention and communicate information more effectively [7]. The graphical interactive features of these applications facilitate students' understanding of computationally intensive concepts more effectively than the conventional method of lecturing and writing on the blackboard. ...
Article
Full-text available
This study investigates the efficacy of smartphone applications in teaching computational thinking to students in Saudi Arabian primary and secondary schools. Computational thinking, encompassing problem-solving, computational logic, and algorithmic thinking, is an essential skill in the modern world. The research assesses various educational apps that support the development of computational thinking and examines their integration into the Saudi curriculum. This study incorporates qualitative and quantitative research techniques to provide an inclusive perspective. Participants included primary and secondary school students from various schools in Saudi Arabia. The research employed pre- and post-tests for quantitative analysis and interviews and questionnaires for qualitative data. Quantitative results include pre- and post-tests of the students in computational thinking with the aid of co-varying with Computational thinking, while interviews and questionnaires with teachers and students offer qualitative data. Best-selling educational applications for ScratchJr, Lightbot, Cargo-Bot, and Kodable are compared concerning how efficiently they introduce programming ideas and encourage rational thinking. Results have suggested that smartphone applications have a positive influence on students’ computational skills. An enhanced standard is also noticed regarding the students’ aspects that involve problem analysis, identification of pattern, and formation of algorithm. The use of applications such as ScratchJr and Lightbot is justified regarding an application’s capacity to improve students’ motivation and willingness to learn computational concepts. Teachers indicate that their students have shown more concern and engagement mainly when the teacher integrates these apps. Hence, based on the findings of the study, it is evident that incorporating Smartphone applications into the curriculum will lead to a reforming change in the teaching approaches towards efficiency as well as feasibility of the learners. These findings are valuable for the Saudi context for policy and teaching enhancement, signaling the need to provide more resources in digital tools and invest in the professional development of teachers to capture the virtues of advanced technology in improving learners’ performance.
... The conclusion reached is supported by literature (Kaufmann and Stenseth, 2020; Rambally, 2016;Wing, 2006). To discuss the relationship between computational thinking and mathematical thinking, it is crucial to comprehend the distinct characteristics of each. ...
Conference Paper
Full-text available
In education, computational thinking-which is characterized as a style of thinking applicable to various professions needing problem-solving abilities-has grown in popularity. Future specialists must be prepared for the sophisticated thinking skills required to solve social and business challenges, necessitating a combination of mathematical thinking and computational thinking. Since the field of computer science was derived from mathematics, the connection between these two fields is obvious. Moreover, there is a correlation between ability in specific mathematical and computational fields; the question is which precise fields are correlated? To derive a more precise hypothesis about the relationship among abilities in specific mathematical and computational fields, we adopted a novel approach-examining the relationship among local metalanguages of various fields in mathematics and computer science. The hypothesis of this research posits that if any mathematical and computational fields have similar metalanguages, then a correlation exists between ability in these fields. This information can aid in formulating content that is less comprehensible to students into a more accessible format. In the first research stage, data mining techniques were employed. As a result, we identified clusters of similar fields in mathematics and computer science, based on similarity between metalanguages. Upon formulating the hypothesis, we verify it using both quantitative and qualitative research involving students' participation. This paper presents the results of qualitative content analysis of interviews with software engineering students and lecturers.
... implementation of computer science learning standards, which now commence as early as kindergarten in numerous states across the United States (Ericson et al., 2016). Proficiency in computer science is increasingly being touted as a fundamental skill, with scholars arguing that computer science education helps students acquire analytical and creative problem-solving abilities that are applicable across diverse fields (Grover & Pea, 2018;Wing, 2006). This heightened attention to computer science has spurred rapid growth in research within the field of CS education, leading to a variety of approaches for teaching computer science, while also highlighting the need for more inclusion in computing. ...
Article
Full-text available
Research has established that there have been limited opportunities for students with a diagnosis of autism spectrum disorder (ASD) to participate in science, technology, engineering, and mathematics (STEM) learning activities that are designed to meet their diverse needs, particularly activities that are intended to promote computer science literacy. Thus, the purpose of this study was to examine outcomes across time associated with a robotics program for children with ASD while accounting for a variety of relevant variables, including the degree of ASD symptoms, presence of ADHD symptoms, degree of challenging behaviors, quality of relationships, and sensory sensitivity. Participants included 12 elementary students with a diagnosis ASD who were enrolled in a community-based after-school program for students with ASD. Participants engaged in robotics and coding activities across 7 weeks through structured and unstructured exploration. Engagement and diagnostic markers were observed as students participated in robotics and coding tasks. Additionally, measures were obtained for indications of ASD, ADHD, quality of relationships, challenging behaviors, and sensory sensitivity. Data were used to evaluate the association of ASD diagnostic marker and engagement scores across time via the number of sessions. Results show a decrease in participants’ diagnostic ASD markers and an increase in engagement as sessions progressed. Background variables such as presence of ADHD symptoms, challenging behaviors, and sensory sensitivities did not significantly influence outcomes, suggesting that the design of robotics and coding programs for students with ASD need not hinge upon on these factors.
Article
Full-text available
No cenário global, a presença feminina em campos tecnológicos ainda é desproporcional, tornando crucial o desenvolvimento de iniciativas que incentivem e apoiem a participação de meninas neste setor. A plataforma Scratch, uma ferramenta de programação visual desenvolvida para iniciantes, oferece uma oportunidade ideal para promover essa inclusão. Este trabalho visou desenvolver jogos digitais com a participação feminina em tecnologias da informação através da criação de jogos digitais na Scratch, promovendo o desenvolvimento de habilidades de programação e a exploração de carreiras em ciência e tecnologia. A metodologia adotada envolveu a aplicação de tecnologias para apoiar a construção do conhecimento, que coloca a tecnologia a serviço dos aprendizes e permite a reflexão sobre o processo de aprendizado. Foram aplicados princípios da pedagogia de projetos, possibilitando às alunas aprender de forma prática e reconhecer sua autoria nas produções. A pesquisa resultou em três jogos educativos focados em números positivos e negativos, atingindo seus objetivos ao melhorar as habilidades tecnológicas das alunas. No entanto, a falta de suporte para trabalho colaborativo na REVISTA ARACÊ, São José dos Pinhais, v.6, n.2, p.4061-4072, 2024 4063 plataforma Scratch apresentou limitações significativas, como a necessidade de concentrar o desenvolvimento em uma única conta, o que complicou a divisão de tarefas e o acesso ao trabalho.
Article
In the global scenario, the female presence in technological fields is still disproportionate, making it crucial to develop initiatives that encourage and support the participation of girls in this sector. The Scratch platform, a visual programming tool developed for beginners, offers an ideal opportunity to promote this inclusion. This work aimed to develop digital games with female participation in information technologies through the creation of digital games in Scratch, promoting the development of programming skills and the exploration of careers in science and technology. The methodology adopted involved the application of technologies to support the construction of knowledge, which puts technology at the service of learners and allows reflection on the learning process. Principles of project-based pedagogy were applied, enabling students to learn in a practical way and recognize their authorship in their productions. The research resulted in three educational games focused on positive and negative numbers, achieving their objectives by improving the students' technological skills. However, the lack of support for collaborative work in the Scratch platform presented significant limitations, such as the need to concentrate development in a single account, which complicated the division of tasks and access to work.
Article
Full-text available
O contexto (pós)pandêmico contribuiu para que as TDIC passassem de coadjuvantes a protagonistas no processo pedagógico, com suas limitações e potencialidades sendo objeto de investigação em diversas esferas. É fundamental atentar ao papel docente nesse contexto e, mais do que apontar lacunas em sua formação ou desconhecimento, é crucial estabelecer diálogos e propostas fruto de entendimentos envolvendo TDIC. Para tanto, desenvolvemos uma pesquisa com professores de educação básica envolvidos em formação continuada sobre tecnologias educacionais com base no framework TPACK por meio de questionário sobre sua autopercepção quanto aos conhecimentos de conteúdo, pedagógico e tecnológico. Resultados sugerem variações de entendimento em meio a diferentes áreas do conhecimento quanto à integração tecnológica e consciência de sua prática, com impacto em pesquisas e propostas curriculares.
ResearchGate has not been able to resolve any references for this publication.