A Computer Science Tapestry: Exploring Programming and Computer Science with C++ - Astrachan, Owen L. (McGraw-Hill, 2000)