This course introduces the fundamental principles and methods of optimization, focusing on both linear and nonlinear models. Students learn to formulate and analyze optimization problems, explore core algorithms, and interpret solutions in practical contexts. Topics may include foundational modeling techniques, linear and integer programming, duality concepts, and an introduction to nonlinear and discrete optimization. Emphasis is placed on conceptual understanding, problem-solving, and the use of computational tools to implement and explore optimization models. Applications to real-world systems and the use of advanced optimization software are emphasized throughout.