**How To Think Like A Computer Scientist: C++ Version**

**Think C++ by Allen B. Downey**

Guidelines to problem-solving as the most important skill for a computer scientist.

How to Think Like a Computer Scientist, the JavaTM Version, as a textbook for his computer science class with converted the original Java version into C++. Since then, the Java version has undergone several major changes, including the addition of Abstract Data Types such as Stacks, Queues, and Heaps. The C++ version of the open textbook however, did not receive these changes, until Jonah Cohen, Paul Bui and Charles Harrison came along.

Like the original Java version, the C++ version’s goal is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.

The single most important skill for a computer scientist is problem-solving. That is, the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills.

**Download How To Think Like A Computer Scientist: C++ Version PDF**

**How To Think Like A Computer Scientist: C++ Version**

Author(s): Allen B. Downey

Publisher: CreateSpace Independent Publishing Platform, Year: 2009

ISBN: 1441419055,9781441419057