MATH3971 Convex Optimization