Lambda the Ultimate

inactiveTopic Children’s Understanding of Process and Robot Behaviors
started 10/26/2001; 8:55:05 AM - last post 10/30/2001; 1:35:16 PM
Ehud Lamm - Children’s Understanding of Process and Robot Behaviors  blueArrow
10/26/2001; 8:55:05 AM (reads: 1266, responses: 8)
Children’s Understanding of Process and Robot Behaviors
Flogo is a new programming language designed to facilitate children’s programming of robot behaviors. Flogo’s "live" interface and visual dataflow representation are intended to make programs more understandable, accessible and modifiable....

...As a visual, parallel, real-time programming language for robotics, Flogo brings forward the time dimension in programming. In the realm of structural understanding, issues of temporal coordination move front and center. In the realm of learning and program development, Flogo changes how our interactions with programs are organized in time. This expands the kinds of knowledge that children can bring to bear, and offers some promise that by enhancing the value of tinkering, we can providing a more nurturing environment for the growth of programming knowledge.

I have a soft spot for Logo, which I think is the best language for teaching children about computing. Comparing it to Python, seems really far fetched since Logo was designed with children in mind. Anyway, Flogo is not really Logo, and is based on graphical representations. Personally, I prefer the textual nature of Logo. Seems to me that as soon a things get more complicated, textual programs are easier to understand. Text is linear.

However, there are clearly different learning and cognitive styles.


Posted to general by Ehud Lamm on 10/26/01; 8:56:26 AM

John Lawter - Re: Children’s Understanding of Process and Robot Behaviors  blueArrow
10/26/2001; 2:11:29 PM (reads: 1295, responses: 0)
Seems to me that as soon a things get more complicated, textual programs are easier to understand

This can be true. I use a programming language called Max, which is entirely graphical, kind of like Flogo. If a Max program (or "patch" in Max-speak) gets beyond a certain complexity, it can be very difficult to figure out what is going on.

In the case of Flogo, I suspect that programs would not be so complex that children would encounter the kinds of difficulty that I have with Max. I think the graphical nature would help children understand the flow of programs better; so it's a kind of trade-off.

(I wonder if there is a middle-point. I remember in a linguistics class we discussed pictographs vs. alphabets, and my professor mentioned that pictographs offer a form of compression, because one symbol maps onto one concept, and so would take less time to "parse." Compare this to a concept in an alphabet -using language, where it's representation may be composed of several symbols, and so the time required to "parse" or understand the concept is longer.

Would a programming language which used pictographs "scale" better than a graphical one, while still having good readability ?)

Ehud Lamm - Re: Children’s Understanding of Process and Robot Behaviors  blueArrow
10/27/2001; 5:43:27 AM (reads: 1283, responses: 0)
What language is Max?

John Lawter - Re: Children’s Understanding of Process and Robot Behaviors  blueArrow
10/29/2001; 8:46:31 AM (reads: 1286, responses: 0)
Max is a language for computer music, originally developed by Miller Puckette while he was at IRCAM. It first ran on the IRCAM Signal Processing Workstation, which was basically a NeXT cube with custom processing boards. It was later ported to the Apple Macintosh and sold as a commercial product. It's available from Cycling 74, and has a pretty large user base.

In Max, a user creates "patches" which are composed of objects linked by "patch cords" that represent the flow of data. Each object has inlets which respond to specific messages, and outlets, which (naturally) send messages. Patches may also contain subpatches, or "abstractions," which are basically generic patches, or really, functions.

In addition to the Mac version, there is a clone written in Java by some researchers at IRCAM called JMax, and Miller has a similar program called Pd, which runs on IRIX, Windows NT and Linux.

As I said, Max has a large user base in the computer music community, and there are several books about it or which have examples written using it. The Computer Music Journal published a good critique of it a few years ago, but unfortunately, I can't find the citation for it.

Oleg - Re: Children?s Understanding of Process and Robot Behaviors  blueArrow
10/29/2001; 1:50:19 PM (reads: 1263, responses: 0)
<cite>Seems to me that as soon a things get more complicated, textual programs are easier to understand </cite>

Related to that is a comparison of ideographic vs. phonetic writing systems. The following page offers a very good summary.
http://www.sf.airnet.ne.jp/~ts/japanese/message/jpnDwlWNqXkDwjfGuYF.html
In particular,

"It's a common misunderstanding that ideograms are obsolete and phonograms are modern. In fact, linguists have proven that a human being can read ideograms faster than phonograms if trained to read. The disadvantage of ideograms is their difficulty to learn, but the fact that developed nations such as Japan and Taiwan have a very low illiteracy rate indicates it is not so hard to learn kanji as you might think, if good education is available. The reason why most people in the world don't use ideograms is that it needs hundreds of years to build a writing system based on ideograms."

Please note that although ideograms are more expressive, they are also more difficult to learn, requiring extensive training. Compare that with a current trend to aim "visual" languages at children and lay people and "textual" languages at professionals. In reality, it's visual languages that require professional training to master! Musical and electric circuit notations corroborate that point.

Ehud Lamm - Re: Children’s Understanding of Process and Robot Behaviors  blueArrow
10/29/2001; 2:12:59 PM (reads: 1255, responses: 0)
I am not sure the connection to ideograms is appropriate. Sure, ideograms have their strong points, but we are not talking about lexical elements, but rather on more grammatical and organisational apsects of language.

What I find complicated is the way widgets (call the ideograms) are spread across the visual field, with arbitrary lines connecting them. This requires much more effort to parse than linear (or at most two dimensional) program text.

Notice that musical notation, for example, is based on a fixed organisational principle.

APL uses ideograms. Their usefulness may be dabated, but clearly this is not the same thing as diagrams of the sort you find in Flogo.

Chris Rathman - Re: Children’s Understanding of Process and Robot Behaviors  blueArrow
10/29/2001; 2:52:41 PM (reads: 1260, responses: 0)
Ideograms may be easier for trained mind to read, but I would think that they are harder to write on a computer because the characters aren't available on a standard keyboard.

As for visual manipulation, ERWin has been driving nuts the last few days. The problem is that the connecting lines of the relationship are incredibly hard to get right for a proper display when the number of connections gets high. The auto layout of the software always wants to revert back to the original choice and ignore any input you want to give it.

OTOH, the PCAD systems that laid out the connections for multi-layer circuit boards was quite good. In that case, however, the optimization was intended to reduce the length of the connections and minimize the interference. Wasn't really designed to be understood in a visual sense.

Oleg - Re: Children?s Understanding of Process and Robot Behaviors  blueArrow
10/30/2001; 11:22:28 AM (reads: 1271, responses: 1)
Notice that musical notation, for example, is based on a fixed organisational principle.

I'm afraid it is far more complex than it appears. Musical notation rules go far beyond a mere placement of notes on staff lines. What is not so obvious is spacing of symbols; angle of a beam; beaming of notes; ordering symbols with respect to the presence of neighboring symbols; ensuring precedence among symbols with respect to the notehead when depicting slurs, accents, markers; adding rests and repeat symbols. Spacing/justification seems like a secondary attribute -- however to a trained musician it means a great deal. Correctly-sized and justified symbols tell deeper logical connections between parts of music. These connections are lost when music is converted to a MIDI sequence. These secondary attributes, the _context_ is what makes visual notation so expressive -- and so difficult to master.

As paper [5] says,

"Most music published today is still laid out by hand; while computers may be used, decisions about music-symbol placement are made by people. Much research remains to be done into computational methods of encoding the myriad rules of music notation. ... The science of music processing lags far behind text processing because of the complex and idiosyncratic nature of music notation. Horizontal spacing is one complex aspect of music notation. While text justification is well understood, music justification is more difficult because note placement must emphasize temporal relationships in the music [sic!]. [That relationship is highly nonlinear, and may require global optimization over the entire page]. The difficulties of rule-based approaches to music spacing are discussed, and an algorithmic alternative is presented. The final music spacing is defined as a combination of two preliminary spacings: a textual spacing computed from character widths and a durational spacing computed from note lengths."

Ideograms may be easier for trained mind to read, but I would think that they are harder to write on a computer because the characters aren't available on a standard keyboard.

Therefore, ideograms are entered using a dictionary method, which is well described in
http://www.suse.de/~mfabian/suse-cjk/input.html

Their usefulness may be dabated, but clearly this is not the same thing as diagrams of the sort you find in Flogo.

I must concede. I guess I was looking for a pretext to rant about visual languages and their (mis)use.

References:

[1] Managing Music in Orchestras Pierfrancesco Bellini, Fabrizio Fioravanti, and Paolo Nesi IEEE Computer, September 1999, pp. 26-34

and references therein:

[2]. T. Ross, Teach Yourself: The Art of Music Engraving, Hansen Books, Miami, Fla., 1987.

[3] G. Heussenstamm, The Norton Manual of Music Notation, Norton & Co., New York, 1987.

[4] J.S. Gourlay, "A Language for Music Printing," Comm. ACM, May 1986, pp. 388-401.

[5] D. Blostein and L. Haken, "Justification of Printed Music," Comm. ACM, Mar. 1991, pp. 88-99.

Ehud Lamm - Re: Children?s Understanding of Process and Robot Behaviors  blueArrow
10/30/2001; 1:35:16 PM (reads: 1315, responses: 0)
I admit that I know close to nothing about musical notation. Always nice to learn. Fascinating.

Visual languages are interesting. I don't see how they can take the place of textual programming languages any time soon, but I guess that if you are interested in languages (and I guess most of use are), you can't fail to be interested in visual languages and notations.