The course offers a top level view on the area of optimization. The introductory part discusses the main ideas and fundamentals of the area. The part on unconstrained continuous optimization covers iterative methods ranging from steepest descent to trust region methods The part on constrained continuous optimization covers concepts like duality, convexity, and Lagrange approaches. The part on discrete optimization covers mixed integer programming (MIP), elementary graph theory, and concludes by showing how to model several important discrete optimization problems as network LPs.