Pooyan Jamshidi's blog

Main menu

Tag Archives: Computational Thinking

I found this paper (Jeannette Wing, CMU) as a good introductory for whoever that are interested to quickly comprehend what is and what is not “computational thinking“. As software engineers, we have been experiencing that people think about us as a kind of geek that the only task we are able to do is computer programming and there are still so many of them who think the fundamental research in our discipline is done and that only the engineering remains. But this is so untrue. I recommend them to read this masterpiece and its corresponding presentation to realize thinking like computer scientists means more than being able to program a computer. It requires thinking at multiple levels of abstraction!!!! Wow! By the way I extracted this interesting quote from the paper and put it here for convincing you to read it: “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.”