[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  

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.


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.

- 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