This book offers an introduction to the mathematical, probabilistic and numerical methods used in the modern theory of option pricing. The text is designed for readers with a basic mathematical background. The first part contains a presentation of the arbitrage theory in discrete time. In the second part, the theories of stochastic calculus and parabolic PDEs are developed in detail and the classical arbitrage theory is analyzed in a Markovian setting by means of of PDEs techniques. After the martingale representation theorems and the Girsanov theory have been presented, arbitrage pricing is revisited in the martingale theory optics. General tools from PDE and martingale theories are also used in the analysis of volatility modeling. The book also contains an Introduction to Levy processes and Malliavin calculus. The last part is devoted to the description of the numerical methods used in option pricing: Monte Carlo, binomial trees, finite differences and Fourier transform.