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.
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@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