Programming and problem solving with C++