Picard Iteration for solutions of initial value problems

We seek the solution of an initial value problem y’ = f(t,y), y(t0) = y0.

f[t_,y_] = y
y0 = 1
t0 = 0

Picard iteration gives us a way to take a `reasonable’ guess y(t,n) (n is an integer that indexes our guesses) at a solution y(t) and improve it to a new (and hopefully better) guess y(t,n+1).  

The idea is to replace the given initial value problem by an equivalent integral equation of the general form y = T(y) and then set y( . , n+1) = T(y( . , n)).  

y(t,0) = y0 makes for a reasonable first guess.

n=0
y[t_,n] = y0
Plot[y[t,n],{t,-4,4},PlotRange->{-4,4}]

And now we try to improve it by applying T.

y[t_,n+1] =y0 + Integrate[f[s,y[s,n]],{s,t0,t}];
n=n+1
Plot[Table[y[t,j],{j,n-1,n}],{t,-3,2},PlotRange->{-40,40}]