[IAEP] [Its.an.education.project] An example on statistical dynamics on XO

Greg Smith (gregmsmi) gregmsmi at cisco.com
Thu May 22 22:16:40 CEST 2008


Hi Yoshi and Tony,

I think you are on the right track by building a real example
application. If we know the right way to educate with computers then
let's prove it :-) More likely we're learning and a concrete example is
a good way to start.

A few comments on the application:

- The bubbling effervescent nature of it is great! The "blow it up"
option will definitely be a hit.

- Amazing that you got this coded so quickly!

- I'm not familiar with the formula  PV = nRT. I can't say that the
sample app taught me it either :-( Is it Pressure * Volume = a material
constant (n) * R (?) * Temperature? I can look it up, but tried to learn
from the description and 10 minutes with the app. If the formula is the
central point, put the variables names and values on the screen.
Understanding ratios is not trivial. Two variables in a linear
relationship is about all I can hold in my head. Seeing the numbers
change on screen may help.

- In general, I suggest you start with the phenomenon and not the
equation. Show something happening and then let the user discover the
relevant variables and how they interact. Historically speaking, how was
the formula originally derived?  Start from there and see if you can
update it to some modern day activity.  Mentos in a coke bottle is the
latest buzz on home experimentation in my house:
http://www.youtube.com/watch?v=hKoB0MHVBvM If you could simulate that by
changing the pressure rapidly it would tie it to the real world.

- More options to tweak would be good. Let the kids "pour" a substance
in and examine the results. What if the "molecules" are made of milk or
oxygen or water or neon?
Have a small library of items and then allow the kids to create new
ones. Maybe they can try it in the physical lab then try it on the
computer. Can they adjust the temperature? Dials, buttons and switches
make it more fun to use. 

I didn't look at the eToys implementation so maybe adjusting the
variables is more clear there. However, I don't want to spend time
looking for and tweaking the code. I just want to play with the options.
If I wanted to learn how to program squeak that's different but here I
want to learn physics or chemistry and the programming is extra work.

- Just brainstorming suggestions. Let me know if any don't make sense. I
suggest you get a science teacher to comment. Also, find a kid to play
with it.

- The bubbling cauldron of experimentation paradigm looks like a real
winner to me! Let the kids throw stuff in and see what happens. E.g. add
water, then lower the temperature (may not fit as water expands when
temperature goes down!).

"Double, double toil and trouble;
Fire burn and cauldron bubble. "
>From Macbeth

HTHs. Nothing like a real application in development to get the creative
brain thinking :-)

Thanks,

Greg S

***************
----------------------------------------------------------------------

Message: 1
Date: Thu, 22 May 2008 11:21:30 +1000
From: "Tony Forster" <forster at ozonline.com.au>
Subject: Re: [IAEP] [Its.an.education.project] An example on
	statistical	dynamics on XO
To: <its.an.education.project at tema.lo-res.org>
Message-ID: <000a01c8bbaa$2a70d050$0401010a at forsterce3ea89>
Content-Type: text/plain; format=flowed; charset="iso-8859-1";
	reply-type=original

Yoshiki Ohshima wrote

>  We probably talk about what and how to teach in a bit more concrete 
> way.  I'll do a part by explaining an example in Etoys here.  ....
>  Any feedback and comments are welcome!  And I hope that the 
> volunteers make such kind of examples (in any system they like) and 
> accessible to kids and teachers

Thanks Yoshiki  for that concrete example, I have taken on your
challenge and ported it to Windows/GameMaker at
http://rupert.id.au/schoolgamemaker/samples3/

Its interesting to compare the (constructionist) learning on a purpose
built sugar/etoys platform vs. a windows/GameMaker platform repurposed
for learning. I would like to leave the very valid arguments on open
source and monopolies to one side and just concentrate on the learning.

Etoys allows inspection and modification of variables and code on the
fly whereas with GameMaker you need to use debug mode or re-compile.

Sugar allows collaborative authoring and viewing (though I haven't had
the opportunity to try it).

The implementation in GameMaker is much easier, its particularly good
for kinematics.

Collaboration in Windows/GameMaker can work quite well (eg see
http://rupert.id.au/schoolgamemaker/computerclub/index.html) but the
teacher has to set up a sharing site and encourage the sharing of source
rather than exe, Sugar facilitates sharing without teacher intervention

My feelings on Sugar and Etoys are similar. Though they have good
purpose designed learning aspects, they need more work before they are
as usable as windows/GameMaker . The measure of good constructionist
learning environments is not so much all the good things students can
do, its whether a learner, once setting themself a goal for
self-directed discovery, is going to run into a road block.

An example of a road block in Etoys is that it is very hard to find how
to do a keyboard triggered script. Its hidden on the world menu which is
alt W or similar. Another is that there is limited support for
collisions. An example of a road block in Sugar is its inbuilt browser.
I cannot copy a link, I can't save a jpg, the Sugar OS changes the
filename of a file which it does not recognise, the directory system is
hidden, there is no predictive text when typing URL's or usernames,
there's no tabbed browsing, there's no cookie, proxy or popup control.
By comparison I used Firefox on the Asus eeePC and it was easy to do
constructionist things like creating a blog which Sugar just wouldn't
let me do.

None of this is intended to discredit the wonderful things that the
Sugar and Etoys teams have done putting together really great learning
stuff on a shoestring budget. The question is, where there are limited
resources, is it best to aim high and produce stuff which is not quite
classroom ready or to repurpose existing stuff, like the eeePC has done
with Firefox and Open Office?

Tony 

Date: Sun, 18 May 2008 19:54:33 -0700
From: Yoshiki Ohshima <yoshiki at vpri.org>
Subject: [Its.an.education.project] An example on statistical dynamics
	on XO
To: its.an.education.project at tema.lo-res.org
Message-ID: <u63tbhul2.wl%yoshiki at vpri.org>
Content-Type: text/plain; charset=US-ASCII

  Hello,

  We probably talk about what and how to teach in a bit more concrete
way.  I'll do a part by explaining an example in Etoys here.  If we have
thousands of similar examples, that would be pretty cool.

  So, here it goes:

  Open Etoys, click on Gallery of Projects cloud.  At the bottom row and
third from left (about right under "particles" in "You can play with
thousands of particles:"), there is an example of ideal gas simulation.

  There are many red dots (molecule's turtleCount shows "2000" and that
is the number) moving in the confinement.  Each of molecules have
variables called "x", "y", "heading" and "speed".  The bottom, left, and
right walls of the space are solid and don't move, but the top wall
moves.

  At every step "molecule oneStep" script is executed.  In the script,
the first line makes all molecules moves their own heading direction by
their own "speed".  The next beige big tile represents a Test statement
and it is executed for all mocules.  If a molecules y coordinate is less
than a variable called "KedamaWorld's ceiling pos", the "Yes" part is
executed (meaning the molecule hits the green top wall called
"ceiling").  In the Yes part, the molecules makes 180 degrees turn (so
there is some simplification done), adjust the y coordinate so that it
stays in the confinement, and increase another variable called
KedamaWorld's ceilingSpeed by the value of speed.

After doing the Test statement for all molecules, the ceiling pos
accumulated the "hits" in that step.  After the test, we offset the
accumulated value with a value called gravity, and and then make it
small enough by multiplying it by 0.01 (this kind of arbitrary constant
is always trouble to some students), and decide the new position of the
ceiling (the green line).

  Here, you can experiment various stuff:

  1) If you type "1000" over "2000" of "mulecules turtleCount", and
     hit the enter key, the number of molecules is reduced, and soon
     the volume settled at about the half of the original.
  2) You can then decrease the gravitiy value from 24.0 to 12 and the
     volume will be back to about the same as original.
  3) Click on the red square "tab" on the right edge, and drag out the
     assignment arrow for "molecule's speed" and drop it onto the
     desktop.  You should see a new script.  In the script and the
     right hand side of the assignment, type "1.4" in place of the
     number there.  Then, click on the yellow exclamation button in
     the script to execute it.  Now the volume should be twice as
     original.
  4) You can change the running script as much as you like.  Just
     break it to understand it^^;

So, what it is explaining?  It is trying to explain that

  PV = nRT

makes sense.  In science, you don't want to tell students to believe
what you teach.  Atoms and molecules are not visible, but if you say
"these are not visible, but they exist.  Believe.", that is rather close
to religion.  One thing we could do is to have students build a
simulation based on the model.  At the micro-level (if the student
relate himself to a molecule), the script should be almost simple enough
to high-school students, at lease who are familiar with Etoys ("own"
variables and global variables need to be explained, though).
So, instead of showing the completed project, the students should built
their own.

  What the number of turtles mean?  It is "n" in the equation.  No
matter how many molecules we have, the interaction between them are
neligible (here is another simplification; the simulation can be
simplified but it *must* be honest).  The student should know that mv =
m'v' when two masses hit each other; the increase-by statement for
ceilingSpeed should make sense to them, too.

  And, the next three lines should be obvious to the students who did
the gravity project in the Powerful Ideas book.  To simulate the free
falling body in repeating script, you make a variable that holds speed
of body (in this case, the ceilingSpeed), change it with a constant
value and add it to the position.  The only difference is that it is
offset by the moving molecules.

  It is interesting to see that the gravity constant behaves as the
pressure "P".  Also, the "speed" is propotional to the square root of
temperature "T".  In the dimension analysis, that makes sense, and in
the script, the number of molecules that hits the ceiling in a given
step is propotional to the speed, and the momentum exchanged by a hit is
proportional to the speed.  This would be a nice a-ha moment even for
undergrads in phyisics major.

  Finally, you need to have some fun, right?  reset the gravity to the
original value (24), and set the molecules count to 500 (a quarter of
the original).  The volume is now a quarter of original.  There, you can
set the number of molecules to 2000 again.  It means that you cram the 4
times more molecules in a space, and it results in an explosion!

  All in all, this project should be explainable to high school
students, and they can experiment their own ideas.

  Any feedback and comments are welcome!  And I hope that the volunteers
make such kind of examples (in any system they like) and accessible to
kids and teachers.

-- Yoshiki



More information about the Its.an.education.project mailing list