This book offers an up-to-date introductory treatment of computational techniques applied to problems in finance, placing issues such as numerical stability, convergence and error analysis in both deterministic and stochastic settings at its core.The first part provides a welcoming but nonetheless rigorous introduction to the fundamental theory of option pricing, including European, American, and exotic options along with their hedge parameters, and combines a clear treatment of the mathematical framework with practical worked examples in Python. The second part explores the main computational methods for valuing options within the Black-Scholes framework: lattice, Monte Carlo, and finite difference methods. The third and final part covers advanced topics for the simulation of financial processes beyond the standard Black-Scholes setting. Techniques for the analysis and simulation of multidimensional financial data, including copulas, are covered and will be of interest to those studying machine learning for finance. There is also an in-depth treatment of exact and approximate sampling methods for stochastic differential equation models of interest rates and volatilities.Written for advanced undergraduate and masters-level courses, the book assumes some exposure to core mathematical topics such as linear algebra, ordinary differential equations, multivariate calculus, probability, and statistics at an undergraduate level. While familiarity with Python is not required, readers should be comfortable with basic programming constructs such as variables, loops, and conditional statements.