In this course we study optimization as an engineering design tool. Topics covered include nonlinear programming, computational techniques for unconstrained and constrained problems, conjugate gradient, feasible directions methods, and design applications.