I am not able to understand Gradient checking and numerical approximation used in gradient checking
This was all explained in some detail in the lectures. My suggestion would be to watch the relevant ones again and if there is still something that doesn’t make sense, please try to formulate a more specific question. With the question as it stands, it’s a bit hard to know where to start. It’s not fair to ask us to recreate the contents of the lecture by typing it out.
The fundamental idea of finite differences is that \displaystyle \frac {f(z + \epsilon) - f(z - \epsilon)}{2 \epsilon} is an approximation of f'(z), right? This is basic to the definition of differentiation.
Or if your question is why do we bother with any of this, then that was also explained in the lectures.