In the past hundred years, computer science has changed the world more than any other field. Without computer science, humans would not have walked on the Moon, modern medicine would not exist, and Wal-Mart would be a small store in Arkansas. But this book is not just about the pragmatic impact of computer science; it is about how computer science changes the way we think and how we solve problems. This book is a survey introduction to the most important ideas in computing. It focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically. Computer science is the study of information processes. Computer scientists study how to describe, predict properties of, and efficiently implement information processes. When confronted with a problem, computer scientists do not just attempt to solve it. Instead, they think about a problem as a mapping between its inputs and desired outputs, develop a systematic sequence of steps for solving the problem for any possible input, and consider how the number of steps required to solve the problem scales as the input size increases. Thinking about problems this way has practical value since it leads to programs computers can execute to solve problems remarkably quickly, but also impacts the way we think about defining and solving problems regardless of whether or not a computer is involved.
Thanks to udacity.com, I'm now a student of Prof.Evans. I thoroughly enjoyed his teaching in the introductory CS course. "Introduction to Computing" is a different approach to computing from the usual.
I got started with this book before taking the class, and found it a bit tough to follow. But after taking couple of courses at Udacity (especially those of Prof. Evans and Prof. Wes), it all started making a lot of sense.
Highly recommended to folks in the Software Industry or Computer academics.