A Self-Instructing Course in Numerical C++ Programming