IterationList Command
 IterationList( <Function>, <Start Value>, <Number of Iterations> )

Gives you a list of length n+1 (n = number of iterations) whose elements are iterations of the function starting with the start value.
After defining f(x) = x^2
the command IterationList(f, 3, 2)
gives you the list {3, 9, 81}.
You can also use this command to define a sequence where a_{k+1} depends on a_{k} and k. If the input function f is a function of two variables and start value is a list of two numbers {s, a_{s}}, then the output list consists of numbers a_{s},a_{s+1},….,a_{s+n} where for k>s we have a_{k+1}=f(k, a_{k}).
Define f(k,a)=(k+1)*a
, which corresponds to the recursive definition of factorial. The command
IterationList(f, {3, 6}, 4)
gives you the list {6, 24, 120, 720, 5040}.
 IterationList( <Expression>, <Variable Name>, …, <Start Values>, <Number of Iterations> )

Gives you a list of length n+1 (n = number of iterations) whose elements are iterations of the expression starting with the given start value. In each iteration the variables in the expression are substituted by last elements of the list. There should be at least as many start values as there are variables, otherwise the result is undefined.
Let A, B be points. The command IterationList(Midpoint(A, C), C, {B}, 3)
internally computes values C_{0} =
B, C_{1} = Midpoint(A, C_{0}), C_{2} = Midpoint(A, C_{1}), C_{3} = Midpoint(A,
C_{2}) and yields {C_{0}, C_{1}, C_{2}, C_{3}}. Hence for A = (0,0) and B = (8,0) the result will be
{(8,0), (4,0), (2,0), (1,0)}.
Let f_{0}, f_{1} be numbers. IterationList(a + b, a, b, {f_0, f_1}, 5)
fills the first 2 values of the resulting
list from the start values. Afterwards the values are computed as f_{2} = f_{0} + f_{1}, f_{3} = f_{1}
+ f_{2}, f_{4} = f_{2} + f_{3}, f_{5} = f_{3} + f_{4}. Hence for f_{0} = f_{1} = 1 the result
will be {1, 1, 2, 3, 5, 8}.
Only the first syntax is supported in the CAS currently 
See also Iteration Command. 