Mijas is working on an interactive story of a grasshopper. The sprite moves downwards as he runs the script, which has a move block inside the repeat block. He had intended the sprite to move towards the right. The direction of the sprite isn’t the default 90 and it has caused the sprite to move downward. Mijas is unaware of it. He changes blocks - removes set x block and brings the point in direction block. He then gets the sprite to point upwards by putting dir as -11. This makes the grasshopper turn in a clockwise direction. He then rotates the costume to make it look horizontal. He lets out a frustrated sound.
“My grasshopper disappeared!” Mijas says to Saurabh after some time. The x value is -277 and the sprite seems to have gone outside the stage. After some unsuccessful attempts to drag it back inside the stage, Mijas deletes the sprite and gets a new grasshopper from the sprite library. He proceeds to code it with the same blocks he had used earlier.
Most of the students are struggling with drawing the backdrop. Mr. Ramesh had asked them to draw the maze of the game too and this is something they aren’t familiar with much. Mijas, sitting in the front row, draws backdrops in cat sprite itself. He doesn’t seem to realize the difference until pointed out to him.
Saurabh on the next computer duplicates ants but in the same costume 2 times. On the stage it looks like there are 3 ant sprites but actually it’s just 1 sprite.
Irfan is able to make a butterfly sprite flutter at an optimum speed. He tries to add movement to it and has found it challenging. He adds move blocks and after some iterations gets it working. But everytime he runs the program, the butterfly goes beyond the stage. To re-run the program he has to drag the butterfly back to the original position. I ask him if he can make it happen automatically. He figures out that he needs to use the “set x to” block. But places it inside a forever block. He struggled to figure it out despite hints and leading questions.
In the example below, although Chhabi was able to modify a working script from another project to animate a sprite of his choice, he wasn’t able to understand how the script worked. He even seemed unclear about the functions of the individual blocks.
Chhabi had adapted the walking bear project into a project with a dragon sprite. When I talked to him I got to know that he hadn’t understood the functions of the blocks. Chhabi told me that the size block was making the sprite move from one edge of the stage to another. He also thought that the go to block was responsible for making the sprite walk. I asked him to remove the go to block and see what happens. To my surprise, although the change in the output was clearly visible, Chhabi couldn’t point out that the starting position of the sprite was different when the go to blocks was removed.
There were often situations where the students knew what they needed to do but either didn’t know the block to execute that action. There were plenty of such situations. While building his final project, one of the students wanted a sprite to get larger after touching a potion sprite. He had this idea but didn’t execute it because he didn’t know that there were blocks to make it happen. He only knew to change size using the numbers above the sprite section.
One of the struggles was finding a block in a particular category when required.
Mr. Ramesh comes to the back of the class once, sees them doing their work but doesn't say anything. He glances from the distance of about three feet and immediately turns around. He doesn’t come to this part of the class later or interact with the girls. The girls show each other how to change the colors of the dresses. Mr. Ramesh moves around to the other desks but doesn't seem to want to come here.
The class time is almost over. I ask Mijas why he created the rocket project instead of the snake game. “I didn’t get what the teacher said so I made this,” he says.
By Sameer Prasai
Sameer is a researcher & learning resource designer at Karkhana Samuha.