I work with High School students, and while they are certainly capable, your time constraints and the class size may be the hardest thing to work around. I would second Robert's advice on starting with a clean dataset and a short introductory tutorial.
It would also help a lot to have an additional assistant or two who are familiar enough with R to answer their questions as they begin to play on their own. Best, Randy On Apr 19, 2012, at 5:27 AM, Grant, Robert wrote: > Dear Chris et al > > I would strictly control how much of the session looks at their own datasets. > This is incredibly demanding on a teacher and your time will vanish before > you know it! First, you need to get them typing some basic code and getting > nice graphs out. I would focus on things they can't do in Excel/SPSS, such as > controlling options like cex and col with variables. But you could get them > to work through some good datasets first and then set them loose on their own > stuff, maybe in small groups so they can try to stretch beyond what you show > them. > > I think the Titanic passenger list would be ideal for some binary variables. > How topical can you get? > (http://lib.stat.cmu.edu/S/Harrell/data/descriptions/titanic.html) > > Disclaimer: I'm a university lecturer and probably have typically unrealistic > views of high school teaching! > > Robert > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Randall Pruim > Sent: 19 April 2012 06:03 > To: Christopher W Ryan > Cc: [email protected] > Subject: Re: [R-sig-teaching] introducing R to high school students > > > A few thoughts. You can do what you want with them. > > 1) Use R formulas. > > If you lattice graphics, then lm() and plots have essentially the same > syntax and you can make nice connections between the graphs and the > analyses. For example, > > bwplot( weightLoss ~ diet ) or xyplot (weightLoss ~ diet) if the data > set is small > lm( weightLoss ~ diet ) > > This approach should give you the "time to get to those topics" since > the formula interface can be learned through graphical explorations > first. > > If you add the mosaic package to your arsenal, then you can also do > numerical summaries this way > > mean( weightLoss ~ diet ) > > 1a) Some quirks in R you might want to just avoid. > > Out of the box, not all of the statistical test functions take a > formula interface. binom.test() and chisq.test() require summarized > data. t.test() uses a formula for 2-sample tests, but not for 1- > sample tests. If time is short, dealing with this might be more > hassle than it's worth. You might want to limit yourself to lm() -- > perhaps augmented by glm(). You can do some fun examples in that > context and see how well they are able to construct models and > interpret their parameters. > > If the students left your session(s) knowing how to make a handful of > lattice plots, to create and fit models with lm(), and to interpret > the resulting model fits, I would call that highly successful. > > 2) You may or may not find "rectangular data" > > People storing data in Excel do all manner of things. If the students > do something other than "rectangular data", take some time to talk > about R's convention and why it is important to know about > observational units and variables. > > 3) If you have access to and RStudio server, then you can avoid all > installation and set up issues and students can work in a browser. > > In my experience, you never know just what state high school > technology will be in. > > 4) Find some good data sets for your examples. > > What qualifies is a matter of taste, I suppose, but don't skimp on the > data. If you have time, and if it is easy to get their data, you could > do some examples with the students' data. > > 5) I don't know how much time you will be given, but it will go by too > quickly. > > Prepare lots of cool stuff, but don't rush to use it all. Better to > do less and do it well. Leave them begging for more. > > 6) Teach a little bit about function syntax. > > If your time is limited, you likely won't have much time to get into > programming, control structures, classes of objects, method dispatch, > lazy evaluation, ... But you can do a lot with R in a one-line-of- > code-at-a-time sort of way. One thing you do need to say a bit about > is functions, since nearly every one of these lines will include one > or more of an arithmetic computation, an assignment, or function > call. When I teach new functions to beginners, I ask them what things > the computer would need to know to produce the result we are hoping to > get. Once they have identified the inputs and outputs, then I tell > them the syntax used to provide the inputs to R and look at the output > R returns. I emphasize too the common pattern of functions syntax -- > name, open paren, comma-separated list of arguments, close paren. > > 7) If the students are good and you can react quickly on your feet, > ask them what they want to learn about and show it to them. > > You'll probably have a good sense for their level after the first > 15-20 minutes. > > 8) Almost forgot... You could do some resampling stuff. > > R is well suited for this. You can simplify it a bit by using do() > from the mosaic package, or you can use replicate() > >> lm( age ~ sex, HELPrct ) > > Call: > lm(formula = age ~ sex, data = HELPrct) > > Coefficients: > (Intercept) sexmale > 36.2523 -0.7841 > >> do(5) * lm( age ~ shuffle(sex), HELPrct ) > Intercept sexmale sigma r-squared > 1 35.83178 -0.23350980 7.718169 1.658421e-04 > 2 35.34579 0.40276052 7.716905 4.933763e-04 > 3 35.69159 -0.04997029 7.718780 7.594658e-06 > 4 34.62617 1.34493004 7.697547 5.501535e-03 > 5 35.04673 0.79431149 7.711400 1.918961e-03 > > Have fun. Hope it goes well for you. > > ---rjp > > > > > > On Apr 18, 2012, at 10:47 PM, Christopher W Ryan wrote: > >> After some interesting discussions on r-help list, the suggestion was >> made that I could also probably gain some useful insights on this >> teaching listserve, a resource that I didn't know about previously. >> >> I participate peripherally on a listserve for middle- and high-school >> science teachers. Sometimes questions about graphing or data analysis >> come up. I never miss an opportunity to advocate for R. However, the >> teachers are often skeptical that the students would be able to issue >> commands or write a little code; they think it would be too difficult. >> Perhaps this stems from the Microsoft- and spreadsheet-centered, >> pointy-clicky culture prevalent in most US public schools. Then again, >> I have little experience teaching this age group, besides my own kids >> and my Science Olympiad team, so I respect their concerns. >> >> Now I have to put my money where my mouth is. I've offered to visit a >> high school and introduce R to some fairly advanced students >> participating in a longitudinal 3-year science research class. To be >> clear, they are already, for good or for ill, doing data analysis and >> graphics for their projects using software. Mostly they are using >> Excel and SPSS. My goal would be to introduce them to R as another >> (and better) tool for what they are currently doing. I would have to >> work hard to keep it at a very introductory level, but I don't see why >> plot(force, acceleration) should be any more conceptually difficult >> for high schoolers than clicking through a whole series of dialog >> boxes. The latter merely has the advantage of familiarity. But I can't >> help but wonder whether it would be better to give kids good >> scientific tools upfront, rather than have them spend many >> impressionable years using sub-optimal tools and then in graduate >> school try to entice them to switch. >> >> They all will have datasets of their own. I imagine they will mostly >> be single, "rectangular" datasets, ie data frames. >> >> I tentatively anticipate a lot of graphics, of course, which I'm >> hoping they would find pretty cool and useful. I'd also like to >> introduce the concept of an object, just to the level of "there are >> different kinds, here's what some of the kinds are called, there's >> stuff inside them, and you can explore them with str(), head(), >> tail(), class()" and the like. Some simple descriptive statistics. >> They are already doing t-tests, Chi-squared tests, and linear >> regression (again, for good or for ill.) I don't know whether I'd >> have time to get to those topics in R, probably not. >> >> There was a diversity of opinions on R-help about how to do this, and >> especially, whether to do it at all. >> >> Has anyone done anything with R in high schools? >> >> Thanks. >> >> --Chris Ryan >> SUNY Upstate Medical University >> Binghamton Clinical Campus >> >> _______________________________________________ >> [email protected] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-sig-teaching > > > [[alternative HTML version deleted]] > > _______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-teaching > > This email has been scanned for all viruses by the MessageLabs Email > Security System. > > This email has been scanned for all viruses by the MessageLabs Email > Security System. > > _______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-teaching CGTGCTAACGACTACTAG _______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-teaching
