Can you define #3? Meaning going from easy to difficult? Or starting with a difficult task and trying to solve it (at the beginning everything seems difficult, but yeah :).
* moving averages
* linear regression
* matrix operations
* matrix lu factorization
* polynomial interpolation.
* multiple linear regression
* cubic spline interpolation
* variance, covariance, correlation
* gamma function
* t-test, t-value calculations
One limitation of the above is that it doesn't explore all of a language's features. The above are mostly interested in array processing. There aren't any classes or generic types or what-have-you.