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.