This course provides an undergraduate presentation of nonlinear topics in mathematical programming that builds on multivariable Calculus II. The emphasis of this course is on developing a conceptual understanding of the fundamental topics introduced. These topics include general convexity, convex functions, derivative-based multivariable search techniques, minima and maxima of convex functions, gradients, hessian matrices, Lagrange Multipliers, Fritz-John and Kuhn-Tucker optimality conditions, and constrained and unconstrained optimization. Computer software is used to explore and expose various key ideas throughout the course.