Need teaching ideas
ducasse
ducasse at iam.unibe.ch
Mon Mar 18 17:34:45 UTC 2002
on 3/12/02 10:38 PM, Hannes Hirzel at hirzel at spw.unizh.ch wrote:
>
> Hi Donald
>
> On Tue, 12 Mar 2002, Donald MacQueen wrote:
>
>> I am teaching Squeak to nine kids at my local school. The students
>> are three 8th graders and 6 7th graders. We are using the book
>> Squeak A Quick Trip to Objectland. We have classes once a
>> week for an hour in the school computer lab, and have been meeting
>> for just over a month.
>
> On hour a week is not much. So probably the book you're mentioning is not
> the right thing.
>
> Why not use the turtle graphics setup Stéphane Ducasse (attention au
> francophones, j'ai mis l'accent aigu ;-) j'espère que ça marche!)
>
> http://www.iam.unibe.ch/~ducasse/WebPages/Turtle.html
I have an english version now.
I'm planning to write a chapter on using the "turtle" to simulate animal
behavior. I got the code running and this is fun.
>
> You could draw nice graphics end then export them as EPS files.
> Many drawing programs can import EPS files including the one which comes
> with Office 2000.
>
> Abelson / DiSessa is a good source for ideas about Turtle Graphics.
>
>
> As Squeak can nicely calulate with fractions I would work a bit on that as
> well. Do some calculations. Perhaps link this with the musical example I
> mention below.
>
>
> The Argentinian Squakers have done some 2-dimensional chart morphs. You
> could probably use them to do some elementary statistics like calculating
> the mean and plotting the points.
>
>
>
>> It is difficult to tell how things are going. I ask if they understand
>> whats going on and get blank looks. I ask if anyone is completely
>> lost and get the same look. They all seem to like the Squeak
>> environment, especially the music and games. My twelve year old
>> daughter is in the class and she says she know whats going on, but
>> I dont think she see any use in what she has learned.
>>
>> I think what is needed is some kind of project that would not only be
>> cool but also teach them something. We did John Maloneys TestMorph
>> tutorial and they thought the rainbow morph was cool as it bounced up
>> and down, but even something this simple was a bit over their heads at
>> this point.
>
> Why not let them write dynamic essays?
>
> Some thoughts:
> a) I like the idea of doing Powerpnt like writing ("slides", sheets
> with ideas)
>
> b) Each project corresponds to one slide which is associated with a
> concept. The slides do not have to be necessarily ordered in a
> linear sequence.
>
> c) Jump to project buttons link the projects: Any morph nowadays can
> be a button.
>
> d) Do your own parts bin flaps and populate the initial flaps with
> interesting morphs (including image maps made from pictures you
> shot with a digital camera, or for example a bullet list morph
> http://minnow.cc.gatech.edu/squeak/2141).
>
> e) Use a stripped down image which is now possible so you can easily
> collect let's say some 80 projects on a CD.
> (I'll have an experimental shrinking script for 3.3a)
>
> f) Alan Kay recently gave the tip how to program buttons which show
> and hide morphs with e-toys. It is really straightforward although
> the show and hide messages are somewhat hidden (in the miscellaneous
> section I think)
> See also http://minnow.cc.gatech.edu/squeak/SimpleButtonMorph for
> a more Smalltalk coding approach.
>
> g) Use a HTML/CSS output script to publish the "Active essay" (at the
> moment I'm writing one; a simple version is working I could send you)
>
> To sum up: for doing this you have to "enhance" and configure the out-of
> the box image before you hand it out to the kids.
>
>
> Write some dynamic essay yourself about basic music theory (different
> kinds of scales perhaps with some animation: hightlight the notes when
> they are played)
>
> Exciting would as well be to show the connection between the frequency of
> a note and the musical interval and the length of a string or an organ
> pipe.
>
> Program a game to recognize musical intervals.
>
> Or program a vocabulary trainer they could fill themselves
>
> and so on.....
>
>
>> I looked at doing Dan Shafers counter tutorial, but I think scripting
>> would just confuse them right now.
>
> Yes I agree. And programming a counter is not especially exciting. It' is
> just the standard exercise in Smalltalk culture to teach in the beginning.
>
> Id like to find some kind of project
>> involving sound and animation that they could do without too much trouble.
>> I thought about doing at tic-tac-toe game, but the graphics involved in
>> displaying the board might be too hard.
>>
>
> What about the following use case:
>
> 1) Drag out a Morph catalog from the "Widgets" flap
> 2) Click on "Presentation"
> 3) Dragg out a row morph
> 4) Click on "Basic" and dragging out a RectangleMorph
> 5) Blue-click on the rectangle to get the halos and then
> shift resize the morph into a square with the yellow resize
> hallo.
> 6) Give it another color with the purple halo
> 7) Do two additional copies with the green duplicate halo
> 8) Name the squares "field1", "field2", "field3".
> 9) Put these three fields into the row morph of point 3)
> 10) Delete the four EllipseMorphs still in the row morph by clicking on
> their x-halo.
> 11) Duplicate row morph two additional times
> 12) Name the three row morphs "Row1", "Row2", "Row3"
> 13) Drag out a column morph from the presentation part of the morphic
> catalog.
> 14) Name this morph field
> 14) Insert the three row morphs.
> 15) Delete the red, yellow and green rectangles
>
> Voila, you have a tic-tac-toe field.
>
> To put men into the fields with Smalltalk code you would have to use
>
>
> man _ (EllipseMorph new extent: (60 @ 60)) openInWorld.
>
> (((World
> submorphNamed: 'board') submorphNamed: 'Row2') submorphNamed: 'field2')
> addMorph: man.
>
> Ahem - it _should_ work like this but some additional tweaking is
> necessary. The layout is not as expected...
>
> And this example might already be a bit complicated to understand.
> However I like the idea how you can as construct a user interface
> with direct manipulation and then control it by Smalltalk
> expressions.
>
>
> A simpler idea: A feel what programming is might be obtained by opening a
> workspace and doing exercises like the following:
>
>
> e1 _ EllipseMorph new.
> e1 extent: 60 @ 60.
> e1 position: 100 @ 200.
> e1 color: Color red.
> e1 openInWorld.
>
>
> r1 _ RectangleMorph new.
> r1 extent: 100 @ 100.
> r1 position: 0 @ 0.
> r1 color: Color yellow.
> r1 openInWorld.
>
> Later you could do things like
>
> e1 color: Color blue.
> r1 color: Color green.
> e1 position: 200 @ 200.
>
> And so one. This is object-oriented programming in the naive-sense -
> actually in the sense one would expect not having been exposed to it
> before: There are objects in the computer you can control easily.
>
> A more sophisticated example would be to have a ball fallwing from the
> top of the screen accelerated by the gravitational force and rebounce
> from the soil. (Morphic stepping needed)
>
>
> Let's keep on looking for other ideas and please share them if you find
> something which you find interesting!
>
> Cheers
> Hannes Hirzel
>
>
More information about the Squeak-dev
mailing list
|