1. Motivation -- 2. Financial theory -- 3. Basics of numerical analysis -- 4. Numerical integration : deterministic and Monte Carlo methods -- 5. Finite difference methods for partial differential equations -- 6. Convex optimization -- 7. Option pricing by binomial and trinomial lattices -- 8. Option pricing by Monte Carlo methods -- 9. Option pricing by finite difference methods -- 10. Dynamic programming -- 11. Linear stochastic programming models with recourse -- 12. Non-convex optimization -- App. A. Introduction to MATLAB programming -- App. B. Refresher on probability theory and statistics -- App. C. Introduction to AMPL