Stochastic, single- and multi-objective optimization methods. Evolutionary algorithms (EASY software). Cost reduction using surrogate models, hybrid search, etc. Deterministic optimization methods and computation of the gradient of objective functions, using the continuous and discrete adjoint method, etc. Uncertainty quantification and robust design. Constraints. Demonstration of real-world optimization problems. Computational homework.