Course Notes for MATH 524: Nonlinear Optimization