CSCI 3656 or CSCI 5606, and three semesters of calculus, or consent of instructor. Jorge Nocedal and Stephen J. Wright, Numerical Optimization, 2nd edition, 2006, Springer.