chapter 5
Yellow Cluster Fall 1990 stories about objects
A whole semester
of Playground 3.5 was conducted by teachers Leslie Barclay and Dolores
Patton in Yellow Cluster (3rd/4th
Grades), from October 1990 through January 1991. Playground 3.5 builds extensively
on the work done last year on Playground 3.0, with particular emphasis on
making script writing easier , this year with the addition of the
"sentence constructor", a system of popup menus. 30 MacII fx computers were provided for the duration
of the semester, with 5mb of
Memory, System 6.05. Large
"two-page' monochrome monitors were used to accommodate opening multiple
Playfields and comparing side-by-side scriptors. New larger "Macdesks"for the
two page monitor were also provided so that the computers do not waste valuable
desk tops, but rather are installed below the desks, children peer through a
window to see the screen. The
computers are connected to a server via ethernet, where children's individual
files reside,Playground application was installed locally on each computer.
Pencil
White like snow
Hopping
like a kangaroo when I make dots
Laghing like a clown when I use the eraser
Sees an ocean when someone brings it to the ocean
Hearing paper wiggling
Tastes pizza when someone drops the pencil on the
pizza
Candice Obayashi
Reflecting on the experience of
third and fourth graders constructing simulations of city processes, teachers
and staff spent the summer searching for new projects to match students'
abilities, proclivities, and curriculum. City Building@ curriculum provides exemplary hands-on experience of
building structures in an endless process of design and redesign under pressure
of different political constituencies. City Building successfully
introduces children to the design process. Children also get their first
taste of the complexity of something as big as the city. City Building does not show the
moving parts of the city: the traffic, the water & power, the
communications systems, the flow of people and goods. This is what we hoped to add
through the use of simulations. But our computer simulations were not large enough
and rich enough to support hundreds of cars in simulated L.A. traffic. The kind of project both children and
computer could manage focused on one or two characters doing one or two things.
So this year, instead of trying to escalate the curriculum beyond what it, and
we can sustain, we picked something in the domain children already understood
and were doing well.
A priority became the introduction
of fundamentals of computer programming to children typically considered too
young.
During the fall semester the
children study a single Object. The
Object exercises are part of the City Building curriculum which serves as a
warm up to building structures for the city model, a way to get third graders
to do scaling, and practice in thinking about characteristics and jobs of
things. Where the city model is a
miniature of a big complex thing, the object is a very simple little thing that
children will make bigger, big enough to wear as a costume. As a costume, the object takes on a
persona, it can be interviewed, it can become a character in a play.
ideas for Playground
projects reinforcing classroom activities for "Objects" theme:
This year, Playground would take the
entire first semester in Yellow Cluster, being introduced in October around the
same time as the Object activities began.
A whole set of Playground activities were discussed and designed that
would parallel and reinforce concepts.
The children lie down on a big piece of butcher paper and trace the
outline of their body. Then they
place the actual object they are studying down on the paper and trace over and
over how many of those equal the height, the width, and the depth of their
bodies. In Playground, the children
could be working with actual pictures they have drawn or even scanned in photographs
of their object, to juxtapose against a scanned in photograph of the child's
whole body. In later activities
such as "Object Interviews", poems and stories, children get to know
their object. Each thing an object
can do can be dramatized in specific movements which can become animation sequences
in Playground. For example, the
water bottle pours, sits, and is filled. Stories written from the point of
view of "being an object" start emerging as the children are turning
their object into a costume and wearing it. These stories could be entered into the
computer. Lastly, we
hoped to put different children's objects together in the same playfields where
surprising combinations of objects and their behaviors might reveal new
stories. One group of objects might
live in a child's backpack and travel around having adventures. Another group of objects might live in
the closets at school and work together to cut paper, glue, draw, and paint.
About half of these project ideas
were tried with the children between October and January. Children drew a picture of their object
(in Canvas) which was transferred to Playground and became a player. A one paragraph story was typed to
be visible on the playfield, and the movements of the player programmed to
interpret the story. After
each child completed their own playfield, they combined the players in group
playfields.
introducing the
sentence constructor
The
sentence constructor improved spelling problems and agentname selection
tremendously at this grade, which it was specifically designed to do. Observing in this classroom last year,
Playground's programmer Scott Wallace saw both children and adults had
difficulty remembering and applying agentnames correctly. For example, they had a terrible time
referencing an external player by using an agentname for a characteristic of
the other player which was hidden inside the other player. To address these problems, Scott
implemented the "sentence
constructor" , delivered in Playground 3.5 for school year
'90-'91. The "sentence
constructor" allows children to assemble legal scripting sentences by menu
selection. When a child needs to
use an agentname, a menu presents a list of all the names of agents. The child avoids the temptation to
recollect only agent values, such as Players' names.
introducing
the constructor with simultaneously executing number agents
Dolores and Leslie made the
introduction of the constructor one of the most important curriculum issues for
this year, and reworked their projects to provide the least rough transition
from one set of constructor menus to the next. They were intrigued by
similarities they saw with "fill in the blank" grammar templates
which can be helpful and fun.
From a teaching point of view, Playground 3.5's new sentence constructor
proved to be the most awkward thing to teach, and required rethinking many
exercises. This
necessitated that the first lessons on the constructor be the simplest and most
one to one correspondence to the simplest things you could type in. The simplest agents to think about dealt
with height and width and x and y coordinates. Using only "Do" (our cat
pane), for the number valued agents like Left, Bottom, Width, Height, Heading,
students could quickly achieve growing, shrinking and moving. Teachers had requested
"Left" as the word that meant "X" and "Bottom"
for "Y".
NUMBER + NUMBER is adding
NUMBER - NUMBER is subtracting
NUMBER * NUMBER is multiplication
NUMBER / NUMBER is division
more exercises about lots of agents at the same time
Two agents doing the same thing, The
Left agent and the Bottom agent, got the player moving diagonally. Children always had difficulty
seeing that more than one thing could be happening simultaneously, and this
blindness made it difficult to take advantage of this very important design
principle in Playground.
To reinforce the idea of two agents
working together, teacher Dolores Patton introduced MouseX and MouseY. She worked with students individually,
and this was a great hit. She later
presented a Racers playfield in which the racers using mouse x. Using MouseX
required creating a WatchMouse agent for those who cared to observe what was
happening.
Conditionals
Simple exercises with single actions
soon motivated overwhelming desires for conditionals. All the children demanded to shrink a
player who had gotten too big for the screen, or to return it to the left after
it disappeared off screen right.
So this led naturally to using the vocabulary of "notice". What would the players notice to tell
whether they are too tall. "If
I am shorter than 3 then I should be growing, if I am 150 I should reset myself
to be small again".
The "Cat" Pane
Multiple "if" statements
in this year's Playground forced abandonment of the pretty Eye, Thumbs-Up,
Thumbs-Down icons for Playground's "Notice/Do if true/Do if not true"
("if/then/else"). A
cat picture was installed as a joke to encourage teachers to recommend a
replacement for the last "Do" at the end of a series of
"if/then"'s. But
teachers thought it wouldn't matter what you called it, and decided to leave
the cat in because it was humorous and had no connotations for the
children. When conditionals were
introduced, some children from last year remembered the thumbs down and
wondered where it went, but on the whole we got surprisingly few questions.
the prince who turned into the frog at the swamp.
Continuing to work with the
constructor using coordinates and introducing conditionals, teacher Leslie
Barclay introduced The Prince who turned into the Frog at the Swamp. She believed this made more sense
out of coordinates, by associating them with a real place, "the
Swamp". The Swamp is one
player stretched out tall and thin.
A second Player is the Prince. The Prince moves by adding a number to
his Left, over and over. When he reaches
the swamp, he will make the sound of a frog. The zone of the swamp Mrs. Barclay
called "the Red Zone", and it was bounded by 2 important coordinates,
one for its left edge and one for its right edge. The number for the Left edge is easy to
find if we open the swamp scriptor because we can read out the number for the
Swamp's left edge. By calculating,
we could add the Swamp's width to its left to get the right edge. Another approved method was simply to
place the Prince where you wanted him, and observe the number for Left in his
scriptor, then you move him again and read off the second number.
The Prince and the Swamp playfield
introduces the idea of a conditional. Children had to be walked through
how to add an "eyeball" pane to their scriptor. But the actual script was provided
them to simplify the number of things they had to learn.
Copying and Pasting:
Working script had been placed in
the 'Text' agent as a model to be copied and pasted and modified. So the lesson became one about cutting and pasting, which was one of
the fundamentals in the design Playground.
Children were to first create an agent called "sounder", then
go back to the Text agent, copy the conditional sentence out of the eyeball
pane, move down to Sounder agent, click on the eyeball, and paste the
script. Then they were to use the
constructor to complete the thumbs-up instruction.
Text
(is my Left greater than 100) & (is my Left less
than 120)
'frog'
'silent'
sounder.
(is my Left greater than 100) & (is my Left less
than 120)
play sound 'frog'
Copying and Pasting the complicated
condition proved to be a win, because it was doubtful that children at this
point in the year would have understood how to write that or even to construct
it. The constructor required the
first choice to be TF & TF, which no one ever could figure out. However, there were more difficulties
with cut and paste than we had anticipated. Perhaps it is the invariably sticky mice
that live in the elementary school classroom, but the number of clicks and
moves required to simply get a line of text from one pane to another seemed
awkward and difficult. Unlike
working in MacWrite, each of Playground's panes needs two clicks, one to be
selected, one to place the cursor.
Selecting a line of text also proved a touchy business requiring more
dexterity and patience than third graders can muster. All in all the business of the mouse as
an input device is questionable for young children, and not at all for the
reasons it was designed, but rather, because of the wear and tear and misuse in
practice.
Coincidentally
Unsymmetrical Agents:
'Sounder" and 'Text":
Further assignments required
children to apply the same idea of the'Sounder' agent and the 'Text'
agent to other agents. Can
you make a player that plays a sound when it is between 150 & 180 pixels
wide? when its Left is between 200
and 230?, changes costume when Bottom is between 150 and 190? However, children
got confused by the differences presented by the 'Sounder' and the 'Text' agents. They learned that some
actions require two "Do's", as they need to change back to whatever
you expect them to be, whereas when sound is not there, you don't have to put
"silence" back in. That is hard to understand. When the playfield was running, it was
obvious to see that it was not doing what you naively think it should, but
children could not by themselves figure out whether the "two do" or "one do" solution applied.
"very mathy"
Teacher Dolores Patton found it
necessary to explain to students that we have made this very "mathy " at the beginning, but that children will soon become
involved with stories. Students are
not to be worried if they do not understand everything, this is a program to
experiment with and to try and to test.
Children were admonished to be sure to write things down when it doesn't
work as they thought it should, and that these errors would be reported to Dave
Mintz and Scott Wallace.
Dave Mintz is concerned that the way
Playground is being introduced to children, with heavy reliance on math and
coordinates is very difficult for the young children. Progress is necessarily very slow and it
still feels as though children are being rushed. Coordinates require lots of
teaching. And, coordinates are not
in the same domain as stories about characters. Long and on-going conversations were
held with Dolores and Leslie about getting away from so much math and into more
stories. The teachers argued that
playfields about characters require using collectors and groups which demand
that children have become familiar with the constructor.
Playground was specifically designed
to avoid the necessity of having to refer to things by their coordinate
location, with a hefty set of collection functions and even a specific way to
point directly at a player on the screen and ever after refer to "that
one". However, we
defeated ourselves by making the Players and Groups parts of Playground a
little too difficult to use, too many steps. And, we insisted over and over,
that children were required to do their own programming, and to learn "the
right way", that is, that would be generally useful rather than a special
case solution. Hence the mechanism
for selecting a player directly from the playfield was never ever used. This would have enormously simplified
the Prince/Swamp example. Specific
coordinates were also preferred over the use of a more general function for
"WindowWidth " for example.
stories about our objects
Ms. Pickle[1]
A perfectly wonderful little book,
quite loved and dog-eared: "What my Pickle Won't Do", inspired
an entire semester's worth of creative ideas. Teachers implemented one Pickle
story as a Playfield. Ms. Pickle is
a lot like The Prince and the Swamp in spirit, but uses Playground more fully
by defining specific relationships between players rather than just looking for
coordinates. Pickle moves from
bottom to top, when it is at the bottom it overlaps Lake Cucumber and grows
with sound of drip. Moving up out
of the Lake, it is quiet and stays at the same height. Overlapping the Sun causes it to
shrink. Children were shown the
playfield and asked to tell their version of the story. They notice that Pickle got smaller in
the Sun and larger at the Lake.
When inside of Lake Cucumber it grew and started going up, but when in
the Sun it "clicked". The
teacher asked "What is my pickle afraid of?" and this gets the
children to think of relationships and reasons: " He's afraid of sun because he
will dehydrate. When in the lake he
gets his water back up and is better. "
Kids all want to know how their
teachers made the pickle. They
explain how it was drawn on the Macintosh in Canvas@[2], and that all children will do the
same with their own objects. After
drawing at a large scale, teachers and apple staff will shrink it down to one
inch tall and put it in Playground for each student.
Students were asked: Who needs to
know about who? The pickle needs to
know about sun and lake, in charge of his own shrinking and growing. How does pickle grow and shrink? Mrs. Patton changes it to black box and
children can see more clearly that it is height and width that are changing. The Sun makes the clicking
sound when Pickle is overlapping it, so the Sun must have to notice
Pickle. Good questions about
"pushing" and "pulling" are discussed, regarding who is "in charge", who decides to
take action. Looking at Lake Cucumber, extra agents include 'Pucker',
'Puskerpower', 'Water' and 'Sounder'.
'Pucker' asks, "Are there any pickles out there?" by the
script that reads: "Every player in others with agent pickle". 'PuckerPower' agent's script is:
"The player in the group I call pucker who is nearest to me". 'Water' is the agent that the Pickle
looks for. 'Sounder' asks:
"Does the player I call puckerpower overlap me?" Sun has the same agents to look for the
Pickle.
Pickle has to look for both Sun and
Lake, so 'Sunseekers' and 'Hotspots' agents go together. 'Quenchers' and 'Diviners' go together.
'Sunseekers' is a Group type agent , looking for "every player in Others
with agent 'Rays'". 'Hotspots'
is a player type agent, looking for "the player in the group I call Sunseeker
who is nearest to me".
'Diviners' agent finds 'The player who has 'Water'. 'Quenchers' finds
"The one with 'Water' who is nearest.
'Height' agent is the wild one with two
conditions. When does it get
smaller? When near the sun. The script reads "Does the player I
call Hotspots overlap me?" Then do: "my height - 3" the second
Notice reads: Does the player I call Quenchers overlap me?" Then Do:
"my height + 3".
The speed of the pickle is noticed.
Going slower when over lake or sun, Why? The children speculate about all of what
is going on. Their observations are
good, and they get ideas of their own.
Collections
of Groups of Players using the constructor
Many many pages of detailed step by
step instruction were created by Yellow Cluster teachers to walk children
through using the constructor to create the agents who will allow the players
to know about each other. For each
player, there may be an identifying characteristic, a group agent, and a single
player agent. As we have seen,
people had trouble with this in Playground version 3.0, which gave rise to the
constructor. Now, getting specific
agentnames is easier, and it is a relief not to have to remember any precise
wordy wording. However, it is
mind-boggling to review this set of instructions and consider that every one of
these individual steps actually needed to be taught. You can appreciate why the
teachers insisted upon the first exercises with the constructor to be in a more
straightforward domain, like coordinates.
Problems continue in following
recommended Playground style for creating the several agents required in
different players to set up a relationship between the players. Again, as described previously, this is,
first the user is supposed to write the condition which requires noticing
another player, and this will motivate the naming of the internal agent which
nicknames the kinds of player(s) we are looking for. Lastly, were to be written the
identifying agents of characteristics.
This year, with the constructor, the
user is more than ever forced to work backwards of our recommended style, first
creating a characteristic, then the group, then the player, then the condition
which uses it. If the user did not
work this way, the constructor could not provide the agentnames of what had not
been made. We should
seriously consider turning the constructor inside out so that it could work
starting from the condition. A user
should be able to type the name of the nonexistent group "Notice if I
overlap food" and the constructor
should take this word, open up a scriptor, make a food agent, and ask if it is
a group of a player... and so forth, proceeding as a series of nested dialogs
to construct all the interconnected agents. .
The 100 dollar bill
can't find the cash register
ONE
HUNDRED DOLLAR BILL
Green like
grass,
Black like
the dark in my closet.
Sad when it
is trapped in the cash register,
Crying like a
cloud that has rain.
Flat like a
crushed tomato,
Angry when it
goes from one person to another,
Angry like my
mom when sheÕs mad at me and my brother.
Rolling up
like a somersault,
Crunching
like the first bite of an apple.
Lies down
like a lazy girl.
IÕm happy as
a one hundred dollar bill.
I
say,ÓYIPPEE!Ó
By,
Rebecca Jannol
1/10/91
Rebecca Jannol's story of the 100
dollar bill tries to sympathize with the life of a bill as it passes from
"stuffy pocket" to the "prisn" of the cashregister.
Storyteller
Rebecca Jannol
One day inside a stuffy pocket a 100 dollar bill was
bouncing along tring to hide from the person.The 100 dollar bills name is
Dough.he had a sinking feeling in his stomach. the feeling he got was a feeling
all 100 dollar bills got when they were going to end up in a du du du DA,THE
CASH REGISTER!!!!!! As they were
drawing near the cash register little Dough was getting nervous. Then the man said,"I will buy that
T.V. The person who owned the store said"It is 100 dollars." "Okay," the man
said. He reached into his pocket
and pulled out poor little Dough.
Now Dough thought its all over.Nothing can stop me from staying in prisn for the rest of my entire lifetime. But
little Dough was wrong. The next person who came only for change. By luck he
only needed a 100 dollar bill. Slowly Dough was tacken out of the cash
register.And Dough was never Put in it again.
Squeezing this fanciful little story
down to a minimal staging was necessary before Rebecca Jannol (a third grader)
could manage to program it in Playground.
All the emotional content of the story drops away as she simply tries to
block out the movement of the dollar bill to the cash register. Each teacher worked with students
in small discussion groups prior to getting on the computer to have them
rethink staging issues in terms of the repertoire of movements and effects
which Playground provides.
The first requirement was that some kind of Change should occur to
each player when they met or overlapped each other. Another requirement was that
a Player could not originate from no where, but that each significant location
a Player moved to or from ought to have another Player both marking it and
explaining it.
After the first week, Rebecca was
proud to have a good bit of her Playfield working. Her drawing of her object, a $100 Bill, had been transferred to
Playground by Dave Mintz, who had done so for every student. She had written her story out in the
Storyteller player. For some reason only a fragment of her story appeared
visibly on the Playfield, but the part which showed sufficiently explained her
scripting intentions, inadvertently assisting in minimizing her
intentions. She had laid out the
positions of her Player participants in the scene, and scripted part of them.
ÒMy $100 Bill is going over to the
Cash Register. And the Cash Register gets bigger because the money is going
into it. After it gets bigger the
$100 Bill goes off the page and then its going to start again.Ó
Rebecca didnÕt want another player
for the Bill to originate from, but to comply with the assignment, had placed a
little tiny circle player at the location where it starts again. The $100 Bill moves across
the screen by incrementing the Left agent, and resetting the Left Agent when it
is a high number. Next,
Rebecca gave the $100 Bill the
characteristic of "money".
A group agent in Cash Register also called Money looked for players with
the characteristic Money, finding the $100 Bill. The Width agent in the Cash Register
incremented itself when ÒMoney overlaps meÓ. This was an attempt to mimic the
animated image of the Macintosh Trash Can which fills up so splendidly when
full. Although animated graphics
are possible in Playground, it proved logistically impossible to provide them
to 60 children and the extra scripting required too much of a burden to
children.
100 Dollar Bill |
CASH REGISTER |
Money (Type: true/false) |
Money (Type: group) COMMENT
Finds all of the one hundred dollar
bills ALWAYS: every player in Others with agent money |
Left (Type: number) IF
I NOTICE: (is (my Left) greater than 606) THEN: 37 OTHERWISE:
((my Left) + 9) |
Width (Type: number) IF
I NOTICE: does the group I call
money overlap me THEN: ((my Width) + 20) OTHERWISE:: 40 |
In the next group discussion, Mrs.
Barclay asked Rebecca ÒWhat happens to the $100 Bill?Ó and when Rebecca had no
ideas, asked the entire group ÒWhat
changes could she make to it, any ideas?Ó
Greg Levine (third grade) ventures that Òit could get black like it was
dark insideÓ.
places of
origin
Mrs. Barclay was also not satisfied
that the dollar bill had no point of origin over than this little tiny circle,
it wasn't right that the bill should appear out of thin air, it must be somewhere
before it floats over to the cash register. After some thought, Rebecca
suggested "in a hand".
Mrs. Barclay encouraged her to think deeper about where might the
customer carry a bill, certainly not in a hand while walking down a
street. Rebecca seemed
unconvinced by this, but after more thought decided perhaps Òa pocketÓ. It was suggested that grownups carry
bills is in a wallet, and that Rebecca must make one to put the bill in.
difficulties with player and group type agents
examined closely
Rebecca now needed to make the $100 Bill change its Costume to
Blackbox, when it has reached the cash register. Although this task was
very clearly defined, symmetrical with PlaygroundÕs repertoire, and well
understood by both student and teacher, executing it proved to be
extraordinarily difficult, and took all the attention of Mrs. Barclay and then
two Apple staff assistants over a 45 minute work session.
This work session is an example of
what went wrong with Group- and Player-Valued Agents. Such an evidently simple programming
project, clearly manageable by 3rd and 4th graders, was made more difficult by
certain specific features of the user interface, some of which had been
anticipated by the designers, which obscure the task. Very seriously needed
unimplemented features include a dependency trace such as is a typical element
of debuggers. Scott Wallace
absolutely wanted this, but as a one person programming effort, some things
like this just could not be had. Frustrating limitations of our
alpha-SmalltalkV development environment made it impossible to create a more
effective spreadsheet style layout.
Our natural language parser was also more rigid than we needed, as it
had been a learning experience for its implementer. But looking closely at these
users experience, we can see that as they persevere, where they get lost, and
where they get back on track. They
do not give up, they continue to get ideas from Playground user interface about
what to do next, about alternatives.
First of all, Mrs. Barclay asked
Rebecca to write in the notes pane what you want to have happen. Children must be able to understand and
explain in a coherent english sentence what they plan to do, or they will be
hopelessly at sea trying to script.
To accomplish this sentence required explicit questioning from the
teacher: "When do you want the
change to happen?" "When
it gets to the cash register."
"What do you want the change to be?" --"Want him to turn black. "So you want his costume to change?" So Rebecca writes:
Costume (Type: letters)
COMMENT When bill
hits the CR he will turn black
"Now, click on the eyeball,
what do we want to have happen, what do we want him to notice?" --"When heÕs hitting, that he is
turning black." Like most children,
Rebecca gets the action first.
Looking at the sentence constructor for the Costume agent, Rebecca and
her teacher read the phrase "Value equal to Value". The Costume agent is a letters type agent. Rebecca slides the mouse down to
the middle of the constructor menu where she expects a selection is to be that
she wants, but she doesn't see it, as what she is looking for is not in the
sentence constructor menu for the letters type agent. She hovers over "Value equal to
Value". Mrs. Barclay concurs,
and then works with Rebecca to fill in the first value with a player and then
the player I call playername. When
they get this far Mrs. Barclay reiterates that they are looking for is to
achieve a sentence "DollarBill overlapping the cash register", then
remembering how Playground works, she inverts it and says: "..or we could
pretend cash register is overlapping me". Reading the scripting sentence as
they have constructed it so far "Is the player I call playeragent",
Mrs. Barclay tells Rebecca "Look at cash register and it has money in
it". Rebecca reports that the
Bill also has money in it.
Mrs. Barclay exclaimed that money
could not be the characteristic of both players, as it wonÕt know to look at
self or the other. This need not be
a concern, as the Playfield will work just fine even if the word money is used
in both players. Rebecca
deleted the Money Agent from her $100 bill player, because she said that one
didn't have any script in it. Of
course, this agent was the one that the other Money agent in the cash register
was using as the characteristic of bills.
Suddenly seeing no bills, the Cash Register's Width stopped getting
larger when the Bill overlapped.
Although this caused Rebecca considerable consternation and unnerved
her, she saw no relationship between deleting the Money agent and the failure
of her work.
Unlike deleting a critical dependent
variable on a spreadsheet like Excel, where all of the values dependent on the
removed one would instantly turn into #VALUE#, the user does not experience an
obvious feedback. This is because
Rebecca is working with the playfield frozen, not running. When moving to the Scriptor the
Playfield will be automatically halted in place as you are editing so as not to
introduce asynchronous problems.
When you enter the value the Playfield will begin running again, and
mistakes will be obvious.
While in Excel the bad values are reported right in your face where you
are focused on your work, but in Playground 3.5 they occur in the values pane at
the extreme periphery of your attention. I preferred the closer association
of values to script we enjoyed in Playground 3.0.
Mrs. Barclay did catch on to what
had happened, but rather than suggesting to replace the Money agent, she
suggested changing the name of the characteristic looked for. This meant they had to make changes now
in two places, just to get back to what had worked at the beginning of this
work session. Leaving this aside
for the moment, they turned to the original project of getting the Bill to
change its costume when it overlapped the cash register.
A Bank agent was created to locate
Cash Registers. As the job of
this agent is to ÒNotice Cash RegistersÓ, Rebecca and her teacher assumed that
the necessary script needed to go in the Notice pane. This is a common problem. No matter how much explaining we do, the
idea of Noticing makes no sense to people if cannot be applied to the thing we
notice, which is things -- in this case other players, not booleans. Naturally, they did not find the
scripting sentence they wanted in the eyeball pane. Repeating to themselves over and
over ÒEvery Player with Agent MoneyÓ, they tried to replicate it as closely as
possible, using the menu options available. First they picked Value equal to Value,
and filled in the first Value with Group, and then The Group I call
Groupagent. At this point
they realized they had dug themselves into a hole, and called for help.
An Apple staff assisting in the
classroom, Gloria Pearson, asked them if ÒIf he finds every player with money
is that all he is supposed to do, one thing all the time? They answer yes, so she deletes
the script from the eyeball and moves them down to the cat pane. Immediately they are delighted to see
the menu that they wanted and the agent is quickly completed. The important question that Gloria
has given them to determine whether to use the cat pane or the eyeball pane has
been utterly lost on them.
Rebecca and Mrs. Barclay had assumed that if they wanted something to be
noticed, then it ought to go in the notice pane, our eye or "if"
statement. It makes no
sense why it should go in the "Do" pane, just because we are setting
a value to another player in the do pane. We have talked at length
about the possibility of putting a sentence in the notice in such situations:
"Notice playerX", then in the "Do": "set value to
playerX", or set value "it", to what you notice.
Returning to Rebecca and Mrs.
Barclay, this is unfortunately hardly the end of their difficulties, for now
they have to script Costume to recognize the overlapping of the Cash Register
as the cue to change its costume.
Both Rebecca and Mrs. Barclay cannot find the phrase they were looking
for in the menus. The menu which
appears first is the one with Value equal to Value. Mrs. Barclay wanted to say ÒWhen dollar
bill overlaps cash registerÓ.
Rebecca was still using the words Òhits the cash registerÓ. Either way, no useful choice
with ÒoverlapÓ in it is in sight, you have to dig down another menu. ÒHereÕs where we want it to overlap, how
can we get it to overlap?Ó Finally
they were both ready to give up, and Mrs. Barclay suggested an alternative
solution to avoid the entire mess by returning to the good old one step fall
back of moving to a coordinate location.
Mrs. Barclay knew Rebecca had almost
run out of steam, and wanted to restore her studentÕs sense of accomplishment
and control. She had Rebecca
run the playfield, and freeze it when the condition of overlap was
accomplished, open the scriptor, and examine the value of Left Agent. Rebecca reported Ò460Ó. ÒYour dollar bill needs to know when it
has reached the right place, and one of the ways you can tell it is by the
number of pixels. So ÒIf my Left is
greater than 460, change costumeÓ.
Value greater than Value is quickly available as the 4th choice on the
first menu, and the two Values are filled in by typing my Left, and 460.
Despite the big victory of getting
the dollar bill to change costume, now when it reached the 'Left', or X-coordinate
of 460, Rebecca was crestfallen that her Cash Register had stopped
working. ÒThe Cash Register is
supposed to get bigger like it always does!Ó. Opening up Cash Register and
reviewing the script for Width: ÒDoes the group I call money overlap meÓ, it
seemed clear to both student and teacher that Width was not noticing
Money. Mrs. Barclay recalled that
they had cut the agent money out of the 100 dollar bill. With a bit of renewed enthusiasm,
Rebecca exclaimed that the agent Bank was now available in the dollar bill, and
therefore Money could now be replaced with Bank like this:
Width (Type: number)
IF I NOTICE:
does the group I call bank
overlap me
THEN: ((my
Width) + 20)
OTHERWISE:
40
Of course, this does not work,
because there is no group called Bank, and the Bank agent that does exist is
not a group, it is a characteristic of another player. Again, this is a repeat of the
earlier confusion about the group Money and the characteristic Money. This
distinction may seem obvious when distanced from a working session like this,
but it is not obvious to Playground's users, it is hidden information. When the playfield runs, they will get
an error message which says there is no group called bank, and this will
confuse them further if they should happen to notice the error message
pane. The error message is
rather meaningless because in their heads, they have parsed the phrase to mean,
Òthe group with the characteristic bankÓ.
This infuriates a user who knows perfectly well that they put the characteristic
bank in the other players, and therefore a group with that characteristic does
in fact exist. The reason
their player isnÕt finding it is a mystery.
There are several reasons they are
getting derailed. One is the lack
of a dependency trace such that they could find out where the value money
actually originates from. They
think it refers to the old money agent they removed from the 100 dollar bill,
when in fact it does not and never did.
The group called money is one of their own agents. Why can't they see that it is one of
their own agents? Because it is a
little thing up in the corner, all the script is not open to them. The layout does not show cascading
dependencies as a single unit. There is no comparison to a spreadsheet sum
following obviously from a series of cells just above it.
Rebecca is very dejected that her
playfield still doesnÕt run properly, and pounds the table with
frustration. Her teacher has
her open up the $100 Bill one more time to double check that there is in fact
an agent Òthe group I call bankÓ. Interestingly she uses the entire phrase Òthe
group I call bankÓ, which I think emphasizes that having all those extra words
there for clarity is useless. Under
the pressure of the userÕs desire, the phrase is compressed and transformed
into what the user wants it to be, rather than what the words strictly
mean. They stare at agent Bank
hopelessly, there it is, plain as day, obviously a member of the group with the
characteristic bank.
Staring at the agent Bank had a
useful side effect. Bank just
happens to be a scripted agent collecting every player who has an agent called
Money. Rebecca had not made
Bank as a special characteristic, she had merely expediently remembered that
she could make use of Bank.
As they stared at Bank, a group agent, and read ÒEvery player who has an
agent named MoneyÓ, they may have been reminded of the matter of Group
agents. At any rate,
returning back to the recalcitrant Cash Register, Mrs. Barclay suggested that
they give up trying to debug why Width doesnÕt work, and make a new agent to
look for the group bank. They name
this new agent: and going to
the cat pane, are stumped again by the weird and unexpected menu with all those
Value equal to Value things on it.
But this time Mrs Barclay has an idea ÒWe need to change true/false type
agent and make it a group type agentÓ. Voila, the right menu, with that
perfectly matching phrase that they wanted ÒEvery player in GROUP who has an agent AGENTNAMEÓ. They know how to fill this in, the first
Group is always, without a second thought, filled in with the word Others from
the menu. The second calls up a
wonderful list of all the available agentnames, and there it is, Bank, right
there on the list. Oh happy day, it
executes, and it finds the Cash Register.
There is a moment of jubilee, until they run the playfield, to discover
sadly there is no improvement.
Up until now, both Rebecca and Mrs.
Barclay have worked steadily and patiently without giving up, and without
feeling at a loss for things to try.
Mrs. Barclay has Rebecca open up the Width agent one more time, it lies
just below the new Cash Register agent so that you might think it would just
scream at them that the two agents who are supposed to be working together are
not. But again, there is nothing on
the computer screen that reinforces the tie or more exactly the lack of a tie,
between these two. In the
value panes, it is quite evident that the player has a good value for the agent
Cash Register, which has found Cash Register. If the Player has found it already, why
canÕt Width make use of it? Or what
is wrong with Width, since the script in itÕs notice pane uses almost the same
language as the working Cash Register agent. ÒThe Ò ... Mrs. Barclay hovered , considering
whether to rescript the aberrant notice pane of the Width agent, which is where
the problem is, but "No", she sighs, "I think that is all
right".
Another curious and sad result of
having so many things invisible to users is that there is in fact already
script in an agent of $100 Bill, this is the Money agent, the one which used to
find ÒEvery player with agent moneyÓ before we deleted Money from the Cash
Register. At no time during this
session was the old working Money agent opened up. Of course, it no longer did work, but it
is here that a simple replacement of the word ÒBankÓ would have changed the
course of history. If, when
Rebecca had first tried to repair her Width agent by replacing Òthe group I
call MoneyÓ with Òthe group I call BankÓ, the system had coughed, and said
Òuh-hum, why do you want to replace a perfectly good group agent Money with a
horridly bad nonexistent Ògroup agent BankÓ? The system might have gone on to open up
the script panes of the group-agent Money.
This would have revealed the real identity of the Money agent, which the
user had mistaken. It would
put in front of the user the actual lines of script they had intended to
correct. Once this agent is open,
it might be nice if the system
highlighted the error in ÒEvery player in others who has an agent named
MoneyÓ -- this is that the word Money in this sentence is indeed meaningless,
because there are no other players on the playfield who have the agent
money. The user actually knows
this, and in fact is searching for this very thing in order to rectify it, but
had been offset only one dependent value away.
Rebecca and Mrs. Barclay had finally
reached an impasse, and sought additional help from another Apple staff
assistant. This being a
different staff person than had helped them before, and seeing two agents in
Cash Register that were collecting players, corrected the playfield as follows:
100 Dollar Bill Hundreddollars (Type: trueFalse) |
CASH REGISTER |
Bank (Type: group) COMMENT Find
every player with Money ALWAYS:
every player in Others with agent Money |
Money (Type: group) COMMENT
Finds all of the one hundred dollar
bills ALWAYS: every player in Others with agent bank |
Left (Type: number) IF
I NOTICE: (is (my Left) greater than 606) THEN: 37 OTHERWISE:
((my Left) + 9) [Left is the agent that got changed to
notice coordinates rather than overlap with the Register] |
Width (Type: number) IF
I NOTICE: does the group I call money overlap me THEN: ((my Width) + 20) OTHERWISE: 40 [Width inotices overlap with the Dollar
Bill -- exactly the solution that was wanted for Left & Costume in the
Dollar Bill player, which got changed to notice coordinates ] |
Costume (Type: letters) COMMENT
When bill hits the CR he will turn
black IF
I NOTICE: (is my Left greater
than 461) THEN:
'blackbox' OTHERWISE: 'graybox' [Costume agent also got changed to
notice coordinates rather than overlap with the Register] |
CASHREGISTER (Type: group) ALWAYS:
every player in Others with agent Bank [This agent has no function any longer] |
Wallet
(this player has no script
at all)
Aaron Schoonhoven, another third
grader, picked a tricky object to realize as a costume, a magnifying glass, but
he had a good idea about how he would do it with a circle of cardboard, covered
with tin foil, and he would sandwich his body between two pieces of saran
wrap. To avoid tripping over
the magnifying glass handle, he arranged that rakishly to the side. He looked great.
His poem:
MAGNIFYING GLASS
Handle
as black as my labrador,
Rim as silver
as tin foil,
Glass as
clear as a winter sky.
Good
at finding things like a detective,
Quiet as a
mouse,
Sits on a
shelf even better than dust.
Feelings
of a rock,
Solid and
sturdy.
Sees
everything big,
An ant the
size of a person,
A person the
size of a two story building.
Hears
as well as a fly.
Afraid
of getting dropped.
by Aaron Schoonhoven Date 1-9-91
Aaron was one of the children who
were involved in experimental classes to do some additional character
development. Jill Wright, a
professional storyteller who has been a specialist at The Open School for some
years has devoted her energies and attention to the problem of bring Playground
to life. Last year she had
conducted workshops for Playground on "the Magic Circle", which
addressed this problem of children not understanding the two actions in an
if/then/else. In that exercise, she
had drawn a circle on the floor, and asked the children to change their
character when they were in the circle.
This year, she asked children to work alone and then in pairs to develop
the attributes of their objects as characters. We would hope that Jill's ministrations
to the taint of the "TV Plot" would encourage more interesting
characters, springing directly from the experiences of the simple little
objects. However, for whatever
reason, perhaps we Jill too little and too late, her effect on students like
Aaron was negligible.
Aaron
S. magnifying glass 6 different kinds of players |
scene 1: clue 1 |
By the time Aaron got to developing
Playfield story ideas, he could think only of the symbolic role of the
magnifying glass in old detective movies.
When queried about this, he had no strong reasons, but it seemed to
match the way Playground had been demonstrated to him, as a player moving from
one destination to another. Looking
back at his earlier poem, any of his observations might have been translated
into a Playfield, such as making all other objects twice the size. This would have been more interesting an
exercise. Instead, Aaron's
Playfield is disturbing in it's lack of richness which a true detective story
ought to have. It cannot possibly
have been particularly captivating a project for Aaron, and he certainly never
seemed very involved in it.
Nonetheless, Aaron finished his
playfield, and it worked, and he later when on to use the same approach in his
next project working with a partner.
His approach is different than Rebecca Jannol's, it is another style of
Playfield design modeled by his teachers.
This was a popular approach which third graders seem to manage pretty
well, which utilizes a clock. Each
of four instructions to move to a new destination are predicated on a different
value of clock.
STORYTELLER
: AARON Text (Type: letters)
ALWAYS:
'My magnifying
glass loves to
look for clues.
He travels from
clue to clue
solving mystrys.
He is good at
solving them.' |
scene 2: clue 2 |
mr
magnifying glass |
|
clock (Type: number) COMMENT
this player counts the ticks IF
I NOTICE: (is (my clock) greater than 100) THEN: 1 OTHERWISE:
((my clock) + 1) |
|
clues (Type: group) COMMENT This
payer finds all of the stops ALWAYS: (every player in Others with agent
stop) |
|
NEXTSTOP (Type: command) COMMENT This agent reads the clock so it knows
were to go IF
I NOTICE: (is (my clock) less
than 20) THEN:
move 15 toward the player in the group I call clues whose name = 'graveyard' IF
I NOTICE: (is (my clock) less
than 40) THEN: move 15 toward the player in the
group I call clues whose name = liuquer store' IF
I NOTICE: (is (my clock) less than 60) THEN:
move 15 toward the player in the group I call clues whose name = 'supper market' IF
I NOTICE: (is (my clock) less
than 80) THEN:
move 15 toward the player in the group I call clues whose name = 'mystry
house' |
scene 3: clue 3 at the liuquer store scene 4: clue 4 mystry solved at the mystry house |
Traveler (Type: trueFalse) |
|
graveyard |
liuquer store |
Text (Type: letters) IF I NOTICE: ((is ( (the clock of the
player in others whose Name = 'mr magnifying glass')) greater than 15)) &
((is (the clock of the player in others whose NAME = 'mr magnifying glass')
less than 20)) THEN: 'clue1' OTHERWISE: '' |
Text (Type: letters) IF
I NOTICE: ((is ( (the clock of the player in others whose Name = 'mr
magnifying glass')) greater than
20)) & ((is (the clock of the player in others whose NAME = 'mr magnifying glass')
less than 25)) THEN:
'clue2' OTHERWISE:
'' |
stop (Type: trueFalse) COMMENT
The type of stop this guy is ALWAYS:
'fun |
stop (Type: trueFalse) COMMENT
The type of stop this guy is ALWAYS:
'fun ' |
supper market |
mystry house |
Text (Type: letters) IF
I NOTICE:((is ( (the clock of the player in others whose Name = 'mr
magnifying glass')) greater
than 45)) & ((is (the clock of the player in others whose NAME = 'mr
magnifying glass') less than 50)) THEN:'clue3' OTHERWISE: '' |
Text (Type: letters) IF
I NOTICE:((is ( (the clock of the player in others whose Name = 'mr
magnifying glass')) greater than 70)) & ((is (the clock of the player in
others whose NAME = 'mr magnifying glass') less than 80)) THEN:
'mystry solved' OTHERWISE: '' |
stop (Type: trueFalse) COMMENT
The type of stop this guy is ALWAYS:
'fun |
stop (Type: trueFalse) COMMENT
The type of stop this guy is ALWAYS:
'fun |
Players living in
other Playfields
The most exciting efforts in Yellow
Cluster happened in January, after individual Object playfields had been
completed. The Objects were
combined in the same playfield, against different kinds of story environments,
which the teachers called "Settings". Though we all feared this would be a
difficult task, and it was, it was well worth doing because it is exactly what
we all hope to do in the future.
We all learned a great deal from watching how this went.
Children worked with a partner, both
opened their two individual playfields, and a new "Setting" playfield
which had been prepared by their teacher. The wonderful things about this were
that the children were forced to be imaginative about making up some things for
two unlikely objects to do together. Having two children working together
added new energy and resources to coping with Playground.
The things that didn't work had to
do with the children losing the ability to recognize their own scripts within
their own Object characters. They
opened the playfields and started reading the teacher's scripts, and they
didn't remember having done them.
This confused them no ends, to the extent that they couldn't remember
any longer what they had done. This
just underscores unreadableness of Playground, which is sad, as we had hoped
that reading it after the fact would be one of the benefits of having gone to
the torture of generating those english sentences to begin with. However, Playground proved as unreadable
as any other programming language, to children.
Adventure Story
Aaron Schoonhoven and Greg Levine,
both third graders, worked together on an adventure game that expanded on both
of their interests. Aaron had a
magnifying glass which he had transformed in his head into a detective (which
we saw in the example above).
Greg Levine had a Dick Tracy hat.
While they continued to use the Playfield model of a clock that
triggered the actions of movement from one destination to another, they got a
lot more elaborate than in their individual playfields to have different kinds
of changes happening when their Objects reached destinations or interacted with
each other. They even tried a crude
animation effect for a flying gull using two different bitmap costumes.
storyteller |
|
Text
(Type: letters) ALWAYS:
'Aaron and Greg will go
bird watching and then
go back home.
The gull picks up
Greg and drops him
in the water.
Then Greg swims to shore.' |
|
Greg |
gull |
storyteller (Type: player) COMMENT
Aaron and Greg will go bird watching
and then go back home. The gull picks up Greg and drops him in the
water. Then Greg swims to shore. |
AboutMe (Type: command) COMMENT The
gull flys around but heads to the tree if the tide is in |
clock (Type: number) IF
I NOTICE: (is (my clock) greater
than 60) THEN: 1 OTHERWISE:
my clock + 1 |
fly (Type: command) COMMENT
All player agents look for players by
name as this is the convention
used during the class experiment IF
I NOTICE: (is (the clock of the player in Others whose Name = 'greg') greater
than 15) THEN:
move (5 ) toward the player in Others whose Name = 'greg' OTHERWISE: advance a random integer between 10
and 15 bouncing off edge |
waterfinder (Type: player) ALWAYS:
the player in Others whose Name = 'wave' |
land (Type: player) ALWAYS: the player in others whose name
= 'island' |
leaves (Type: player) COMMENT this
agent will find tree
ALWAYS:
the player in Others whose Name = 'tree' |
Palm (Type: player) COMMENT
All player agents look for players by
name as this is the convention
used during the class experiment ALWAYS:
the player in others whose name = 'tree' |
overlapper (Type: trueFalse) IF
I NOTICE: does the player in Others whose Name = 'gull' overlap me THEN: true OTHERWISE:
false |
water (Type: player) ALWAYS:
the player in others whose name = 'wave' |
Move Agent missing
here! -- This player does move |
Heading (Type: number) ALWAYS: a random integer between 270 and 450
"funny code but keeps it in the upper half of screen" |
home |
Costume (Type: letters) COMMENT bird1 and bird2 are bit maps - they also
live in two players at bottom
of screen. Flying motion
is achieved by switching costumes IF
I NOTICE: is (my age) odd THEN:'bird1' OTHERWISE:'bird2' |
Food (Type: trueFalse) |
|
tree |
Aaron |
leaves (Type: group) |
storyteller (Type: number) |
OVERLAPER (Type: trueFalse) IF
I NOTICE: does the player in
Others whose Name = 'aaron' overlap me THEN:
true OTHERWISE:
false |
Left (Type: number) IF
I NOTICE:(is (my Left) less than 107) THEN: 275 OTHERWISE:((my
Left) - 15) |
Height (Type: number) IF
I NOTICE:(is my OVERLAPER equal to true) THEN:
((my Height) + 5) IF
I NOTICE: (is (my Height) greater than 300) |
|
bigger (Type: number) |
|
island |
wave |
AboutMe (Type: command) COMMENT
I am just an island. I change costume
and width when the tide is in |
AboutMe (Type: command) COMMENT I move back and forth across the
screen. If you change the size of the screen change my step so I can
use more space |
water (Type: player) ALWAYS: the player in others whose name =
'wave' |
land (Type: player) ALWAYS: the player in others whose name = 'island' |
tide (Type: trueFalse) IF
I NOTICE:does the player I call water overlap me THEN: true OTHERWISE: false |
shore (Type: command) IF
I NOTICE: does the player I call land overlap me THEN:
play sound 'drip |
Width (Type: number) IF
I NOTICE: (is (my tide) equal to true) THEN: my width - 1 IF
I NOTICE: (is my width less than
200) THEN:
my width + 2 |
Height (Type: number) IF
I NOTICE: (is my height greater than 15) THEN:
my height + a random integer between -10 and 10 |
Costume (Type: letters) IF
I NOTICE: is my tide equal to
true THEN:
'grayoval' OTHERWISE: 'island' |
Bottom (Type: number) COMMENT I
want to stay at same basic location as the bottom of the island ALWAYS:
(the Bottom of the player i call land) - 10 |
|
step (Type: number) IF
I NOTICE: (is my left greater than 400) THEN:
-10 IF
I NOTICE: (is my left less than
20) THEN: 10 |
other examples of playfields with more than one object
Sakinah Madyun (fourth grade) was a
Kodak Camera who teamed up with (student 58) in a stadium setting. Saggy Cienfuegos (fourth grade) was a
Battery who teamed up with who, in the Photo Studio and Art Room.
Reflections, some
things learned
insights
for a new sentence constructor
Inasmuchas this version was an
experimental prototype, the sentence constructor was implemented simply, as a
series of nested menus. There was
minimal help for users and it was painful to learn. Nonetheless, it was learnable and
usable, and raised new thoughts for user interfaces. It reminded teachers of the Òfill in the
blankÓ story generators that are so familiar to the classroom. However, unlike the nonsense words in
Òfill in the blanksÓ, teachers protest that PlaygroundÕs language is not so
obvious for kids or teachers what part of speech it is. Another disconcerting problem is that
the very long Playground phrases destroy any sense of the structure of the
"fill in the blanks" template.
The long phrases that become the final script are many words longer than
the original template items which are being replaced. Usually this results in text wrapping
around to two lines as well.
Coupled with No"Undo", the user fails to gain any sense at all
of the magic and power of replacing one function for another, or of alternative
ways of specifying groups and players. No Undo is a Macintosh blasphemy
which we blame on the inadequacies of Playground's natural language parser[3], which needs to be rewritten to reflect our new uses. I believe that the sentence constructor
demonstrated great promise, despite its several severe problems in
implementation. I hope that we do
not abandon the idea, but rather, reimplement it in such a way as to strengthen
the user's perception of what a sentence constructor can deliver.
teachers
would like to customize the sentence constructor for each lesson
In addition to these implementation
problems, a future "sentence constructor" must be componentized in
such a way that the teacher can limit the menu entries to only the ones she
intends to use for a particular lesson.
The availability of many confusing alternatives just derailed children. In practice however it was not
possible to customize the constructor menus as much as one might imagine, given
the trivial the matter of leaving off menu items We have experienced similar
logistical nightmares with other applications, like Canvas 3.0, which has the
delightful feature of 60 preferences which can easily be subtracted or added by
including or deleting them from the preferences folder. In practice this means that for each of
these 60 opportunities which a teacher may want to introduce one week at a time,
some poor human has to manually copy to each hard drive the new version, reboot
the machine and check it. This is
hours and hours of nonsensical labor.
Jack Palevich, another Apple engineer, has provided us with a customized
program we call Gofer, which has been a tremendous help, but is easily derailed
by children's' hacking the computer defaults, and moreover is not usable by
mere mortals. We continue to try
and work around this limitation, but it sure would be nice if some utilities
for updating were part of our next experiment.
Summary
Yellow Cluster gave us an
informative experience about computer programming in the context of third and
fourth grade projects. The teachers
were very creative in bringing Playground's often obscure technical skills
within the experience and imaginations of their students. I sincerely hope that we can benefit
from the lessons learned here. We
have always felt we were pushing the limits of what third and fourth graders can
do, not only in our own experience, but from many years of experience of others
who have endeavored to teach computer programming to young children. What we have seen suggests that it
is possible. All the children stuck
with it, and seemed to be on the edge of mastery.
We got very excited about the final
projects combining players created by a group of children with a
"setting" created by the teacher. This is a great idea for how we
intended Playground to be used.
It is remarkable that almost everyone in the class was able to complete
both individual and group playfields and felt some measure of success and
ownership. And, some
were quite clever or humorous.
Undoubtedly the activity benefited from being an extension of the Object
Costumes part of the City Building curriculum, which is very maturely developed
in this classroom. Also, it
benefits from the teachers' creation of a series of poem and drawing activities
around the book "What my Pickle Can't Do", which promotes
thinking of quick, joke-like little stories.
To achieve our goals and make this
age child self sufficient -- so we can see more creativity and less
"mathy" drudgery -- we need to be particularly attentive to our user
interface, to take every opportunity to reinforce the clarity of our design
principles, and to remove every unnecessary distraction. We should also take heed to the
message from elementary school teachers, that children need to try and try and
to make mistakes. They cannot
achieve perfect grammar or perfect spelling and to insist on perfect renditions
of any adult model is simply not possible without accepting partial
imitations. We have to be more
tolerant of imperfection, as well as working to develop better supports for
developing and clarifying half-realized ideas. These crutches include having a more
satisfactory implementation for the typing of the story texts in place on the
playfield screen, expanding on the comment panes and putting up comments as
player labels. We should
consider introducing interactive dialog sequences to assist users to flesh out
a multiple step scripting efforts such as involving group and player valued
agents, as well as conditions and actions.
Adventurous
As red violet as the sunset,
Blue violet like
the evening sky
As gray as aluminum,
Green like an olive
Plays music like a
jukebox,
Learns new moves like a pro
And runs like a bear,
Alert as a watch dog
Happy like a prince whoÕs just been crowned
As fresh as pure orange juice,
Disappointed like a frog
Who hasnÕt caught a fly,
He sees batteries, circuits, microchips and gadgets.
He can hear things we can like barks music and talking,
And stuff we canÕt like dog whistles and talking from
inside buildings,
Tastes circuits, microchips and electricity.
The circuits taste chewy like Twizlers,
Microchips taste fuzzy like static
And electricity tastes like cinnamon as in Red Hots.
by,
Mark Lezama
[1] children's book "Everything
my pickle can't do" inspired this exercise and others about thinking
about my object.
[2]
Deneba software Canvas 2.0 is a drawing program that combines geometric
primitives and bitmaps in a convenient way. It is used throughout all grades at the
Open School in lieu of MacDraw and MacPaint.
[3] which was researched and hurried
together by Playground's previous programmer, Jay Fenton, to meet the
exigencies of delivering Playground 3.0 to use in the classroom.