SlideShare ist ein Scribd-Unternehmen logo
1 von 3
Downloaden Sie, um offline zu lesen
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 child’s 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
LISAHANEY
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; that’s 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
Turing 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.
WHAT IT IS, AND ISN’T
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

Weitere ähnliche Inhalte

Was ist angesagt?

Computational Thinking
Computational ThinkingComputational Thinking
Computational ThinkingJason Zagami
 
Cognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial IntelligenceCognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial IntelligenceVarun Singh
 
What is computational thinking? Who needs it? Why? How can it be learnt? ...
What is computational thinking?  Who needs it?  Why?  How can it be learnt?  ...What is computational thinking?  Who needs it?  Why?  How can it be learnt?  ...
What is computational thinking? Who needs it? Why? How can it be learnt? ...Aaron Sloman
 
Cognitive Computing - A Primer
Cognitive Computing - A PrimerCognitive Computing - A Primer
Cognitive Computing - A PrimerMarlabs
 
Soft computing abstracts
Soft computing abstractsSoft computing abstracts
Soft computing abstractsabctry
 
COGNITIVE COMPUTING
COGNITIVE COMPUTINGCOGNITIVE COMPUTING
COGNITIVE COMPUTINGmitali singh
 
Artificial intelligence: Simulation of Intelligence
Artificial intelligence: Simulation of IntelligenceArtificial intelligence: Simulation of Intelligence
Artificial intelligence: Simulation of IntelligenceAbhishek Upadhyay
 
Machine Reasoning at A2I2, Deakin University
Machine Reasoning at A2I2, Deakin UniversityMachine Reasoning at A2I2, Deakin University
Machine Reasoning at A2I2, Deakin UniversityDeakin University
 
AI/ML as an empirical science
AI/ML as an empirical scienceAI/ML as an empirical science
AI/ML as an empirical scienceDeakin University
 
Computational thinking and curriculum
Computational thinking and curriculumComputational thinking and curriculum
Computational thinking and curriculumNick Reynolds
 
Computational Thinking: Why It is Important for All Students
Computational Thinking: Why It is Important for All StudentsComputational Thinking: Why It is Important for All Students
Computational Thinking: Why It is Important for All StudentsNAFCareerAcads
 
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”“Artificial Intelligence, Cognitive Computing and Innovating in Practice”
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”diannepatricia
 
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)Frieda Brioschi
 
Machine Learning
Machine LearningMachine Learning
Machine Learningbutest
 

Was ist angesagt? (20)

Computational Thinking
Computational ThinkingComputational Thinking
Computational Thinking
 
Cognitive computing 2016
Cognitive computing 2016Cognitive computing 2016
Cognitive computing 2016
 
Cognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial IntelligenceCognitive Computing and the future of Artificial Intelligence
Cognitive Computing and the future of Artificial Intelligence
 
What is computational thinking? Who needs it? Why? How can it be learnt? ...
What is computational thinking?  Who needs it?  Why?  How can it be learnt?  ...What is computational thinking?  Who needs it?  Why?  How can it be learnt?  ...
What is computational thinking? Who needs it? Why? How can it be learnt? ...
 
Cognitive Computing - A Primer
Cognitive Computing - A PrimerCognitive Computing - A Primer
Cognitive Computing - A Primer
 
Cognitive computing
Cognitive computing Cognitive computing
Cognitive computing
 
Soft computing abstracts
Soft computing abstractsSoft computing abstracts
Soft computing abstracts
 
COGNITIVE COMPUTING
COGNITIVE COMPUTINGCOGNITIVE COMPUTING
COGNITIVE COMPUTING
 
Artificial intelligence: Simulation of Intelligence
Artificial intelligence: Simulation of IntelligenceArtificial intelligence: Simulation of Intelligence
Artificial intelligence: Simulation of Intelligence
 
Machine Reasoning at A2I2, Deakin University
Machine Reasoning at A2I2, Deakin UniversityMachine Reasoning at A2I2, Deakin University
Machine Reasoning at A2I2, Deakin University
 
AI/ML as an empirical science
AI/ML as an empirical scienceAI/ML as an empirical science
AI/ML as an empirical science
 
Computational thinking and curriculum
Computational thinking and curriculumComputational thinking and curriculum
Computational thinking and curriculum
 
Basics of Soft Computing
Basics of Soft  Computing Basics of Soft  Computing
Basics of Soft Computing
 
Computational Thinking: Why It is Important for All Students
Computational Thinking: Why It is Important for All StudentsComputational Thinking: Why It is Important for All Students
Computational Thinking: Why It is Important for All Students
 
Empirical AI Research
Empirical AI Research Empirical AI Research
Empirical AI Research
 
Ai introduction
Ai  introductionAi  introduction
Ai introduction
 
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”“Artificial Intelligence, Cognitive Computing and Innovating in Practice”
“Artificial Intelligence, Cognitive Computing and Innovating in Practice”
 
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)
Artificial Intelligence, Machine Learning & Tools (v. 2020 ITA)
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
1. Cyber and Intelligence
1. Cyber and Intelligence1. Cyber and Intelligence
1. Cyber and Intelligence
 

Ähnlich wie Computational thinking jeannette m. wing

Foundation for computational computing
Foundation for computational computingFoundation for computational computing
Foundation for computational computingramled931
 
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdf
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdfFrom Code to Cognition_ Understanding the Human Element in Machine Learning.pdf
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdfTyrion Lannister
 
What is creative computing
What is creative computingWhat is creative computing
What is creative computingKamron Grant
 
Comp thinking
Comp thinkingComp thinking
Comp thinkingDian Sari
 
Lecture 2 Teaching Digital Technologies 2016
Lecture 2 Teaching Digital Technologies 2016Lecture 2 Teaching Digital Technologies 2016
Lecture 2 Teaching Digital Technologies 2016Jason Zagami
 
Cognitive Computing.PDF
Cognitive Computing.PDFCognitive Computing.PDF
Cognitive Computing.PDFCharles Quincy
 
Cognitive future part 1
Cognitive future part 1Cognitive future part 1
Cognitive future part 1Peter Tutty
 
Cognitive future part 1
Cognitive future part 1Cognitive future part 1
Cognitive future part 1Peter Tutty
 
Introduction to Data and Computation: Essential capabilities for everyone in ...
Introduction to Data and Computation: Essential capabilities for everyone in ...Introduction to Data and Computation: Essential capabilities for everyone in ...
Introduction to Data and Computation: Essential capabilities for everyone in ...Kim Flintoff
 
Role of Mathematics in Computer Science.pptx
Role of Mathematics in Computer Science.pptxRole of Mathematics in Computer Science.pptx
Role of Mathematics in Computer Science.pptxAshishPandey502
 
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...Bonnie Cheuk
 
Artificial intelligence uses in productive systems and impacts on the world...
Artificial intelligence   uses in productive systems and impacts on the world...Artificial intelligence   uses in productive systems and impacts on the world...
Artificial intelligence uses in productive systems and impacts on the world...Fernando Alcoforado
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligenceu053675
 
Research in Computer Science and Engineering
Research in Computer Science and EngineeringResearch in Computer Science and Engineering
Research in Computer Science and EngineeringOdiaPua1
 
Introduction to Knowledge Graphs
Introduction to Knowledge GraphsIntroduction to Knowledge Graphs
Introduction to Knowledge Graphsmukuljoshi
 
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...Amit Sheth
 
Practitioner Integration in Computational Thinking Education
Practitioner Integration in Computational Thinking EducationPractitioner Integration in Computational Thinking Education
Practitioner Integration in Computational Thinking EducationMartin Ebner
 

Ähnlich wie Computational thinking jeannette m. wing (20)

Foundation for computational computing
Foundation for computational computingFoundation for computational computing
Foundation for computational computing
 
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdf
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdfFrom Code to Cognition_ Understanding the Human Element in Machine Learning.pdf
From Code to Cognition_ Understanding the Human Element in Machine Learning.pdf
 
What iscs
What iscsWhat iscs
What iscs
 
What is creative computing
What is creative computingWhat is creative computing
What is creative computing
 
Comp thinking
Comp thinkingComp thinking
Comp thinking
 
Lecture 2 Teaching Digital Technologies 2016
Lecture 2 Teaching Digital Technologies 2016Lecture 2 Teaching Digital Technologies 2016
Lecture 2 Teaching Digital Technologies 2016
 
The Future of Content
The Future of ContentThe Future of Content
The Future of Content
 
Cse
Cse Cse
Cse
 
Cognitive Computing.PDF
Cognitive Computing.PDFCognitive Computing.PDF
Cognitive Computing.PDF
 
Cognitive future part 1
Cognitive future part 1Cognitive future part 1
Cognitive future part 1
 
Cognitive future part 1
Cognitive future part 1Cognitive future part 1
Cognitive future part 1
 
Introduction to Data and Computation: Essential capabilities for everyone in ...
Introduction to Data and Computation: Essential capabilities for everyone in ...Introduction to Data and Computation: Essential capabilities for everyone in ...
Introduction to Data and Computation: Essential capabilities for everyone in ...
 
Role of Mathematics in Computer Science.pptx
Role of Mathematics in Computer Science.pptxRole of Mathematics in Computer Science.pptx
Role of Mathematics in Computer Science.pptx
 
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...
Dr Bonnie Cheuk IDC Future of Work Keynote: Workforce Transformation Human Ma...
 
Artificial intelligence uses in productive systems and impacts on the world...
Artificial intelligence   uses in productive systems and impacts on the world...Artificial intelligence   uses in productive systems and impacts on the world...
Artificial intelligence uses in productive systems and impacts on the world...
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Research in Computer Science and Engineering
Research in Computer Science and EngineeringResearch in Computer Science and Engineering
Research in Computer Science and Engineering
 
Introduction to Knowledge Graphs
Introduction to Knowledge GraphsIntroduction to Knowledge Graphs
Introduction to Knowledge Graphs
 
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...
Semantic, Cognitive, and Perceptual Computing – three intertwined strands of ...
 
Practitioner Integration in Computational Thinking Education
Practitioner Integration in Computational Thinking EducationPractitioner Integration in Computational Thinking Education
Practitioner Integration in Computational Thinking Education
 

Mehr von informaticacuitlahuac (20)

Actividad intercambio de experiencias de vida preguntas
Actividad intercambio de experiencias de vida preguntasActividad intercambio de experiencias de vida preguntas
Actividad intercambio de experiencias de vida preguntas
 
1
11
1
 
Crear portafolio de_evidencias_en_microsoft_teams
Crear portafolio de_evidencias_en_microsoft_teamsCrear portafolio de_evidencias_en_microsoft_teams
Crear portafolio de_evidencias_en_microsoft_teams
 
Sway paso a_paso
Sway paso a_pasoSway paso a_paso
Sway paso a_paso
 
Espacios virtuales
Espacios virtualesEspacios virtuales
Espacios virtuales
 
PUBLICAR VIDEO JUEGO SCRATCH A BLOGGER
PUBLICAR VIDEO JUEGO SCRATCH A BLOGGERPUBLICAR VIDEO JUEGO SCRATCH A BLOGGER
PUBLICAR VIDEO JUEGO SCRATCH A BLOGGER
 
PUBLICAR POWTOON EN BLOGGER
PUBLICAR POWTOON EN BLOGGERPUBLICAR POWTOON EN BLOGGER
PUBLICAR POWTOON EN BLOGGER
 
Feliz dia de las madres
Feliz dia de las madres Feliz dia de las madres
Feliz dia de las madres
 
Como publicar powtoon en blogger
Como publicar powtoon en bloggerComo publicar powtoon en blogger
Como publicar powtoon en blogger
 
Mapas
MapasMapas
Mapas
 
Estudiante en-linea
Estudiante en-lineaEstudiante en-linea
Estudiante en-linea
 
Herramientas web
Herramientas webHerramientas web
Herramientas web
 
Aspectos basicos
Aspectos basicosAspectos basicos
Aspectos basicos
 
Herramientas basicas
Herramientas basicasHerramientas basicas
Herramientas basicas
 
Beneficios
BeneficiosBeneficios
Beneficios
 
Ava
AvaAva
Ava
 
Espacios virtuales
Espacios virtualesEspacios virtuales
Espacios virtuales
 
Sga
SgaSga
Sga
 
Tl historias animadas_actividad
Tl historias animadas_actividadTl historias animadas_actividad
Tl historias animadas_actividad
 
1
11
1
 

Kürzlich hochgeladen

Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 

Kürzlich hochgeladen (20)

Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 

Computational thinking jeannette m. wing

  • 1. 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 child’s 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 LISAHANEY 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.
  • 2. 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; that’s 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 Turing 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. WHAT IT IS, AND ISN’T 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.
  • 3. 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