This is one of the first books that describe all the steps that are needed in order to analyze, design and implement Monte Carlo applications. It discusses the financial theory as well as the mathematical and numerical background that is needed to write flexible and efficient C++ code using state–of–the art design and system patterns, object–oriented and generic programming models in combination with standard libraries and tools.