3f23564b72c577320cbd9fd1cbeb93ddd1b9ac79
[s290-pingpong] / README
1 The following R program was designed to (mostly) randomly select
2 students to call for questions in a class room environment. It was
3 created in Harvard Graduate School of Graduate Education's S-290 to
4 replace a physical ping-pong ball jar.
5
6 It takes a list of options (e.g., students), selects one at random and
7 returns it, and then adjusts the weights so that the selected option
8 is relatively less likely to be selected in subsequent draws.  Every
9 student can be called on at any time.
10
11 It is particularly well suited to classes in which a reasonably small
12 number of students will be called on a small number of times. Over
13 even a small number of classes, a very balanced list is likely.
14
15 The software was written by Benjamin Mako Hill <mako@atdot.cc> and is
16 released into the public domain.
17
18 Usage
19 --------
20
21 The first time you the program this you'll need to:
22
23   Modify ping_pong_ball_jar.R in a text editor to include the list of
24   options or students that you want. There are comments in the file
25   which should help provide some direction.
26
27   Save the modified version for later if you'll be doing this again.
28
29 Each time you use it, you'll need to:
30
31   Paste the contents of ping_pong_ball_jar.R into a running session of R.
32
33 Every time you want to select an option, you'll need to:
34
35   Type "get.ping.pong.ball()" and then <ENTER> within R.
36
37   As a shortcut, you can usually just type <UP> once or twice to see
38   the last command if you're going to be running it repeatedly.
39
40 Files
41 ---------
42
43 ping_pong_ball_jar.R
44
45   Contains the R necessary to run the program. You'll need to at least
46   modify the list of options.
47
48 ping_pong_ball_jar_simulation.R
49 simulation_unweighted_random.png
50 simulation_weighted.png
51
52   Code and output from simulations that show the number of questions
53   asked to each participant in a large number of simulated classes.

Benjamin Mako Hill || Want to submit a patch?