eToys surprises
Alan Kay
alan.kay at squeakland.org
Thu Dec 23 21:18:48 UTC 2004
First, I strongly suggest that you get the Powerful Ideas in the Classroom
book and use the sequence of projects to help your child build some
competence in thinking along the lines of etoys. It has some approaches to
helping children think about speed and accelleration.
Also, there is a very good way for younger children to find out and derive
a nice script that does what gravity does near the surface of the earth (as
Galileo found out 400 years ago). The difference between this and Newton's
more complex theory is less than 1 part in a million near the surface of a
planet like Earth. This is good science for 4th and 5th graders.
There are any number of ways to do Lunar Lander. After doing the above, you
should see if you can induce the vertical landing one. This is a fair
amount of stuff for a 9 year old to handle (if you want him to really be
doing it and not just doing "air guitar").
I don't think that I quite understand what you want to do with heading.
However, you can do something like the following:
ship gravity ticking
ship's accelleration <- -1.0
ship's speed increase by ship's accelleration
ship's y increase by ship's speed
This will always try to pull the ship vertically downwards, by "eating
speed". But you can also move the ship around according to where it is
pointing.
ship moveAround ticking
ship forward joy's updown
ship turn joy's leftright
This doesn't do F=ma, but is still quite fun for children since they still
have to take care not to crash because of gravity.
An independent project that is also very interesting is F=ma for
spaceships, which can easily be done by using the "vector vocabularly" that
is normally turned off for young children. The idea here is that each
object in etoys is de facto a 2D vector (it has an x and y coordinate). The
playfields of etoys have their own coordinate systems, and there is a
"playfield option" in the red menu that will put "origin at center". This
allows you to make a smallish playfield and plop a small dot of paint into
it that will act as a vector quantity (there is a nice lead up to this).
"increase by" works both for numbers and on players themselves, so you can
have a little blob of paint that acts as an accelleration vector, one that
is the speed vector, and the spaceship itself is its own vector. It is very
easy to use the y axis of the joystick to provide accelleration in the
direction the ship is heading, and the x axis to turn the ship with its
gyros. This gives a very good model of F=ma. If the spaceship, its vectors
and its controls are put in a playfield, a copy of the playfield will yield
another playfield with a spaceship and controls with all local references
done properly. The second spaceship can then be repainted, etc.
However, I suggest not doing this for a while with your child. A large part
of adults helping children learn powerful ideas is to moderate the tempo of
most children. Like most humans they want results more than learning ideas.
It is the adults' main job to keep the tempo both slow enough and thinking
deep enough so that the kid will not just be making up a cookbook of
pragmatic patterns in their head, but actually understanding what is going
on. It is the lack of understanding (and not understanding that they don't
understand) that makes people quite scary.
Cheers,
Alan
At 06:33 PM 12/22/2004, Blake wrote:
>On Wed, 22 Dec 2004 14:21:44 +0100, Bert Freudenberg <bert at impara.de>
>wrote:
>
>>Am 22.12.2004 um 09:02 schrieb Blake:
>>>The Lunar Lander project I have in mind requires the ship to be able to
>>>actually change its heading, but I can't just use the forward script,
>>>obviously, because the effects of gravity have to be considered.
>>
>>That sounds overly complicated. Adding in gravity is just accelerating
>>along y, right? No heading needed for that ...
>
>Adding in the gravity isn't the problem. Adding in the thrust is. Changes
>to momentum along the X and Y axis caused by the thruster are,
>
>I could get the same ultimate result, I think, by moving forward and then
>pulling the ship down--but that would look terrible, since the two motions
>would be discrete, creating a step-like appearance when the ship is
>travelling up and to the right.
> /
> /\/
> /\/
> /\/
> /\/
>/
>Unless I miss something.
>
More information about the Squeak-dev
mailing list
|