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
>> what’s 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 what’s going on, but
>> I don’t 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 Maloney’s 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 Shafer’s 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.
> 
> I’d 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