Euler Approximation

steps = 25;

f[x_, y_] = -2 x y/(1 + x^2);

a = 0;
b = 1;
yzero = 1;

h = N[(b - a)/steps]

appdata = Table[{0, 0}, {j, steps + 1}]

appdata[[1]] = {a, yzero};

appdata

yapp = yzero;
For[j = 1,  j < steps + 1, j++,  
      yapp = yapp + 
          f[a + (j - 1) h, yapp] h;  
Print[
        yapp]; 
appdata[[j + 1]] = {a + j h, 
          yapp}]

appdata

agraph = 
      ListPlot[appdata, AspectRatio -> Automatic, 
        AxesOrigin -> {0, 0}]

soln = 
      NDSolve[{y'[x] == -2 x y[x]/(1 + x^2), 
          y[0] == 1}, y, {x, 0, 1}]

bgraph = Plot[y[x] /. soln, {x, 0, 1}]

Show[agraph, bgraph]

y[1] /. soln
appdata[[26, 2]]

0.500000045039061`