This text introduces upper division undergraduate/beginning graduate students in mathematics, finance, or economics, to the core topics of a beginning course in finance/financial engineering. Particular emphasis is placed on exploiting the power of the Monte Carlo method to illustrate and explore financial principles. Monte Carlo is the uniquely appropriate tool for modeling the random factors that drive financial markets and simulating their implications. The Monte Carlo method is introduced early and it is used in conjunction with the geometric Brownian motion model (GBM) to illustrate and analyze the topics covered in the remainder of the text. Placing focus on Monte Carlo methods allows for students to travel a short road from theory to practical applications. Coverage includes investment science, mean-variance portfolio theory, option pricing principles, exotic options, option trading strategies, jump diffusion and exponential Lévy alternative models, and the Kelly criterion for maximizing investment growth. Novel features: inclusion of both portfolio theory and contingent claim analysis in a single text pricing methodology for exotic options expectation analysis of option trading strategies pricing models that transcend the Black-Scholes framework optimizing investment allocations concepts thoroughly explored through numerous simulation exercises numerous worked examples and illustrations The mathematical background required is a year and one-half course in calculus, matrix algebra covering solutions of linear systems, and a knowledge of probability including expectation, densities and the normal distribution. A refresher for these topics is presented in the Appendices. The programming background needed is how to code branching, loops and subroutines in some mathematical or general purpose language. The mathematical background required is a year and one-half course in calculus, matrix algebra covering solutions of linear systems, and a knowledge of probability including expectation, densities and the normal distribution. A refresher for these topics is presented in the Appendices. The programming background needed is how to code branching, loops and subroutines in some mathematical or general purpose language. Also by the author: (with F. Mendivil) Explorations in Monte Carlo, ©2009, ISBN: 978-0-387-87836-2; (with J. Herod) Mathematical Biology: An Introduction with Maple and Matlab, Second edition, ©2009, ISBN: 978-0-387-70983-3.