under construction This page still under construction. Don't look yet. Or you can look, but be warned it's unfinished.

Course Announcement

Instructor: Charles Geyer (5-8511, charlie@stat.umn.edu)

Tao of Programming

Tao is a Chinese character 道 that is often translated way. Its modern pinyin romanization is dào, but we will use the older tao because that is more familiar to western readers, having appeared in the titles of many books.

Like the English word way it has many shades of meaning but it usually means a way of doing things, particularly a way that is the Right Thing in someone's opinion.

Zhuangzi (莊子), an ancient sage, told story about a cook who carved oxen following the tao so cleanly that his knife never got dull. We would like to program like that, to be a wizard or a guru in hacker jargon.

But that takes much time and practice and also insight into the tao of programming. That is why good books on the practice of programming, such as,

are more valuable than books about specific details of R or MCMC or whatever. These books teach tao of programming (as do others I could name).

Tao of R

There is a tao of R. There is also a tao of SAS. They are very different.

Because we are interested in research in statistics, we are interested in research programming, which these days means R. The amazing number of packages on CRAN and BioConductor show the research importance of R.

At the end of this course, each student should be proficient at writing R packages, a lot more proficient than the faculty of the School of Statistics, only three of which have packages on CRAN.

Projects

Perhaps the most important part of the course, will be class projects. Each student will do a moderately large, but not too large project, producing an R package to do something of interest to the student.

Start thinking about what you want to do for your project now. If you don't have any ideas, talk to the instructor.