**A Computer Science Tapestry: Exploring Computer Science with C++**

by Owen L. Astrachan

**Publisher**: McGraw - Hill 1999**ISBN/ASIN**: 0072322039**ISBN-13**: 9780072322033**Number of pages**: 879

**Description**:

This book is designed for a first course in computer science that uses C++ as the language by which programming is studied. The goal has not been to cover the syntax of a large language like C++, but to leverage the best features of the language using sound practices of programming and pedagogy in the study of computer science and software design.

Download or read it online for free here:

**Download link**

(4.4MB, PDF)

## Similar books

**Rough set data analysis: A road to non-invasive knowledge discovery**

by

**Ivo Düntsch, Günther Gediga**-

**Methodos Publishers (UK)**

In this book the authors present an overview of the work they have done on the foundations and details of data analysis, the first attempt to do this in a non-invasive way. It is a look at data analysis from many different angles.

(

**10230**views)

**Foundations of Computation**

by

**Carol Critchlow, David Eck**-

**Hobart and William Smith Colleges**

The book covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers automata, formal languages, and grammar that would ordinarily be encountered in an upper level course.

(

**7985**views)

**Concepts, Techniques, and Models of Computer Programming**

by

**Peter Van Roy, Seif Haridi**-

**The MIT Press**

Covered topics: concurrency, state, distributed programming, constraint programming, formal semantics, declarative concurrency, message-passing concurrency, forms of data abstraction, building GUIs, transparency approach to distributed programming.

(

**14005**views)

**How to think like a Computer Scientist (C++ Version)**

by

**Allen B. Downey**

This book teaches you to think like a computer scientist - to combine the best features of mathematics, natural science, and engineering, to use formal languages to denote ideas, to observe the behavior of complex systems, form hypotheses, etc.

(

**13518**views)