In this chapter we analyse, design and implement a software system to price one-factor financial options using the Monte Carlo method. The programming language used is C# and many of the design principles are also applicable to C++ and Java but a discussion of how to implement the current design is outside the scope of this chapter. For more background information on the Monte Carlo and its applications to computational finance, see Glasserman 2004, Duffy and Kienitz 2009. Although the focus is on software design and implementation we do not shy away from dealing with the mathematical and financial foundations relating to the Monte Carlo method as an understanding of this material is needed if we are to understand the design rationale. We need to explain a number of advanced topics and for this reason we restrict out attention to one-factor models. However, we do discuss both plain and path-dependent option pricing problems.