A Computer Science Tapestry: Exploring Programming and Computer Science with C++

                 A Beautifully Written Book

 First Edition:   This textbook teaches to focus on using C++ for a computer programming language. Many schools have approved the use of this book for beginning students of Computer Science studies. From beginning to the end this book, gradually leads in-to-depth to advanced features of C++.

When we first picked up this book and just read a few pages, immediately fell in love with it. This is how beautifully written the book is. This is the book that you will fall in love with it too.

 Owen L. Astrachan, the Author of 【A Computer Science Tapestry: Exploring Programming and Computer Science with C++】, his intent is that mastering the material presented here will provide:


1. A strong grounding in the design, construction, and analysis of programs.
2. A means for honing problem solving skills associated with the study of computer programming.
3. An introduction to computer science that gives the student more of an idea of what the discipline is about than a “traditional” introductory programming book does.

At Introduction: Mr. Owen L. Astrachan gives A Closer View of the CS Tapestry

This book is different than most other introductory programming contexts in that:

C++ is used without assuming any programming background.

A wide range of computer science topics is incorporated into the programs studied.
Whenever possible the computer is exploited - small programs do not necessarily equate with toy programs.
A large number of classes, programs, and libraries is supplied with the book - students learn to read, modify, and enhance programs before writing them from scratch.
String and vector classes are used rather than pointer-based implementations which are more C-based. The string and vector classes are consistent with the proposed ANSI standard C++ classes. Students should be able to use the standard string class in place of the class used in this book with little problem. The string and vector classes are also consistent with the classes designed for use in the Advanced Placement Computer Science course.

At beginning of the book it’s really nice to read with the example of figures the gradual introduction to object-oriented programming or OOP. Chapter 1 in the Language and Program Design:

Software Is Harder Than Hardware
Computer scientists disagree about what OOP is and whether it is appropriate for use in an introductory course. By using a carefully chosen subset of C++, it is certainly possible to develop a mastery of basic programming concepts as well as understanding and appreciation of OOP

With the use of figures and analogy, an example is created to demonstrate what OOP is. While discussing the building of various construction projects from a bird house to a skyscraper, objects are introduced as off-the-shelf components to make development easier, and to use economy of scale in the reuse of code.

The book also features at the end of every chapter with a Chapter Review and Exercises to help students practice what they learned in each chapter.

Computer Science Themes and Concepts

The sorting example provides a context for the broad set of themes and concepts that make up computer science.    These are Theory, Language, Architecture

The book allow the learners to understand from start that how to writing program from scratch. Anyone likes to learn computer science this is the book to start. It is so good value for collecting.

This link guide to the author and schools credit to using this book
Images Source: A Computer Science Tapestry: Exploring Programming and Computer Science with C++, First Edition 1997.

At Best Taste