A Computer Science Tapestry provides a compelling introduction to computer science and program using C++. Drawing from real-world examples, the text exploits the best features of C++ in teaching programming, computer science, and problem-solving and software engineering skills. The book is designed to be used by students with no programming experience but provides a solid introduction to C++ and object-based object-oriented programming for those with knowledge of another programming language. The book focuses on reading, using, and modifying classes before designing and implementing them; the classes are based on industry-accepted standards but have been developed and tested for use by beginning students. Emphasizing recent approaches to programming and pedagogy, students use classes as clients or apprentices to begin their study of programming and computer science and as a gradual introduction to object-based programming. In later chapters, class implementations are used to study advanced features of C++.