Thinking Like a Computer Scientist

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.

Computational thinking:

  • 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.

Thanks to Jon for this link. Computational Thinking by Jeannette Wing.

The challenge is to make Computational Thinking an integral part of education – like reading and writing.

3 thoughts on “Thinking Like a Computer Scientist

  1. Good one! Computational thinking really helps in daily life. I’ve tried this in many cases – unconciously though – esp. seperation of concerns.

    Thanks for posting this..

  2. I got to know about you from Naren, and thats how I landed up here after ‘Googling’ your name.

    Heard you are in Chennai. Would be happy to meet up with you incase you get the time. If you do get time, please drop your coordinates to my mail and I shall touch base with you.

    My mail is karthik@karthikvijayakumar.com.

    Cheers!

Comments are closed.