General Discussions

Computational Thinking – samw3



Posts: 542
From: Toccoa, GA, USA
Registered: 08-15-2006
Here is a quote from the 2020 Science paper in regards to computer science. Comments? I have never thought of coding this way before.

Here is my grand vision for the field: Computational thinking will be a fundamental
skill used by everyone in the world 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
deliciously incestuous about this vision is that computing and computers will facilitate
the spread of computational thinking. What do I mean by computational thinking?
It 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 [computer science] has solid
theoretical underpinnings to answer these and other related questions precisely.
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 type checking, as the generalization of dimensional analysis.
Computational thinking is choosing an appropriate representation for a problem or
modeling the relevant aspects of a problem to make it tractable. Computational thinking
is using abstraction and decomposition when tackling a large complex task or designing
a large complex system. 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. It is judging a system’s design for its simplicity and elegance. It is thinking
recursively. It is thinking in terms of prevention, protection, and recovery from worst-case
scenarios (violated pre-conditions, unpredictable environments) through redundancy,
damage containment, and error correction. It is calling gridlock deadlock and learning to
avoid race conditions when synchronizing meetings. Computational thinking is even
using the difficulty of solving hard AI [computational] problems to foil computing
agents, e.g. as CAPTCHAs are used daily by websites for authenticating human users.
In short, computational thinking is taking an approach to solving
problems, designing systems, and understanding human behavior that draws on the
concepts fundamental to computer science.

Andrew Herbert

Sam Washburn

[This message has been edited by samw3 (edited February 28, 2007).]



Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
that's a really inspiring article
I've been to seminars on problem solving which basically encourage that sort of mindset but i rarely meet people that will fit that description.
Personally when i solve problems or plan out logic, i go through about 99% of those ideas. Sorry this is a short post; i really had a lot to comment on that article clipping. It's such a great concept and i wish more people thought that way sometimes (but not all the time ).


Posts: 2337
Registered: 02-01-2005
Nice to see that someone else tries computational thinking too. I mainly focus on logic... lots and lots of logic. The other idea mentioned in above article are a good idea. Thanks for posting it.

All Your Base Are Belong To Us!!! chown -r us ./base
"After three days without programming, life becomes meaningless.'' -- Tao of Programming Book 2

My Programming and Hacker/Geek related Blog