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

Popular Posts