[Squeakland] looking for some advice on teaching Squeak to advanced high school kids

Oscar Nierstrasz oscar.nierstrasz at gmail.com
Thu Nov 29 11:25:41 PST 2007


Hi Alan,

Thanks for your comments.

I'm just back from a short trip and a nasty cold.

I agree with your identification of the dilemma.  So many things one  
*could* do.  Too little time to do it all.

That's why I sent the question to this list -- what makes sense to  
attempt given the short amount of time?

I would like to be able to wow them with the incredibly dynamic nature  
of Smalltalk, but there is not enough time to show everything.  In  
particular the meta-reflective stuff is certainly undoable.

But it should be possible to show them how we can talk to objects in  
the debugger and the object inspector while we are developing a simple  
application.

Right now I see two possible paths:
- focus on showing how to extend Smalltalk easily with new kinds of  
abstract data types that work seemlessly with exitsing ones
- focus on how to develop simple graphical applications

In either case put the emphasis on showing how to develop iteratively  
and interactively an *executable model* of the problem domain.

One idea is to take some problems that they have tackled already and  
show them how they can be done more neatly in Smalltalk.

http://www.soi.ch

But maybe that is aiming too low.  Precisely the issue you point out.   
Maybe we need a good sample problem that would be *impossible* to  
solve with conventional approaches.

I would like to get these students excited about Squeak, but am not  
sure what is the right approach.

Cheers,
- on

On Nov 26, 2007, at 16:41, Alan Kay wrote:

> Hi Oscar --
>
> Let's exchange a few emails about this.
>
> First, what would you do if the kids were University students with  
> the same experience? You have a day and a half, and you want to get  
> them to see what is interesting about a dynamic object environment  
> with a metasystem.
>
> How much time (and how to use it) would you allocate to learning the  
> language, debugger, stuff in class library, and metastuff? What  
> kinds of dynamic changes would you get them to do? (E.g. how about  
> changing the shape of objects that are dynamically in use? We once  
> added a few instance variables to Morphic, etc., and it was  
> interesting how well this worked ... .)
>
> A problem with the short time (i.e. let's learn to play piano in a  
> day and a half) is that it will be difficult to come up with a  
> convincing example that is not fairly easy to do in a static early  
> bound language (dynamic languages excel when dealing with difficult  
> complex systems that are hard to debug otherwise). (One of the  
> reasons Simula was not appreciated as it should have been in the 60s  
> was that the example in their ACM paper (that was small enough to  
> put in a paper) was fairly easy to do in Algol -- most people missed  
> that Simula really scaled for many important problems where Algol  
> did not.)
>
> What are your thoughts so far?
>
> Cheers,
>
> Alan
>
> At 01:09 AM 11/26/2007, Oscar Nierstrasz wrote:
>
>> Hi Folks,
>>
>> I teach at University level, not high school, and have no previous
>> experience teaching high school kids.
>>
>> At the end of January we will have a day and a half with a bunch of
>> high school kids who are finalists in the Swiss Scientific  
>> Olympiads ( http://www.olympiads.ch/  ) and have the opportunity to  
>> get them excited about computer
>> science. We will have various sessions to show them different things.
>> (I will not be the only one to offer something.  A colleague will be
>> introducing the ones who have no background in programming to  
>> Scratch.)
>>
>> I wanted to take the ones who have done some programming (i.e., those
>> who have done the Swiss Olympiad in Informatics - http:// 
>> www.soi.ch/ )
>> and introduce them to Squeak.  For the Olympiad they have been  
>> working
>> with languages like Pascal, C and C++.
>>
>> I would like the session to be mainly hands-on, and get the kids to
>> actually build something in teams of two with help from some  
>> monitors.
>>
>> Does anyone have any experience like this?  Can you recommend some
>> specific exercises that would be fun and would produce a real result
>> in a few hours?  My concrete goal is to show them how different a
>> dynamic language and environment like Squeak can be from the  
>> languages
>> they are used to.
>>
>> Any hints would be welcome.
>>
>> - on
>> ---
>> Prof. Dr. O. Nierstrasz    -- Oscar.Nierstrasz at iam.unibe.ch
>> Software Composition Group -- http://www.iam.unibe.ch/~scg
>> University of Berne        -- Tel/Fax +41 31 631.4618/3355
>> vcard:  http://www.iam.unibe.ch/~oscar/oscarNierstrasz.vcf
>>
>>
>>
>> _______________________________________________
>> Squeakland mailing list
>> Squeakland at squeakland.org
>> http://squeakland.org/mailman/listinfo/squeakland
>




More information about the Squeakland mailing list