Scratch project: Spring is in the air!
After experiencing a bad day of dreary weather and painful
health condition, I saw one of the most beautiful days in Bloomington. The air was
so fresh and the sky so blue. “Spring is in the air!” This was how I came up
with the theme of the project. To start with, I downloaded a picture as my
background that resembles the sky I saw with beautiful blooming flowers for my
sprite—a butterfly to play with.
I wanted the butterfly to fly from one flower to the next so
that it could enjoy the nectar. This step was easy. All you need to do is to
drag the butterfly to the place where you want it to stop and use the block
“glide () seconds to x:() y: ()”. The seconds can help you control the
speed with which the butterfly flies to the next flower. Since I wanted it to
enjoy the nectar, I need to let it stay on a flower for a while before it flies
to another. So I used the control block of “wait () seconds” between the
movements blocks. I wish my butterfly to be happy when it flies above the
flowers, so I put a music block on top of all the movements.
After the butterfly finishes eating, she feels like dancing
in the air since the spring is so exhilarating. As a new stage of her activity,
I made it disappear for a while before she shows up in the air. But the following
step was much harder than I thought since I wanted my butterfly to dance in
circles while the music would keep playing while the dancing goes on till it is
manually stopped. The problem I met is the synchronization of the music and the
movement. It was relatively easy to settle the movement issue. I searched on
YouTube and it’s easy to find a tutorial that taught me how to make a sprite
move in circles, as is shown in the picture of the script part. And it’s easy
to make the music nonstop by looping the block of “play sound () until done”.
But I tried various ways to put the two parts together in a linear way, the
program always failed me by showing one function of either playing the music or
having the butterfly dancing in circles. I need to debug it. While I was
searching for a solution, I came across a tutorial that teaches people how to
make multidimensional programs. It suddenly downed on me that I can use this
skill too by adding the circling as another dimension, controlled by another control
block “when this sprite clicked” followed by the loop of the circle movement. It
turned out successful!
This being done, I thought I need to tell the viewers that
the butterfly is ready to dance up in the air. So I made it declare: “Click me
and I’ll dance for you.” I met a small problem here, too. At first I used the
block of “say” so that the speech tag followed my butterfly all the way it
dances in the air. No, this was undesirable. Fortunately, I found that another
block with the time limit of “say () for () seconds” very helpful.
In this project, I also experienced similar excitement as I
did in several previous project, as a result of a successful “conversation with
materials” and the processes of being stuck and unstuck. But the Scatch project
has its own appeals. First, it is very intuitive, just like the way in which we
think and arrange our schedules in sequences. What’s more, the commands we give
to computers are visually represented by “blocks” that can fit into each other
the way real Lego blocks do. Papert (1980) has long ago attached great importance
to the influence of the materials a particular culture provides in determining
the order of children’s development, and he points out: “Like other builders,
children appropriate to their own use materials they find about them, most
saliently the models and metaphors suggested by the surrounding culture (p.19).”
It follows that it would be very friendly for a child who has enormous
experience with Lego building.
This is also a good example of Resnick’s designing principle—design
for designers. Modeling after Lego, the visual language offers players more
tinkering experience as predicted by Resnick too. “We have always been intrigued
and inspired by the way children play and build with Lego bricks. Given a box
full of them, they immediately start tinkering, snapping together a few bricks,
and the emerging structure then gives them new ideas. As they play and build,
plans and goals evolve organically, along with the structures and stories (Resnick
et al., 2009, p.63).” This is exactly true. I came up with the idea of a
butterfly flying from one flower to another to collect the nectar while I was
building these blocks. The more I played with it, the more I was intrigued, and
kept inventing more moves and effects by making it dance in circles following
the music. And I enjoyed the “debugging” process too. If things didn’t show up
the way I had intended, I dismantled the blocks, rearranged and reconstruct
them until the new configuration can pass the test, which was right away.
There is another attraction to me as well. The Scratch group
learners into an interest-driven community, resembling the Samba school described
by Papert (1980), where there is a conglomerate of experts and beginners, where
learning is deliberate and oriented to problem-solving, and where there is “social
cohesion, a sense of belong to the group, and a sense of common purpose (p.178)”.
References:
Papert, S. (1980). Mindstorms:
Children, computers, and powerful ideas. Basic Books.
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N.,
Eastmond, E., Brennan, K., ... & Kafai, Y. (2009). Scratch: programming for
all. Communications of the ACM,
52(11), 60-67.
Comments
Post a Comment