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

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

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

Publication date: 01 Nov 2012

ISBN-10: 1441419055

ISBN-13: 9781441419057

Paperback: 192 pages

Views: 75,005

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

How To Think Like A Computer Scientist: C++ Version Guidelines to problem-solving as the most important skill for a computer scientist.
Tag(s): C / C++ Introduction to Computer Science
Publication date: 01 Nov 2012
ISBN-10: 1441419055
ISBN-13: 9781441419057
Paperback: 192 pages
Views: 75,005
Document Type: N/A
Publisher: CreateSpace Independent Publishing Platform
License: Creative Commons Attribution-NonCommercial 3.0 Unported
Post time: 24 Oct 2004 05:19:25
Summary/Excerpts of (and not a substitute for) the Creative Commons Attribution-NonCommercial 3.0 Unported:
You are free to:

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click here to read the full license.
Book excerpts:

Allen B. Downey, professor of Computer Science at Wellesley College, originally wrote How to Think Like a Computer Scientist, the JavaTM Version, as a textbook for his computer science class. Over the summer of 1998, he 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.
 




About The Author(s)


Allen B. Downey (born May 11, 1967) is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks. Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997.
 

Allen B. Downey

Allen B. Downey (born May 11, 1967) is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks. Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997.
 


Book Categories
Sponsors