(a) First fix \(v=v_0\) and let \(u\) vary. Then
\begin{equation*}
u\mapsto \vr(u,v_0) = \big(x(u,v_0)\,,\,y(u,v_0)\,,\,z(u,v_0)\big)
\end{equation*}
is a curve on the surface (the red curve in the figure on the right below) that passes through \((x_0,y_0,z_0)\) (the black dot in the figure) when \(u=u_0\text{.}\)
The tangent vector to this curve at \((x_0,y_0,z_0)\text{,}\) which is also a tangent vector to the surface at \((x_0,y_0,z_0)\text{,}\) is
\begin{equation*}
\vT_u = \frac{\partial\ }{\partial u}\vr(u,v_0)\Big|_{u=u_0}
=\Big(\frac{\partial x}{\partial u}(u_0,v_0)\,,\,
\frac{\partial y}{\partial u}(u_0,v_0)\,,\,
\frac{\partial z}{\partial u}(u_0,v_0)\Big)
\end{equation*}
It is the red arrow in the figure on the right above.
Next fix \(u=u_0\) and let \(v\) vary. Then
\begin{equation*}
v\mapsto \vr(u_0,v) = \big(x(u_0,v)\,,\,y(u_0,v)\,,\,z(u_0,v)\big)
\end{equation*}
is a curve on the surface (the blue curve in the figure on the right above) that passes through \((x_0,y_0,z_0)\) when \(v=v_0\text{.}\) The tangent vector to this curve at \((x_0,y_0,z_0)\text{,}\) which is also a tangent vector to the surface at \((x_0,y_0,z_0)\text{,}\) is
\begin{equation*}
\vT_v = \frac{\partial\ }{\partial v}\vr(u_0,v)\Big|_{v=v_0}
=\Big(\frac{\partial x}{\partial v}(u_0,v_0)\,,\,
\frac{\partial y}{\partial v}(u_0,v_0)\,,\,
\frac{\partial z}{\partial v}(u_0,v_0)\Big)
\end{equation*}
It is the blue arrow in the figure on the right above.
We now have two vectors, namely \(\vT_u\) and \(\vT_v\text{,}\) that are tangent to the surface at \((x_0,y_0,z_0)\text{.}\) So their cross product
\begin{align*}
\vn = \vT_u\times\vT_v
=\det\left|\begin{matrix}
\hi & \hj & \hk \\
\frac{\partial x}{\partial u}(u_0,v_0) &
\frac{\partial y}{\partial u}(u_0,v_0) &
\frac{\partial z}{\partial u}(u_0,v_0) \\
\frac{\partial x}{\partial v}(u_0,v_0) &
\frac{\partial y}{\partial v}(u_0,v_0) &
\frac{\partial z}{\partial v}(u_0,v_0)
\end{matrix}\right|
\end{align*}
is normal (i.e. perpendicular) to the surface at \((x_0,y_0,z_0)\text{.}\) Note however that this vector need not be normalized. That is, it need not be of unit length.
(b) Next assume that the surface is given by the equation \(z=f(x,y)\text{.}\) Then, renaming \(u\) to \(x\) and \(v\) to \(y\text{,}\) we may reuse part (a):
\begin{equation*}
\vr(x,y) = \big(x,y, f(x,y)\big)
\end{equation*}
parametrizes the surface and, at \(\big(x_0,y_0,z_0\big)=f(x_0,y_0)\big)\text{,}\)
\begin{align*}
\vT_x &= \frac{\partial\vr }{\partial x}(x_0,y_0)
=\big(1\,,\,
0\,,\,
f_x(x_0,y_0)\big)\\
\vT_y &= \frac{\partial\vr }{\partial y}(x_0,y_0)
=\big(0\,,\,
1\,,\,
f_y(x_0,y_0)\big)
\end{align*}
and
\begin{align*}
\vn &= \vT_x\times\vT_y
=\det\left|\begin{matrix}
\hi & \hj & \hk \\
1 & 0 & f_x(x_0,y_0) \\
0 & 1 & f_y(x_0,y_0)
\end{matrix}\right|
=-f_x(x_0,y_0)\,\hi - f_y(x_0,y_0)\,\hj + \hk
\end{align*}
(c) Finally assume that the surface is given implicitly by the equation \(G(x,y,z)=0\) or, more generally by the equation, \(G(x,y,z) = K\text{,}\) where \(K\) is a constant. If \(\vr(t)=\big(x(t)\,\,y(t)\,,\,z(t)\big)\) is any curve with \(\vr(0) = (x_0,y_0,z_0)\) that lies on the surface, then
\begin{alignat*}{3}
& & G\big(\vr(t)\big)&=K &\qquad &\text{for all } t\\
&\implies & \diff{\ }{t} G\big(x(t),y(t),z(t)\big)&=0 & &\text{for all } t
\end{alignat*}
Applying the chain rule gives
\begin{align*}
\frac{\partial G}{\partial x}\big(x(t),y(t),z(t)\big)\diff{x}{t}(t)
&+\frac{\partial G}{\partial y}\big(x(t),y(t),z(t)\big)\diff{y}{t}(t)\\
&+\frac{\partial G}{\partial z}\big(x(t),y(t),z(t)\big)\diff{z}{t}(t)
=0
\end{align*}
The left hand side is exactly the dot product of \(\big(\frac{\partial G}{\partial x}
\,,\,\frac{\partial G}{\partial y}
\,,\,\frac{\partial G}{\partial z}\big)=\vnabla G\) with \(\big(\diff{x}{t}
\,,\,\diff{y}{t}
\,,\,\diff{z}{t}\big)
=\diff{\vr}{t}\text{,}\) so that
\begin{align*}
\vnabla G\big(\vr(t)\big)\cdot\vr'(t)&=0 \qquad
\text{for all } t\\
\implies \vnabla G\big(x_0,y_0,z_0\big)\cdot\vr'(0)&=0 &
\end{align*}
This tell us that \(\vnabla G\big(x_0,y_0,z_0\big)\) is perpendicular to \(\vr'(0)\text{,}\) which is a tangent vector to \(G=K\) at \((x_0,y_0,z_0)\text{.}\) This is true for all curves \(\vr(t)\) on \(G=K\) and so is true for all tangent vectors to \(G=K\) at \((x_0,y_0,z_0)\text{.}\) So \(\vnabla G\big(x_0,y_0,z_0\big)\) is a normal vector to \(G(x,y,z)=K\) at \((x_0,y_0,z_0)\text{.}\)