This document contains lecture slides on nonlinear programming from lectures given at MIT. It discusses two main issues in nonlinear programming: 1) characterizing solutions through necessary and sufficient conditions using concepts like Lagrange multipliers and sensitivity analysis, and 2) computational methods for finding solutions through iterative algorithms. It provides examples of application areas for nonlinear programming like data networks, production planning, and engineering design. It outlines topics covered in the first lecture, including duality theory and the relationship between linear and nonlinear programming.