I would like to teach some scientific/statistical computing to my 13 year old nephew and was considering using R for this. He has a Mac G3 OS 9.1. I am looking for ideas for problems that would be interesting and motivating for someone that age. I recently taught him the basics of HTML and noticed that he particularly was intrigued by the ability to change colors; thus, perhaps problems that involve flashy color plots would keep his attention. Thanks for any ideas. ----------------------------------------------------- http://eo.yifan.net Free POP3/Web Email, File Manager, Calendar and Address Book
On Fri, 24 Jan 2003 08:20:20 -0500 ggrothendieck at yifan.net wrote:> > I would like to teach some scientific/statistical computing to my 13 > year old nephew and was considering using R for this. He has a Mac G3 > OS 9.1. > > I am looking for ideas for problems that would be interesting and > motivating for someone that age. I recently taught him the basics of > HTML and noticed that he particularly was intrigued by the ability to > change colors; thus, perhaps problems that involve flashy color plots > would keep his attention. > > Thanks for any ideas. > > > > ----------------------------------------------------- > http://eo.yifan.net > Free POP3/Web Email, File Manager, Calendar and Address BookI applaud this effort, and am beginning to teach R to my 13 and 10 year olds. One thing that really grabs their interest is learning commands such as rep('Dad is a task master', 5000) and paste(c('Joe','Sally','Roger'),'is not playing with a full deck.') Please post a summary of responses to your note. I am also considering having my kids go through the book "Computer Programming for Dummies" 2nd edition by Wallace Wang (New York: Hungry Minds, Inc, 2001) which looks pretty good. It mainly teaches using a free version of Basic but introduces many other languages including Java and has a lot of good background information about computers and what programming entails. -- Frank E Harrell Jr Prof. of Biostatistics & Statistics Div. of Biostatistics & Epidem. Dept. of Health Evaluation Sciences U. Virginia School of Medicine http://hesweb1.med.virginia.edu/biostat
At that age, I recall trying to program a spaceship fighting game in basic on the apple ][e (hopeless spaghetti that never ran, aside from the "hyperspace" effect at the start), and later getting very involved in programming robots in the game Robot War, which had a maximum number of instructions and a limited command set, which required programming in the pseudo assembly language to really milk the most out of your code. In short, I enjoyed programming games and moving pixels around. As to scientific computing, in a similar vein I can see a teenager becoming interested in generating fractal images, getting chaotic behavior from a simple iterated function, or simply plotting 3-d surfaces of sines and cosines. These all fall under "changing colored bits on the screen as a result of some programmatic command." Some of the clustering code is also pretty cool, I recall toying with the EM code and being pretty impressed by its ability to pick out similar pieces in noisy data. The inverse of clustering is of course, generating noisy data, so that could become a game of sorts---try to stump the clustering code by generating data from more than one distribution. I use a GPS a lot with my work, and put that data into R for analysis. Perhaps a handheld GPS unit can do the same thing, thus offering a source of data collection to dump into R for plotting and analysis. If of course you have a gps unit. James At approximately Fri, Jan 24, 2003 at 08:20:20AM -0500, ggrothendieck at yifan.net wrote:> > I would like to teach some scientific/statistical computing to my 13 > year old nephew and was considering using R for this. He has a Mac G3 > OS 9.1. > > I am looking for ideas for problems that would be interesting and > motivating for someone that age. I recently taught him the basics of > HTML and noticed that he particularly was intrigued by the ability to > change colors; thus, perhaps problems that involve flashy color plots > would keep his attention. > > Thanks for any ideas. >
>There was some discussion on python news groups of an introductory >programming course based on python, which is similar in structure to >the S language. (Note I said "similar" - no flames please.) That may >also be a source of examples.Computer Programming for everyone: http://www.mlab.uiah.fi/~eye/python/ While I think R is a wonderful tool, it may be a bit too specialised for a 13 year old, unless he has a serious mathematical bent. I'd also recommend Python (both for introducing people to programming and in general), but for quickly getting results with graphics, Logo is unbeatable. Burkhard Kloss
How about spam filtering? Granted, there's some infrastructure involved, which means gratification is not instant. But it involves something that most people who use computers care about: e-mail, and spam. I mention this because the following web site sparked some interest in statistics among some acquaintances who were otherwise very cool to it: http://www.paulgraham.com/spam.html This outlines a "Bayesian" spam filter. I'm not sure it's wholly Bayesian, but it comes close, the author's are good, and I hear that it performs well, in fact better than many commercial spam filters (or so I hear). Moreover, the web site virtually gushes about the virtues of statistical methods. The interesting thing about the filter is that you get to see what "features" it's discovering. A quick search also indicated that Mozilla apparently offers a plug-in for the same spam filter. That would offer a quick way to get the filter up and running with real e-mail. But I don't know if Mozilla offers interesting diagnostics about which features it's using, which is the pedagogically interesting part. Mozilla mentions it here: http://www.mozilla.org/mailnews/spam.html Of course, you can use any number of classification techniques to distinguish spam from other e-mail, you just need data. Hastie and Tibshirani's _The Elements of Statistical Learning_ demonstrates a couple of types of models applied to the spam problem, and points to data at ftp.ics.uci.edu Ideally, you would do some exploration to design a filter, implement it in R, and then integrate it with your nephew's e-mail program. This would be a long-term project, maybe even a science-fair project, with long-term benefits (educational and practical). I know this can be done with Linux, but I have no idea about Mac OS 9! It's probably a stretch for typical 13-year-olds, but for the right 13-year-old, it would be a blast. Good luck! Jim Garrett Baltimore, Maryland, USA ********************************************************************************* This message is intended only for the designated recipient(s). ... [[dropped]]