The course is an introduction to the concepts and models underlying the modern analysis and pricing of financial derivatives, from vanilla calls and puts on stocks to complex exotics in the equity and fixed income arenas. The underlying philosophy of the course is to first provide firm foundations for understanding derivatives in general, rather than following a cookbook approach. This requires formal modelling and building the pricing tools from the ground up. The required technical tools will be explained carefully, allowing students to learn the language and to be able to converse with derivatives professionals. Once the tools are in place, they can applied to any derivative. Special emphasis will be put on those derivatives that shape the modern world, contributing to beneficial financial engineering innovations as well as to the potential for financial crises.