In recent years, there has been a lot of talk and buzz around computational thinking. Based on your readings for this course and what youâ??ve learned in the past in this program, share your perspectives on â??computational thinkingâ?. Should it be a required part of student education? How do you make a bridge between computational thinking to other subjects, (particularly math and science)? Is coding all there is to computational thinking? What are the implications of computational thinking in our society and where do you see it fitting in the future? Think hard and make a decision on the issue of CT. Write a paper that defines, defends, and offers an example in support of your opinion. use APA formatcheck spelling, grammar, and punctuationwork within the assignment parametersconstruct logical, organized, cohesive propositions.reference all quoted material and avoid over-quoting/paraphrasingapprox. 700 words
Unformatted Attachment Preview
Jeannette M. Wing
It represents a universally applicable attitude and skill set everyone, not just
computer scientists, would be eager to learn and use.
builds on the power and
limits of computing
processes, whether they are executed by a human or by a
methods and models give us
the courage to solve problems and design systems that no one of us would
be capable of tackling alone. Computational thinking 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 reading, writing, and arithmetic, we should add computational 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 problems, 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 theoretical underpinnings to answer such questions pre-
cisely. Stating the difficulty of a problem accounts
for the underlying power of the machineâ??the computing 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 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.
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 generalization of dimensional analysis. It is recognizing
both the virtues and the dangers of aliasing, or giving 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 program not just for correctness and efficiency but for
aesthetics, and a systemâ??s design for simplicity and
Computational thinking is using abstraction and
decomposition when attacking a large complex task
or designing a large complex system. It is separation
of concerns. It is choosing an appropriate representation 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 we can
safely use, modify, and influence a large complex
system without understanding its every detail. It is
COMMUNICATIONS OF THE ACM March 2006/Vol. 49, No. 3
modularizing something in anticipation of multiple
users or prefetching and caching in anticipation of
Computational thinking is thinking in terms of
prevention, protection, and recovery from worst-case
scenarios through redundancy, damage containment,
and error correction. It is calling gridlock deadlock
and contracts interfaces. It is learning to avoid race
conditions when synchronizing meetings with one
Computational thinking is using heuristic reasoning 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
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 computational thinking on other disciplines. For example,
machine learning has transformed statistics. Statistical learning is being used for problems on a scale, in
terms of both data size and dimension, unimaginable only a few years ago. Statistics departments in
all kinds of organizations are hiring computer scientists. 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
Thinking like a computer scientist means more than being able to
program a computer. It requires thinking at multiple levels of abstraction.
Web pages, a strategy for winning a game, or a counterexample. Computational thinking is using massive
amounts of data to speed up computation. It is making 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 backtracking. 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 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 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 algorithm and precondition are part of everyoneâ??s vocab34
March 2006/Vol. 49, No. 3 COMMUNICATIONS OF THE ACM
from computational thinking. Computer scienceâ??s
contribution to biology goes beyond the ability to
search through vast amounts of sequence data looking for patterns. The hope is that data structures
and algorithmsâ??our computational abstractions
and methodsâ??can represent the structure of proteins in ways that elucidate their function. Computational biology is changing the way biologists
think. Similarly, computational game theory is
changing the way economists think; nanocomputing, the way chemists think; and quantum computing, 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; computational 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
Conceptualizing, not programming. Computer science is not computer programming. Thinking
like a computer scientist means more than being
able to program a computer. It requires thinking
at multiple levels of abstraction;
Fundamental, not rote skill. A fundamental skill is
something every human being must know to
function in modern society. Rote means a
mechanical routine. Ironically, not until computer
science solves the AI Grand Challenge of making
computers think like humans will thinking be
A way that humans, not computers, think. Computational thinking is a way humans solve problems;
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. Equipped with computing
devices, we use our cleverness to tackle problems
we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations;
Complements and combines mathematical and engineering thinking. Computer science inherently
draws on mathematical thinking, given that, like
all sciences, its formal foundations rest on mathematics. 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 computer scientists to think computationally, not just
mathematically. Being free to build virtual worlds
enables us to engineer systems beyond the physical world;
Ideas, not artifacts. Itâ??s not just the software and
hardware artifacts we produce that will be physically 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 computer 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. Computational 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 especially need to reach the pre-college audience, including teachers, parents, and students, sending them
two main messages:
Intellectually challenging and engaging scientific problems remain to be understood and solved. The problem 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 computer 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 Scientistâ? 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. c
Jeannette M. Wing (email@example.com) 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
COMMUNICATIONS OF THE ACM March 2006/Vol. 49, No. 3
Purchase answer to see full
Why Work with Us
Top Quality and Well-Researched Papers
We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university or professional, and we will assign a writer who has a respective degree.
Professional and Experienced Academic Writers
We have a team of professional writers with experience in academic and business writing. Many are native speakers and able to perform any task for which you need help.
Free Unlimited Revisions
If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.
Prompt Delivery and 100% Money-Back-Guarantee
All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.
Original & Confidential
We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.
24/7 Customer Support
Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
No need to work on your paper at night. Sleep tight, we will cover your back. We offer all kinds of writing services.
No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.
Admission Essays & Business Writing Help
An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.
Our academic writers and editors make the necessary changes to your paper so that it is polished. We also format your document by correctly quoting the sources and creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.
If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied with the service offered.