View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

MathMorphs: An Environment for Learning and Doing Math

MathMorphs: An Environment for Learning and Doing Math, by Luciano
Notarfrancesco and Leandro Caniglia of UBA.

Current draft: mathmorphs.pdf

Promised Reviewers:

Danny Sharpe (dts)
Bruce O'Neel (beoneel@mindspring.com)

Answers to Danny's comments 2000/3/14

[dts] Shouldn't the authors' e-mail addresses be given on the first page?
[LC] Done

[dts] Many of the illustrations appear to have had rows and columns of pixels removed during resizing. This makes some of them hard to interpret since the text they contain has gotten mangled.
[LC] They look well in the original (Word). May be the problem is introduced when converting to PDF (?)

[dts] In the MorphicWrappers section on page 2, please tell where the user can get MorphicWrappers. Also, for the benefit of those who aren't intimately familiar with the Squeak and Morphic environments, please tell how to install it and start playing with it.
[LC] Done

[dts] At the top of page 4, it mentions "when the morph is in focus". Please tell what events cause a morph to come into focus and how it advertises the fact that it is in focus.
[LC] Done

[dts] Design question: Not all morphs behave the same when in focus. Mathy ones created by typing on air turn color and pop up a balloon saying "I am a Point" or some such, but others created from the "New morph" menu option don't seem to give any visual indication. Was this a design decision? If so, I don't understand the rationale.
[LC] This is a must since we cannot alter the way that normal morphs (those created from "New morph") behave. From the MathMorphs perspective, there are two kind of morphs: (1) normal morphs, and (2) MorphicWrappers. MorphicWrappers dress ordinary objects with Morphc behavior and appearance. Visual indications such as balloons or color changes are part of the suit. Normal morphs are as they are, we cannot change them.

[dts] On page 4, in the Typing History section, it says "There is one expression history for each class of wrapped objects." But, among other things, I managed to get an Ellipse to give me the expression history for some Points I had created earlier. Objects of different classes appear to give me different sections of a global expression history, and the same morph doesn't always give the same history. I don't understand.
[LC] Well, this seems to be a bug report. Thank you! I'll check it out. (Note also that the package is in continuous evolution)

[dts] On page 6, in the Identity section, it suddenly starts talking about CarryingMorph and ShakingMorph. I don't understand what these have to do with Identity. Perhaps an omitted section header?
[LC] Section header and an introductory paragraph added.

[dts] Also, wouldn't this discussion go over better a bit later on, after you've discussed redefining methods? That way, you could give an example of some of the neat things that can be accomplished by redefining the methods of those classes.
[LC] We haven't provided programming examples for the sake of brevity. The chapter tries to expose the main ideas focussing on the consequences more than in the implementation details. As everybody says: "this goes beyond the scope blah, blah..." ;-). Anyway, let me know any suggestion about that.

[dts] Page 6, RequestBoxes section, last sentence: insert the word "by" after "RequestBox". It should read, "... to a RequestBox by typing on air..."
[LC] Done

[dts] But I'm not sure why RequestBoxes are being discussed here. For newbies, this discusson is like the one of CarryingMorph - it brings up the desire to experiment but experimentation requires knowledge that is not obtained until later.
[LC] I've changed those two sections trying to elaborate a bit more. Please, let me know what you think now.

[dts] Page 6, Programming with the MorphicWrappers, section header: Delete the word "the". It should read, "Programming with MorphicWrappers". Same section, first sentence: Change the word "were" to "where". It should read, "... is a framework where more...".
[LC] Done

[dts] Some cosmetics comments -
The practice of emphasizing terms such as MorphicWrapper, CodeBalloon, etc., every time they're used is distracting. I would like to see them emphasized when they are defined, and written normally everywhere else.
The illustrations are pushed all the way to the left page margin. Shouldn't they line up with the text margin, which is one inch in, or even be centered between the text margins if they're not too wide?
The captions for the illustrations stand out a little too well. It took me a couple of double-takes to figure out that they were captions and not section headers. I would like them not to stand out so much, and be more closely associated with their illustrations.
[LC] I'll try to do my best. But, as far as I understand, all these "characteristics" were explicit formatting rules from Mark and Kim (Am I right?)

[dts] Also, some of the captions are wider than the illustrations they go with; in that case, they should be folded.
[LC] It is my fault. I'll fix them.

[dts] It might be a good idea to number the illustrations.
[LC] I'll take this suggestion in consideration. Let me see.

[dts] And that takes us through page 6. More later.
[LC] Many thanks. Your notes are very clear and useful.

Comments:

dts 2000/03/07:

(Note: Since I'm learning MathMorphs while reviewing the chapter, I'm evaluating the chapter from the point of view of a newbie working through a tutorial.)

General impression: It's a good article and I'm enjoying working through it.

Now, on to the picky details...

Shouldn't the authors' e-mail addresses be given on the first page?

Many of the illustrations appear to have had rows and columns of pixels removed during resizing. This makes some of them hard to interpret since the text they contain has gotten mangled.

In the MorphicWrappers section on page 2, please tell where the user can get MorphicWrappers. Also, for the benefit of those who aren't intimately familiar with the Squeak and Morphic environments, please tell how to install it and start playing with it.

At the top of page 4, it mentions "when the morph is in focus". Please tell what events cause a morph to come into focus and how it advertises the fact that it is in focus.

Design question: Not all morphs behave the same when in focus. Mathy ones created by typing on air turn color and pop up a balloon saying "I am a Point" or some such, but others created from the "New morph" menu option don't seem to give any visual indication. Was this a design decision? If so, I don't understand the rationale.

On page 4, in the Typing History section, it says "There is one expression history for each class of wrapped objects." But, among other things, I managed to get an Ellipse to give me the expression history for some Points I had created earlier. Objects of different classes appear to give me different sections of a global expression history, and the same morph doesn't always give the same history. I don't understand.

On page 6, in the Identity section, it suddenly starts talking about CarryingMorph and ShakingMorph. I don't understand what these have to do with Identity. Perhaps an omitted section header? Also, wouldn't this discussion go over better a bit later on, after you've discussed redefining methods? That way, you could give an example of some of the neat things that can be accomplished by redefining the methods of those classes.

Page 6, RequestBoxes section, last sentence: insert the word "by" after "RequestBox". It should read, "... to a RequestBox by typing on air..."

But I'm not sure why RequestBoxes are being discussed here. For newbies, this discusson is like the one of CarryingMorph - it brings up the desire to experiment but experimentation requires knowledge that is not obtained until later.

Page 6, Programming with the MorphicWrappers, section header: Delete the word "the". It should read, "Programming with MorphicWrappers".

Same section, first sentence: Change the word "were" to "where". It should read, "... is a framework where more...".

Some cosmetics comments -

The practice of emphasizing terms such as MorphicWrapper, CodeBalloon, etc., every time they're used is distracting. I would like to see them emphasized when they are defined, and written normally everywhere else.

The illustrations are pushed all the way to the left page margin. Shouldn't they line up with the text margin, which is one inch in, or even be centered between the text margins if they're not too wide?

The captions for the illustrations stand out a little too well. It took me a couple of double-takes to figure out that they were captions and not section headers. I would like them not to stand out so much, and be more closely associated with their illustrations.

Also, some of the captions are wider than the illustrations they go with; in that case, they should be folded.

It might be a good idea to number the illustrations.

And that takes us through page 6. More later.



I get a ghostscript error on ~3 page. I think it is looking for a nimbus font. asb
Acrobat works fine. asb
I didn't see where do download/install the MathMorphs file(s). That could be useful. krc
I cannot open this file with adobe because access is denied

Just some comments from Stephane Ducasse
I found the description really exciting even if I get lost by some
of the concepts. My main remark is the following one:
Everytimes you show a picture please consider that the user should
be able to reproduce it by reading the text. I read but even with MathMorph I was not able to reproduce what you show. ;((((


Hi,
This is Bruce O'Neel

Boy, I found this a hard chapter to read. My Math skills are way too weak. It's possible that a paragraph should be included at the beginning warning folks like me.

It also might be useful to have a section for the non-math folks
who still might get some great use out of MathMorphs. I'm thinking
of some of the matrix manipulations in particular.

It would be very useful to have a pointer to the website with the code, unless the code is included in the squeak image by the time the
book is published. It also might be a really nice addition to have
a change set with an example class with 10s of example methods, one for each one of examples you list (that can easily be put into a method).

Finally, you have two gems hidden at the end of the chapter. The Type inference and Text to Speech bits could be very interesting, even
to folks who didn't understand the previous parts of the chapter.

Possibly you could add something in the intro pointing this out.

Thanks very much!

cheers

bruce


Mark's Review of "MathMorphs: An Environment for Learning and Doing Math"


I've been recommending this chapter to many people, especially math and engineering faculty who are trying to decide if Squeak is interesting. I think it works extremely well as part of the "Community" aspect of the book – that Squeak is used in different ways for different reasons by different users, but Squeak itself offers an infrastructure and core that is worth the entire community supporting. I also find the vision at the beginning of the chapter very compelling: Computer-as-metamedium becomes a new way of doing math. (I have "Wow!" written in the footnote of my printout next to these paragraphs :-)

The chapter gets into a set of mathematics concepts which are going to be far beyond most of the readers of the book. I'm not too worried about that. I see part of the story of this chapter as "Squeak works well for math learning and doing because of the particular structure and feature set of Squeak." The advanced mathematics concepts serve as examples of things that Squeak (with MathMorphs) can support well. As long as the math gets related back to MathMorphs and Squeak, it works well. The math-for-the-sake-of-math doesn't work quite so well, e.g., the "How it works" section on p. 29 seems to be just about math, not about MathMorphs or Squeak.

Issues:






Link to this Page