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