So what I'm pushing in Quaker schools, given my weighty status, is attention to cumulative totals, even *before* we monitor differences.
I think it comes earlier, in the Piagetian sense, to want to accumulate a running total of numbers, to get a sequence of partial sums. Haim was asking about this earlier, and how to avoid the calculus right off (i.e. all that limits stuff, not so intrinsic to discrete math, where we don't even have a continuum).
The obvious sequences have to do with growing a shape using similar pieces, gnomons, as when we grow a square using L shapes, or a half-octahedron with successively larger squares. These come as terms in a sequence, but then we want those partial sums, i.e. that square, cube, tetrahedron, half-octahedron, cuboctahedron, as devel- oped "so far" from the layers we've committed.
def squarebase(n): return n*n
somelayers = [ squarebase(x) for x in range(1, 21) ]
halfoctas = [sum(somelayers[:y]) for y in range(1, 21) ]
At this point in the module's loading, halfoctas will have become incarnate (note religious terminology) as:
And now the cuboctahedrals, which you might think obscure, but not in our Quaker academies, were we see this as the CCP, ground zero for crystallography, as well as the same as the icosahedrals, in terms of balls in a layer (owing to our Jitterbug Transformation):