Modern Software Tools for Scientific Computing

The purpose of this text is to survey recent advances in the development of software tools for scientific computing. It emphasizes the design of large software codes, computational efficiency, object-oriented programming, reliability of numerical software and parallel computing.