Consider the training received in a good undergraduate statistics programme. By the end of it, students have some appreciation of the role of the computer in statistical analysis -- it provides routine calculation, occasionally some more intensive calculation (e.g. model search, smoothing), static and interactive graphics. Statistical systems are seen to be computer workbenches which offer a variety of statistical tools. Quite rightly, much time is spent in statistics courses on understanding when and how to use some of these tools. We train statisticians to be users of the technology.
One might argue, then, that a reasonable objective would be to make our students more savvy consumers. This sometimes leads to survey or comparative courses on statistical packages -- information of transient value. The danger of this objective is the notion that we are consumers. We need to teach students to be more savvy producers of computational resources.
To do this, statistics students must be actively encouraged
and rewarded to explore the possibilities of the computer in empirical studies.
Statistical contexts should be used to teach basic computational building blocks
(e.g. selected algorithms, data structures, graphics, interface, programming
principles,
).
But above all, computational creativity should be actively promoted.
In short, training in statistical thinking should be supplemented by
training in computational thinking.
A natural place to challenge a student's computational creativity is in the first course on statistical computing. The remainder of the paper discusses one such course which I have given with some success at Waterloo over the past few years.