“When am I ever going to use this?” is a refrain heard in a lot of math classes. It’s a question I don’t want my students to ever have to ask. When I can, I try to let them experience first-hand the answer to that question. They spent the last week of the semester doing just that, going from “gamer” to game maker”.
I spent the last week of the semester introducing my students to video game development. I had them work in Scratch, which is a visual, object-oriented programming language developed by MIT. It introduces kids to the idea that code is specific to an object. Because it is visual, a kid can drag-and-drop pieces of code. This allows them to focus on big ideas and not get bogged down in the syntax of a language. It’s a really nice place for kids to start with coding.
Day One: The Basics
On the first day, I introduced kids to the basics. I showed them how to insert a backdrop and select an object. Next, I made the object dance. This entailed showing them how to make the object move, introducing sound (who wants to dance without music?), and a basic loop structure. I also introduced the idea of inserting text into the program with speech or thought bubbles. Then, I set the students loose to try it out themselves.
Day Two: Sensing and Variables
On the second day, I showed kids how to create and use a variable. To start, I demonstrated how to insert sensing blocks (sensing contact with another object or sensing contact with a color). This led to the question of what should happen when that contact happens. It was an easy step for them to realize the value of a variable that can be incremented or decremented (to count coins collected or lives lost). After showing kids how to create a variable, I showed them how to use an operator (=, >, logical and, logical or, etc.) to prompt an action when the variable reaches a certain number. Students spent the rest of the period incorporating this into their program.
Day Three: Level-Up
On the third day, I showed students the final requirements for creating another level. This entailed showing them how to create a second backdrop and how to broadcast a message to trigger the change in backdrops. I also showed them how to make objects hide/show and how to initialize the physical location of an object (so it is in the correct place at the start of each level). Once again, students spent the rest of the period putting the ideas into action in their own programs.
Day Four: Donuts with a Developer
I arranged to have a video game developer as a guest speaker. Cooper Sinai-Yunker of Cracked Glass Video Games talked to my students about the process for developing a video game. After introductions, students played one of his games. Engaging with the game was a great way to engage student interest in what Cooper had to say and he had some important things to share. During his presentation, he emphasized the importance of developing a plan before coding, the importance of balancing reward and challenge, and the importance of testing. He also talked about some of the mistakes he made to help kids see that failure is a natural part of the process. He concluded the session by having kids play the game again.
By the way, Cracked Glass has two video games (Volt Vault and PolyDodge) available for download free on GooglePlay. Check them out. The kids loved them.
Day Five: Let the Games Begin
Students spent the final class of the week exploring. It was an opportunity to try out new techniques of their own choosing. Some of them tried to create gravity. Others played with making objects bounce. As the class period progressed, kids were moving around, trying out each other’s games.
This was a great way to end the semester. Kids were engaged in meaningful learning, making something real. Next semester, they will take this knowledge and create a multi-level video game as a joint project between Gifted Math and Gifted Social Studies. The game will center on content learned in their social studies class.