This course presents the problem of static optimization, with and without (equality and inequality) constraints, both from the theoretical (optimality conditions) and methodological (algorithms) point of view. Economics and financial applications are provided. Dynamic optimization is also introduced