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@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@squeakland.org http://squeakland.org/mailman/listinfo/squeakland