What are the differences between differential and gradient? As far as i know, both differential and gradient are vectors where their dot product with a unit vector give directional derivative with the direction of the unit vector. So what are the differences?
 A: There is hardly a noticable difference when you work on Euclidean spaces. You can think of the differential at a point as being a linear map, which maps a vector to the dot product of the vector with the gradient. The differential generalizes in a natural way to more abstract settings, such as functions on a manifold. The gradient has no such generalization, unless the manifold is equipped with a metric (which is a fancy way of saying there is a dot product defined for any two tangent vectors based at the same point).
I could go on, but I am afraid this would turn into a lecture on differential geometry.
A: Essentially, and in an informal sense, it is the difference between the projection of the gradient onto the plane below the surface (this is the normal "gradient"), and a "risen" gradient which is embedded in the 3D surface.
Note: Technically, the differential and gradient reduce to the same thing in the case of the map from $R^2\rightarrow R $. That is, they are both row vectors consisting of the partial derivatives of f.
However, as the differential is used in higher dimensional cases usually, being a generalization of the 1D gradient described above, one might informally interpret "the differential of f" as the result of converting f into the surface it implicitly represents using some map x, and taking the differential of x (a map from a plane to a surface).
What is the difference between the two, then, if we take this informal interpretation of "differential of f"? 
I will explain:
Examine what happens when we map the gradient vector of f using the differential of x: The 2D gradient vector $(u_x,u_y)$ becomes $(1,1,u_x+u_y)$, i.e. it "rises" and becomes embedded 3 dimensionally in the surface, whereas before it was only a projection on the plane beneath the surface. Note that this 3D vector is the analog to the "amount of change" in the gradient direction $||\nabla f||$, a scalar, in the 1D case, and is the result of taking the differential of x at a point p=(u,v) in the direction of the gradient of f. 
Technically, the differential itself (at the point) is the matrix operator which implemented this transformation, just as in the 1D case of f the gradient was the vector which dotted with the direction gave the amount of change in that direction.
