Coordinate descent is an optimization algorithm which is leaned very much at the idea of gradient descent but comes out without the computation of the gradient. This at first seems like a big advantage but be aware that for the algorithm convergence only can be assured in case the function is differentiable. In other words, gradient descent could have been used as well. Though, depending on the problem, coordinate descent sometimes turns out to be the faster variant.