A gripping and exhilarating read for anyone who likes to spend time Thinking About Thinking.
What is computational thinking?
Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science. Computational thinking is thinking in terms of abstractions, invariably multiple layers of abstraction at once.
It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.
- is reformulating a seemingly difficult problem into one we know how to solve, perhaps by reduction, embedding, transformation, or simulation.
- is thinking recursively. It is parallel processing.
- is using abstraction and decomposition when attacking a large complex task or designing a large complex system. It is separation of concerns.
- is thinking in terms of prevention, protection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction.
- is using heuristic reasoning to discover a solution. It is planning, learning, and scheduling in the presence of uncertainty.
The challenge is to make Computational Thinking an integral part of education – like reading and writing.