computer does two thingsand two things onlyit performs calculations and it remembers the results of those calculations but it does those two things extremely well the typical computer that sits on desk or in briefcase performs billion or so calculations second it' hard to image how truly fast that is think about holding ball meter above the floorand letting it go by the time it reaches the flooryour computer could have executed over billion instructions as for memorya typical computer might have hundreds of gigabytes of storage how big is thatif byte (the number of bitstypically eightrequired to represent one characterweighed one ounce (which it doesn' ) gigabytes would weigh more than , , tons for comparisonthat' roughly the weight of all the coal produced in year in the for most of human historycomputation was limited by the speed of calculation of the human brain and the ability to record computational results with the human hand this meant that only the smallest problems could be attacked computationally even with the speed of modern computersthere are still problems that are beyond modern computational models ( understanding climate change)but more and more problems are proving amenable to computational solution it is our hope that by the time you finish this bookyou will feel comfortable bringing computational thinking to bear on solving many of the problems you encounter during your studiesworkand even everyday life what do we mean by computational thinkingall knowledge can be thought of as either declarative or imperative declarative knowledge is composed of statements of fact for example"the square root of is number such that * this is statement of fact unfortunately it doesn' tell us how to find square root imperative knowledge is "how toknowledgeor recipes for deducing information heron of alexandria was the first to document way to compute the square root of number his method can be summarized asstart with guessg if * is close enough to xstop and say that is the answer otherwise create new guess by averaging and /gi ( / )/ using this new guesswhich we again call grepeat the process until * is close enough to many believe that heron was not the inventor of this methodand indeed there is some evidence that it was well known to the ancient babylonians