Although some theory is useful and necessary, including formal proofs, the emphasis is on problem solving and practical applications in finance, through either actual computer programming or the enlightened use of software. This material covered in this course spans from foundations (classical optimisation, solution of equation systems) to modern techniques (robust and conical optimisation, machine and reinforcement learning).