Speaker 1: The following is the second of two video tapes featuring Seymour Papert on Logo Writer. How to use it and how to think about it. In demonstrating Logo Writer, Papert uses the occasion to deepen the viewer’s understanding of logo itself.
Seymour Papert: In the tape one, drawing something that can be drawn pretty well every logo that’s ever existed, a five sided star, one of the kind of figures that’s most commonly associated with logo. What is special about Logo Writer was not the product, not the effect we obtained but the way we did it, the process, the way we thought about it, perhaps. I’m going to pick up this same five sided star again and do it in a slightly different version using features that Logo Writer shares with some but not most implementations of Logo. Let’s have a look at one.
This demonstration exercises the Logo Writer Procedure Stamp. The turtle will move, will put it’s pin down, it will stamp its own shape on the screen. Let’s see how that goes. Notice it’s going forward in steps of 20, pin down, it stamps. After six repetitions it does, it’s right 144 and it gives itself a new color. This is a procedure that I’ve written.
By reducing the size of the step, I want to give it another effect. Watch it. The turtles are now so close that you don’t see distinct turtle shapes so stamp is used as a means for getting a kind of abstract graphics effect, these thick lines.
By allowing it to stamp its shape, Logo Writer gives the turtle a lot more graphics power but in addition to giving each turtle more power, Logo Writer gives us more turtles. Let’s have a look. I’d like to introduce you to Logo Writer’s four turtles. They’re called 0, 1, 2 and 3. The command “tell” allows us to select one or more turtles and send instructions to just them. Tell 0 makes turtle 0 be it, to draw an analogy from popular games. Any instructions will go to that turtle. Set color 1 changed its color, not the others. We don’t have to say “tell 0” again. Tell 0 is it and so the instructions “forward 30 wait 20 back 30” will apply to turtle number 0.
“Tell 1 set color 2 right 45” and you see it obeyed and now this instruction will go to this turtle. We can tell 2 to become that color and 3 to become red. We can also talk to them in groups or lists. “Tell 0 3” packaged as a list will cause this instruction to be obeyed by the two turtles, 0 and 3. Watch. They will change color. Then, 1 2, can be given another color. This use of lists gets around one of the major obstacles in traditional logos. People found it difficult to introduce children to lists at an early stage when they were still doing graphics. The use of multiple turtles makes it very natural to use lists at the earliest stage in Logo.
Using multiple turtles one can create symmetry patterns for the artistic effect or as mathematical challenge. Can you figure out as this pattern unfolds what kind of instruction produced it? Can you figure out whether it will repeat itself or when? Can you describe the symmetry?
More typical uses of multiple turtles are less abstract. It’s multiple turtles that made it possible for me to program in Logo Writer a version of Pac-Man. These objects on the screen, the Pac-Man, the ghost monsters really are turtles. They mightn’t look like turtles but they move in response to the same commands: forward, left, right. This makes them turtles.
To work with turtles in this way, we need to master the art of changing the shape of the turtle and this is something that Logo Writer allows you to do with great ease. I’ll illustrate it by going back to the skeleton program you saw at the beginning of the first tape. At the heart of this program is working with turtle shapes.
This skeleton is made up of over two dozen separate pieces of shape that have been glued together so to speak. I want to describe the whole by focusing in on a few of the shapes, show how some typical ones are made, then how they put together and then come back to talk about the whole.
I start with the right hand. Here on Logo Writer’s shapes page, we have all the shapes that make up the skeleton. I don’t want to pos with them at this scale. I’d rather flip over and on the flip side see blown up versions. Here’s number 18, the hand. This is called a “Shape Editor.” To show you how it works, I’m going to move to number 17 which is an empty shape. Using arrow keys, I can position that cursor anywhere I like. I press the space bar, it will leave a little square. If I don’t like the position of one of the squares, I put the cursor on it, press space bar and the square is erased. In this way, I can draw anything I like and in fact, the children making the skeleton did draw all the parts by this kind of operation.
To show you some of the means Logo Writer offers to manipulate such shape, I’ll exercise some of its commands. Set shape, S-E-T-S-H, takes the number and sets the shape of the turtle to the shape corresponding to that number. 18 was the right hand. Watch the turtle. Set shape 19, see the cursor down there, will turn into the other hand. 20 was the skull if you noticed. Set shape 0 brings it back to the familiar turtle shape. Set color changes the color. 9 means color blue. 7 makes it white again. Back 20, well, you know what that is.
Although the shape’s been changed, it’s still a turtle and it will move. Pin Down Stamp, it’s been in pin up mode. Stamp will not produce any visible effect but when now I do forward 20, it moves and it leaves a copy of itself. Not another turtle, it has stamped its current shape on the screen. This is the way that the turtle draws the skeleton by positioning itself, sitting in shape and stamping it.
You can see the structure of the action as I run the procedure that positions the turtle, sets its shape and stamps for each part of the skeleton. Next we’ll look at what kind of programming can produce this action.
Here’s a program. Not quite the one that children who designed the skeleton did in the first phase but a cleaned up one that I use to indicate the structure to you, not only of drawing the skeleton using all these sub procedures for parts but of waking the database part of that program. They’re quite a lot of them. There’s a lot of work in this. Let’s just settle on one of the sub procedures, the one that draws the skull.
“Put 0 80” locates the turtle. We want to name the position for a reason that has to do with finding it for database purposes. Then there’s the key drawing act, set to shape 20, remember, that was the shape of the skull, PS, a sub procedure that does pin down and stamp, and UPS, a sub procedure that tidies up by returning the turtle in pin up mode to a central starting place.
I’m sure you remember that in the skeleton program you saw in tape one, you could select a bone, say the skull, and see it change color. I’d like to show you how this works by using a schematic version of the procedure skull. Let’s run it.
What skull does is send the turtle somewhere where the turtle takes on the shape of a skull and stamps it and then goes away. Now, if we change the color of the turtle and then run the procedure again, the same thing happens except that it’s a blue turtle in this case and the skull goes blue. Again, with a yellow turtle, the turtle goes to the same place and stamps a yellow skull’s head.
Well, by the time you made your version of the skeleton, you’re an expert at setting shapes. An animation will then be pretty easy. The Pac-Man works by setting shapes in rapid succession. There’s a shape for Pac-Man with mouth open and a shape for Pac-Man with mouth closed. You say “set shape this,” then you go forward a little and then you say “set shape that” and go forward a little and you see the Pac-Man moving along the screen gobbling as it goes. You can make two men walk across the screen using two turtles alternating shapes, legs together, legs apart. With this, I leave this chapter of our discussion of Logo Writer as a graphics engine and turn to Logo Writer as writer, as an instrument for word processing.
We exercised Logo Writer’s web processing capabilities and the terminology we use by removing the split infinitive from the sentence. I’m going to take the cursor, I’m going to move it down and bring it across using arrow keys. I do something called “selecting the word “easily,” I’ll cut it, I move the cursor somewhere else and I’ll paste. Watch how this works. Down arrow key is going to bring my cursor onto the “m” of “made” and then the right arrow key moves it letter by letter until it’s placed next to my target word “easily.” The select key doesn’t produce any visible effect but when I follow it by right arrow keys, you notice that the word “easily” changed color showing that it’s been selected.
What this means among other things is that if I hit the cut key, it will be cut out but not irretrievably. If I use left arrow keys to move my cursor across and then do paste, “easily” will be put back there. “Word processes are made easily to change text.” Do you like that? I don’t.
Let’s select “easily” again and let’s use our left arrows to sweep the cursor across it. We’re going to cut it out and move it somewhere else. Oops, I went too far. Doesn’t matter. I’ll go back again. You notice that what is selected is not everything that’s been touched by the cursor but only what’s between the beginning and the end position of the cursor. Cut will take “easily” out. The delete key is just closing up that space. The down arrow brings it down there. I could insert “easily” immediately where the cursor is but it would run into text so I hit the space bar making a space and now paste puts “easily” exactly where I wanted. “Word processes are made to change text easily.” I think that’s probably the best position for it.
For a demonstration of some other Logo Writer capabilities, I use this little letter. “Dear Mary, I love this lovely Logo. Love, Sue.” I’ve written a visualization program that makes Logo commands appear there rather than in the command center. It makes for a better legibility of the whole.
What’s this command do? It tells the cursor to sweep across the text until it finds the word “love.” It’ll find that one. Then selected. See? It’s come up in red. Now, this is a Logo command that’s something really new in it. Repeat 4 as if it was going to say “forward right” and so on, but it say CB which is cursor back. We can move the cursor as a Logo command without using the keys and then “delete” is a Logo command that will delete the letter under the cursor. Watch the four letters of love disappear.
Now, something even newer. “Turtle to cursor” is a procedure I wrote especially for this. I’ll show it to you in a moment. What it does is place the turtle where the cursor is. There’s our turtle. “Set shape: Heart,” “Set color: Red” and I’d like to stamp that there. “Pin down stamp, Pin up.” Now, if I move the turtle away, a heart will be left in that position.
What if I replace the other “loves” in the sentence by hearts? I could go through the same sequence again or I could do something else. I could write a procedure, “love,” I’ll show it to you as well. It does exactly that sequence of operations but with just one command. We’ll see it put a red heart in place of “love” there and if I do it again, it will put a red heart there and so I’ve made a new form for my letter.
The procedure “love” doesn’t have many surprises. It’s just what I said, search “love” but do notice the formatting. I laid out “repeat” like this because I do find it clearer and then this “turtle to cursor,” a sub procedure which I promise to show you.
“Turtle to cursor” is a procedure I wrote to set the position of the turtle to where the cursor is. “Text cursor” is a primitive procedure of Logo Writer which is one of two ways Logo Writer has to report the position of the cursor. Let’s look at both of them.
“Text pos” is one. Here it says “text pos equals 14.” That means that the T where the cursor is is the fourteenth character in this text. You might say it looks like the first but don’t forget that those spaces behind it also count so do the empty lines above that have carriage returns. 14 is an ordinal number. It tells you how far along the text the cursor is. Cursor Pos is something very different. Here’s a list of two numbers. That’s the format for “set pos.” This says that that place is -60 along the X direction and +40 on the Y direction.
Let’s move the cursor along. Watch. I’ve moved it two positions. We should see “text pos” increase by two. You see it’s 16 now instead of 14 and this, instead of being -60 has become -44. It’s increased by 16 because each character is 8 turtle steps.
Well, I guess you must be noticing that I’m not following the pedagogic route of presenting the simplest things first. I assume I’m talking to teachers who know some Logo and are trying to get from this an understanding of what’s different in Logo Writer. I assume you extract for yourself after digesting it, what do you think it should be passed on to children you might be teaching. It’s interesting to see how a child, a beginner might come to make a product very similar to this letter but following a very, very different route. In fact, I’ve seen children do something very much like this and I’m going to reconstruct the path one might follow.
In this reconstruction, Sue uses turtle graphics and word processing almost independent actions. She’s written this text, she stamped this heart and now she goes on writing. She leaves three spaces for the turtle to stamp her heart puts “ly” and then shifts her attention to bringing the turtle over. This is a heart shaped turtle which she positions and then we’ll go back to typing her letter. She positions the comma there with the intention of stamping another heart before it. Well, you get the idea.
A child like Sue sometimes settles at a low plateau in use of computers. In Logo, she might drive the turtle rather than write procedures. In word processing use the arrow keys to make local changes but not cut and paste and move blocks of text around to make more global modifications to something she’s written.
One of the ideas behind Logo Writer was to encourage more sophisticated uses both of programming and of word processing by putting the two together in one context. I must develop this point by looking more closely at how Logo Writer encourages the use of cutting and pasting by putting it in a larger context than just writing.
Shape 8 in my shapes page is this helicopter. Shape 7 same thing with a shorter blade. Shape 6 like that and shape 5 like that. Maybe children have noted that you can get an animation effect of rotating blades by setting the turtle successively to such shapes as these but how do you get these shapes?
You could make four different pictures, it’s no enormous job, but Logo Writer enables you to do something a little better. You can use cut and paste. For example, there I’ve cut it. [inaudible 00:20:31] lose it but I can paste it back again. Well, that’s no great feat, simply copying back into the same space but if I move off into an empty frame and I paste it there, I get my helicopter and now, it’s an easy matter to carve off a few squares from the blade to make the other copies. This is the way in which the four copies were in fact made.
We see another way in which cutting, pasting and copying pays an important role in the use of Logo Writer by looking at the evolution of this project. A child wished to represent the enormous size of the sun compared with the size of the earth. This is the kind of project which in Logo Writer as we’ll see by following it through lands itself to direct drive, top level programming.
First, the child drew this curved line representing the enormous size of the sun by its small curvature. A lot of thinking was needed to decide just how fat it would be but also a lot of trial and error was needed to decide exactly where to place it and at what angle. A box is drawn. Again, some trial and error. The Logo Writer command “label sun” places the word “sun” where the turtle is. We then move the turtle, pin up into this open area representing the interior of the sun. We do pin down, set a color and “fill” fills in the color of the sun. All this, as you notice, is going by direct drive and the child is accumulating a rather large number of Logo instructions. There will be even more.
Now, we have to put the earth in. The earth is done by setting the shape of the turtle, setting a color and doing a stamp. The earth is labeled, again by using the command “label,” “label earth,” and so we end up with a rather attractive picture which this is only the beginning actually and with an embarrassing choice. Will we settle on keeping this picture and forgetting about all the logic that went into it or will we throw it all away and start again in building up procedures to reconstruct it? Logo Writer offers a third way.
You see the amount of work by scrolling through the command center buffer. Here are all the instructions. This is what made that picture and at the end “label earth” as you remember was the last act that we saw. What we do will all this? One thing we can do is to copy it onto the flip side and turn it into a procedure. I do “select” and then watch it all go red. When I get to the bottom, I do “cut” and there’s nothing left.
On the flip side, we do “paste” and there is all our work. We can easily turn it into a procedure or be it a messy one by putting “end” at the bottom and top, what will we put? “To Sun,” for example. Once we’ve got it there, we can now run it but we can also look at it, analyze it and see where, for example, it might break up into perhaps that could be called “Sun” and this part “To Earth” and so the work can begin of taking this messy code and little by little improving it.
For beginners at Logo, one of the ways of getting stuck is becoming so good at direct instructions that the transition to real programming is too much of an effort, means giving up too much of what one knows how to do. The cutting and pasting operations that we’ve just seen provide a transition. Another way of getting stuck is becoming very good at writing programs without inputs.
Let’s focus on this little procedure. A square forward 50, right 90, forward 50, right 90 and I’d like to draw attention to two ways in which word processing can help such a procedure. First of all, we could have made these four lines by writing just one, selecting it and then copying it four times. Of course, that’s not a really important way of using word processing. More fundamental is the situation that arises when we decided after doing a more complicated procedure of which this is just a token that we would rather have put in inputs instead of making it forward a fixed number.
Now, I’d like you to look at this procedure, “To input.” It searches for the word “forward” and then it inserts “:X x” so that instead 50 … Well, why don’t I do it instead of talking about it. It’s run the procedure. Let’s run it again. You see, “forward 50” has turned into “forward: X x 50” and so we go. I could have made this recursive, I could have made it repeat but the principle’s the same. I wanted to keep it clear. We were able to manipulate a procedure, turning it into something different using a procedure written in Logo.
Logo begins with programs that make pictures and for many people, that’s all Logo ever is but we’ve just seen an example of a Logo program that makes something very different from a picture, something, let’s say, deeper than a picture. We saw a Logo program that made a Logo program. Many people find this reflexive, recursive quality of programming one of the most exciting ideas in computer science and of the most exciting contributions of computation to modern thought.
Logo has always made it possible to do much more than draw pictures. In fact, it’s always made it possible to write programs that make programs but few children have penetrated into these areas of Logo. Logo Writer makes the entry into Logo easier than ever but it also raises the ceiling. Once inside, it’s easier than ever to do much more complex, diverse kinds of things with the computer and by doing more diverse things with a computer to find more diverse avenues of expansion of your own mind.
Speaker 1: The Logo Writer video tapes have been created as an adjunct to the learning system Seymour Papert On Logo. This comprehension package is designed for ongoing Logo training and is divided into two parts. The first, “New Mindstorms,” focuses on the process and the principals of learning. The second, “Logo Hurdles,” focuses on specific technical aspects of Logo. Included in the On Logo learning System are eight video tapes, copyable diskettes compatible with Logo Writer or other versions of Logo and complete print materials. For more information, write Media Microworlds, 12 Clayton Terrace, Saint Louis, Missouri, 63131.