http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf
Computational Thinking
builds on the power and limits of computing processes, whether they are executed by a human or by a machine. Computational
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.
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 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.
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
|