gradient versus partial derivatives how exactly is partial derivative different from gradient of a function?
In both the case, we are computing the rate of change of a function with respect to some independent variable. While I was going through Gradient Descent, there also the partial derivative term and the gradient were written and used separately. 
What's the catch?
 A: Gradient is the partial derivatives :
$$\nabla f = \left(\frac{\partial f}{\partial x_1};\frac{\partial f}{\partial x_2};...;\frac{\partial f}{\partial x_n}\right)$$
Eg : $f=x^2y$ 
$$\nabla f =(2xy;x^2)$$
Gradient gives the rate of change in every direction $e$ ($e$ is a unit vector) thanks to the dot product $\nabla f.e$ :
Eg :$\nabla f.(0;1)=\frac{\partial f}{\partial y}$
A: If a function $f$ takes the parameters $x_1, \ldots, x_n$, then the partial derivatives w.r.t. the $x_i$ determine the gradient:
\begin{equation}
\nabla f = \frac{\partial f}{\partial x_1 }\mathbf{e}_1 + \cdots + \frac{\partial f}{\partial x_n }\mathbf{e}_n.
\end{equation}
If you look at the definition of the gradient-descent method, it is completely defined in terms of the gradient.

how exactly is partial derivative different from gradient of a function?

A partial derivative may be taken also w.r.t. a different variable, e.g., 
\begin{equation}
\frac{\partial f}{\partial z },
\end{equation}
where $z = z(x_1, \ldots, x_n)$ is some function of the xs.
