It is in French so I try to translate some parts. My goal was to teach as
fast as possible the binomial distribution (number of successes when
independently repeating a Bernoulli experiment) to students who, either
have never seen an algorithm, or have seen some algorithmics in math
lessons and don't like it at all. Both categories loved what I did with
them. I precise that almost all of them are allergic to english language.

The assignment was "throwing 10 dices, what is the probability of having at
least 2 times "6" around the 10 results?"

The whole job is related here:
http://irem.univ-reunion.fr/IMG/pdf/binomiale.pdf (but I did only pages 1-5
in one hour)

The first step was to show how one can simulate the throwing of 10 dices. I
can do it without having to make a variable vary (explicitely at least),
thanks to Seymour Papert:

10 timesRepeat: [ Transcript show: (6 atRandom)].

Then I spoke about the usefulness of the Bag object when there are
statistics: Adding the 10 results (small integers) inside a Bag makes it an
object where one can see and count the 6es:

| urn |
urn := #( )  asBag.
10 timesRepeat: [ urn add: (6 atRandom)].
Transcript show: urn.

(Why "urn"? This is the word used by Bernoulli, he was thinking about balls
concealed inside a vase for which the latin word was "urna"; the balls
where called "billets" by Condorcet, so that they could instead be pieces
of paper; whatever they were, a vase was use to conceal them)

Then there remains only one difficulty: How can I automatize the counting
of the 6es inside the bag? There is the most frightening challenge: Use a
block with students who have never seen Pharo before. Very good surprise:
They didn't seem to find this that difficult, I just had to say that

1. The pipe symbol means "such that" like in my lessons
2. The first time I use the letter "x" I have to tell Pharo that it is yet
no variable to evaluate, hence the need to precede it with a colon.

With that in mind, counting the 6es is the same as counting the x-es such x
equals 6:

| urn |
urn := #( )  asBag.
10 timesRepeat: [ urn add: (6 atRandom)].
Transcript show: (urn count: [ :x | x=6]).

Afterwards it remained only to repeat the whole experiment and, instead of
showing the number of 6es, adding it to another bag called "stats", then
displaying this bag. The end was made with a tool which exists only in
mathsOntologie: The displaying of a bar chart in a translucent Morph, so
that the most rapid of the students could compare several bar charts by
superposition and guess the shape of the distribution.

Once again, they all loved it, either because they found Pharo a better
tool than whatever they knew before (and disliked), or because they knew
nothing similar before (one exception: A girl who never learned
algorithmics but just happens to love playing with a computer, here she is:
http://reunion.la1ere.fr/2014/06/04/miss-reunion-muriel-roger-candidate-ndeg-9-158293.html
).

I insist on the fact that they never saw anything like Smalltalk before,
and did not seem to "rtfm": Is it because Smalltalk is a natural language
or because MathsOntologie mimics the french language, I lack elements of
comparison to answer to this. But I insist also to say that these students
seem to dislike probability theory too.

Finally, some stats about these stats: I can rapidly find the bugs when the
text appears in red, and most of the time a point was missing at the end of
a line, or a right bracket was missing or misplaced. Sometimes they add a
space inside a word like asBag which becomes "as Bag".

Alain Busser
IREM La Réunion

Reply via email to