At 3:12 PM -0800 11/27/00, Ken Kahn wrote:
Hi all.
The reason I was particularly interested in the discussion of ToonTalk by the Squeak community is because I'd like to understand better the relative merits of the two systems. Here's my current understanding (note that I have yet to check out the "Tiles" stuff in Squeak).
The "Tiles" stuff (also called EToys or Viewers) is important here -- it's an easily-approachable level that can lead to programming textually in Squeak. I've got a walk-through of building one demo with EToys in my textbook. A draft chapter on the Morphic stuff including EToys is available in the Squeak Swiki at http://minnow.cc.gatech.edu/squeak/uploads/programmingmorphic.pdf
Squeak's special strengths are its mallebility, its consistency/elegance, and its implementation/portability.
ToonTalk's special strengths are its game-like program construction and debugging environment, its support for programming by example, and its model of concurrency.
EToys also has a model of concurrency that's pretty powerful. I'll let others speak to the other points.
Besides hearing whether the above summaries are accurate, I'd like to understand the Squeak community's stance on children constructing programs. For example, is the view that Squeak is well-suited for children above a certain age? And if so what age? Is there anyone out there working with young children and Squeak? If so how can one find out more?
Various folk here are trying Squeak out with kids, including Kim Rose of Squeak Central and Stephane Ducasse.
Mark
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 Associate Professor - Learning Sciences & Technologies. Collaborative Software Lab - http://coweb.cc.gatech.edu/csl/ (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
Mark,
great draft chapter! By coincidence, I have always used the falling object example to explain Morphic (in Self). I don't know what your intended audience is, but when creating the example for people who have had some high school physics I like to use points for acceleration and velocity. The code is just as simple as what you presented (to the amazement of those who have tried something like this in some other language):
step velocity _ velocity + gravity. self bounds: (self bounds translateBy: velocity).
where you have set velocity to 0@1 or something. Now you can start with a horizontal velocity and get the nice parabola with no extra coding! In fact, with a slight patch in the above method to always have gravity pointing to some object (instead of straight down) you can plunge directly into celestial mechanics (and no - I don't mean SMTP ;-)
-- Jecel
Thanks, Jecel! This is great. I still have exercise answers and teachers notes to write, so with your permission, I'll pass this on to teachers that way.
Mark
Mark,
great draft chapter! By coincidence, I have always used the falling object example to explain Morphic (in Self). I don't know what your intended audience is, but when creating the example for people who have had some high school physics I like to use points for acceleration and velocity. The code is just as simple as what you presented (to the amazement of those who have tried something like this in some other language):
step velocity _ velocity + gravity. self bounds: (self bounds translateBy: velocity).
where you have set velocity to 0@1 or something. Now you can start with a horizontal velocity and get the nice parabola with no extra coding! In fact, with a slight patch in the above method to always have gravity pointing to some object (instead of straight down) you can plunge directly into celestial mechanics (and no - I don't mean SMTP ;-)
-- Jecel
-------------------------- Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280 Associate Professor - Learning Sciences & Technologies. Collaborative Software Lab - http://coweb.cc.gatech.edu/csl/ (404) 894-5618 : Fax (404) 894-0673 : guzdial@cc.gatech.edu http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
On Tue, 28 Nov 2000, Mark Guzdial wrote:
Thanks, Jecel! This is great. I still have exercise answers and teachers notes to write, so with your permission, I'll pass this on to teachers that way.
Please do.
While I came up with this demo on my own, Andrea diSessa has a much better version of it in Boxer (see the first 2 chapters of the book "Changing Minds: Computers, Learning, and Literacy" at http://soe.berkeley.edu/boxer.html/papers.html). Vector objects are represented by arrows and you can drag their heads around to change their values. I did find the spacecraft simulations too hard to control by dragging the acceleration arrow, but I am not really part of the video game generation...
The arrow that indicates the heading and center of rotation for each morph (part of the halo) might be patched to show something similar to Boxer.
-- Jecel
squeak-dev@lists.squeakfoundation.org