Understanding programming an introduction using C++ - Cannon, Scott R. (Australia Brooks/Cole, 2001)