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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

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

onierstrasz

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    -- [hidden email]
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
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

RE : looking for some advice on teaching Squeak to advancedhigh school kids

Dreyfuss Pierre-André (EDUM)
Hi,

Squeak environment offers two ways :


_ Conventional text programming:
   Smalltalk,  close to pascal or c programming style but fully object oriented.

   Botinc  a simplified smalltalk for kids. see http://smallwiki.unibe.ch/botsinc/

- Tile  and script programming .
 E-toys (intended to kids but in fact a very powerful  system  with no high limit, what can not be dons with tiles can be done by scripts written with smalltalk).


    see http://www.squeakland.org/

         In french:

         http://community.ofset.org/index.php/EToys

 Kedama, an extensions of E-toys :  A massively-parallel tile-scriptable particle system.
  (Something like starlogo). Interesting for observing the behavior of large populations obeying at the same rules and emergence problems.

    see http://www.is.titech.ac.jp/~ohshima/squeak/kedama/

        In french:

        http://community.ofset.org/index.php/Kedama

Regards

-------- Message d'origine--------
De: [hidden email] de la part de Oscar Nierstrasz
Date: lun. 26/11/2007 10:09
À: squeakland org mailing list
Objet : [Squeakland] looking for some advice on teaching Squeak to advancedhigh school kids
 

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    -- [hidden email]
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
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: looking for some advice on teaching Squeak to advanced high school kids

Alan Kay-4
In reply to this post by onierstrasz
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    -- [hidden email]
>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
>[hidden email]
>http://squeakland.org/mailman/listinfo/squeakland


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: looking for some advice on teaching Squeak to advanced high school kids

stéphane ducasse-2
In reply to this post by onierstrasz
oscar

I would show them how you can implement conditional halt statement in  
5 lines.
haltIf: is really fun to see.

But this is quite advanced or not :)

Stef

On 26 nov. 07, at 10:09, 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    -- [hidden email]
> 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
> [hidden email]
> http://squeakland.org/mailman/listinfo/squeakland


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: looking for some advice on teaching Squeak to advanced high school kids

onierstrasz
In reply to this post by Alan Kay-4

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    -- [hidden email]
>> 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
>> [hidden email]
>> http://squeakland.org/mailman/listinfo/squeakland
>


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: looking for some advice on teaching *Smalltalk* to advanced high school kids

onierstrasz
In reply to this post by stéphane ducasse-2

Hi again,

Is anyone on this list teaching Squeak *Smalltalk* to high school kids?

Sorry for not being more specific in my previous posting -- I did not  
realize that for many people, Squeak = eToys.

I realize the advantages of starting with eToys, but I will be dealing  
with a group of kids who have already seen some other programming  
languages.  I was wondering if anyone has experience with getting kids  
quickly started with some simple but interesting Smalltalk stuff.

Thanks in advance,
Oscar Nierstrasz
---
Prof. Dr. O. Nierstrasz    -- [hidden email]
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
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: looking for some advice on teaching *Smalltalk* toadvanced high school kids

Offray Vladimir Luna Cárdenas
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Oscar,

My experience is not teaching Etoys speficically, in fact, our classes
about Etoys is almost just one week of 16 (not all dedicated to just the
programming part of "Introduction to Informatics"). We mix that with
Scratch also (2 weeks) because is both are nice introductions to
programming for people who come from different backgrounds and have
different expertise (or none) with programming. Even the people who has
programmed before find both things nice, but our primary mediation for
"Smalltalk to teenagers" is Bots Inc., which is mainly focused on
fundamental algorithmic concepts, but is also a nice introduction to
Smalltalk. May be is not the same with students who come from a
programming Olympiads because they have good algorithmic concepts, but
anyway the idea of giving a intense workshop experience with aesthetic
value and having them working on a project which can survive the day and
half are the main concerns of my previous post, even if this seems like
some kind of "Zen metaphorical advice" with not specific detail (well
the details I gave are attached to a different context, so they're not
applicable in your context).

So, to design the workshop I would wonder to myself:

 * Which are the values I want to emphasize in the new aesthetic
experience? (which are the differences I want my students to confront
from the way of programming that they had previously?)

 * How can I provide a project/problem to be solved/created that
crystallize that values?

Hope this helps, in some way.

Cheers,

Offray


Oscar Nierstrasz wrote:

>
> Hi again,
>
> Is anyone on this list teaching Squeak *Smalltalk* to high school kids?
>
> Sorry for not being more specific in my previous posting -- I did not
> realize that for many people, Squeak = eToys.
>
> I realize the advantages of starting with eToys, but I will be dealing
> with a group of kids who have already seen some other programming
> languages.  I was wondering if anyone has experience with getting kids
> quickly started with some simple but interesting Smalltalk stuff.
>
> Thanks in advance,
> Oscar Nierstrasz
> ---
> Prof. Dr. O. Nierstrasz    -- [hidden email]
> 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
> [hidden email]
> http://squeakland.org/mailman/listinfo/squeakland
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHVQhdpzl8tTvDAE8RAlIVAJ0dN/unXbdNzjHUGGnLNreazcGFLgCgwLgv
NXrgACmGixq1T2Zddz566Rc=
=4Qze
-----END PGP SIGNATURE-----

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland