Clear[f,x,y,cx,cy,graph,slice,slice3D,dot,dot3D];
cx=1;
cy=2;
f[x_,y_]=(x^2)-2 (y^2);
graph=Plot3D[f[x,y],{x,-5,5},{y,-5,5}];
slice3D=ParametricPlot3D[{cx,t,f[cx,t]},{t,-5,5},PlotStyle->{Thickness[.02],Red}];
dot=Graphics[{PointSize[0.05`],Point[{cy,f[cx,cy]}]}];
dot3D=Graphics3D[{PointSize[0.05`],Point[{cx,cy,f[cx,cy]}]}];
Print[" "];
Print["g(x,y) = ",f[x,y],",    near the point (",cx,",",cy,")"];Show[graph,slice3D,dot3D,ViewPoint->{10 cx,10 cy,.8*f[cx,cy]},AxesLabel->{x,y,z}]

Print[" "];
Print["h(x,y) = ",f[x,y],"        point: (",cx,",",cy,")"];Show[graph,dot3D,ViewPoint->{10 cx,10 cy,f[cx,cy]},AxesLabel->{x,y,None},DisplayFunction->$DisplayFunction,AxesLabel->{x,y,z}]

Print[" "];
Print["Level Curves (contours) for  h(x,y) = ",f[x,y]];
ContourPlot[f[x,y],{x,0,1},{y,-0.5`,0.5`},ContourShading->False,Contours->{0.6`,0.7`,0.8`,0.9`,1,1.1`,1.2`,1.3`,1.4`},ContourLabels->All]

f[.5,0]