This lecture introduces the main mathematical principles and important algorithms of optimization, using examples like the positioning of a marble in a box and the computation of optimal itineraries in complex networks. The instructor will guide students through linear and nonlinear optimization problems, suggesting the implementation of algorithms in Python within Jupyter Notebook to enhance understanding.