Part 2. Gradient and Subgradient Methods for Unconstrained Convex Optimization