Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation