Problem-Solving in High Performance Computing