Skip to main content

Post #1 –Programming Languages: Using Scratch

As I sat down to use the MIT program, Scratch, I felt slightly overwhelmed. It wasn’t immediately apparent to me how I would be able to create my own animated project and I was uncertain. My first impression of the website was that it was colorful and had pretty clearly defined sections to aid the user. There are sections where you can see projects created by other users, as well as a section on tutorials, and finally, a section to create. It was clear to me that I would need to spend some time in the tutorials learning where to start.

            I knew I needed to select a starting point, so I clicked on Choose a Sprite to see what my options were. I was happy to see that they had a lot of different figures that could be used in order to create a project or story. I was amused by the dinosaur figure and decided he would be the star of my project. Next, I noticed that there was a button to choose a backdrop, so I selected that and chose a city background. I think I was likely inspired by Jurassic Park but ended up deciding to have a dinosaur in the city looking for something to dine on. Now that I had an idea for the project, I had to do the hard part, execute.

            I was pretty uncertain as to how to begin, so I watched the tutorials that I thought would be pertinent. I found the Create a Story and Animate a Sprite to be the most helpful. Both were helpful in the basic set-up, with regard to how to start the story, switch between backdrops or costumes, and animate your characters. What I thought was missing from the tutorials was an explanation of the various codes to select. Some are self-explanatory, like “move 10 steps”, but there are some others that I think need some explanation. For example, I think most people are familiar with the concept of the x and y axis, but it isn’t clear how it will relate to the project. If you use the code, “set x to __”, is that a starting point for your sprite? Will that set x for the whole project? I decided to handle the uncertainty through trial and error. I broke up what I wanted to do into parts, and animated each part, then joined them together. To start, I wanted my dinosaur to walk up, think about his snack, and then move forward. So I played around with the coding with moving the dinosaur character using “go to x” and then the “think” codes. I realized that I wanted my human figure to interact first, so I learned to time it out, and use show/hide and wait to make the characters appear when I wanted them to. The costume animation was pretty easy to use, the only difficulty having them move in the screen at the right locations. The key to that for me was using the x and y coordinates to determine the locations. My completed project can be found at https://scratch.mit.edu/projects/553311596/.

            The take-away for me of this assignment was to learn how to break down each movement in order to perform the animation. Even something simple like a character talking or changing expression required a costume change. I think it solidified the idea to me that programming is a series of steps, and the sequence is very important. It seems to me that these sites are very high level with regard to animating the projects, but with regard to programming the concepts seem to be similar.

            There is a good deal of similarity when comparing the Scratch program with machine language programming. The inputs are different, character directions as opposed to binary numbers, but both are instructions. It is easier for the brain to process instructions like “_+_” than “11 111 101 110”, but they are both methods of adding figures. Both require a series of commands in a program, but the binary system requires some additional thought as you determine the codes for each command. Python is bit more user friendly than the binary system, because instead of a numerical code it uses a series of instructions and variables in order to run a program. You would still have to learn the language, “print” runs the computation for example, but it seems easier to do for the average person than using the binary numbers for instructions. I prefer a programming system with commands in the English language as opposed to numerical, but I found the participation activities in the programming sections of Chapter 2 (Vahid, 2017) to be fairly straightforward. The only area where I was tripped up was with regard to adding inputs sequentially. In the example of “y” equaling “x+x+x”, I wanted to add all the x values at once instead of in sequence, so that will be something for me to pay attention to in the future.

            It seems that Python is a fairly popular programming method, however I see Java all over the place. Most of my work applications are based on a Java platform, and many of the applications I use personally do as well. It will be interesting to learn more about the various types of programming as the course progresses.

 

 

 

 

 

 

 

 

 

 

 

 


Comments