DLL Program Assistant
Last fall, when I began teaching DLL classes at Washington Heights Expeditionary Learning School (WHEELS) and PS/IS 109 in East Flatbush, my goal was twofold: teach students to code using Scratch – a free, online, browser-based coding platform – and then guide them in using these skills to create games incorporating a social issue with global relevance. At the outset, I had a set of ideas and a framework in mind regarding how I would accomplish this, but as the semester I found that my plans required constant adaptation. Education is a two-way street: in the last year I have learned as much about STEM pedagogy as I have taught my students.
Given the after-school, rather than in-school, nature of the programs, I couldn’t rely on extrinsic motivation – such as grades – to compel students towards a finished product. Working with the DLL team and facilitators at each site, we quickly learned that the Golden Rule of teaching Scratch was to keep things as engaging as possible, regularly pulling back from the relatively-dry computer work to teach computational thinking with a more hands-on perspective. The more engaging and relevant to our young people, we figured, the more intrinsic motivation we could leverage to connect them with coding.
As an introduction to game design theory, students examined tic-tac-toe using the “five elements of game design”: goal, rules, space, mechanics (essentially “verbs” relating to the game), and components (“nouns” involved in the game). They played a round and changed various elements, such as adding a fourth column to the game space or allowing players to take more than one turn at a time. Finally, they played again, noting what worked and what didn’t and how it affected the player experience. Thus, the introduction to the “play-test-change” cycle of game design.
Of course, Scratch games are a bit more nuanced than tic-tac-toe. Since they take place on a x/y-axis coordinate plane, we next explored movement from a video game character’s point of view. We found a corner of hallway in each school and arranged a maze on the floor with masking tape. One blindfolded student acted as the player and their classmates become the game’s “controller,” shouting directions for up/down y-axis movement and left/right x-axis movement in increments of single steps.
After the physical maze, we put students in a virtual maze in Scratch. Rather than playing with the keyboard, however, we used Makey Makey controllers
, which plug into the computer and function only if students link hands and form an electrical circuit:
This resulted in a lesson that not only continued the topic of movement in a Scratch game, but also incorporated elements of STEM and teamwork as well.
Following the Makey Makey-based activities, we began a two-month series using similar maze games to teach about specific concepts in Scratch. For each lesson, I created simple maze games with slight differences, essentially controlling for all the variables except for the one I wanted students to focus on. For example, one week we would play a maze game where students had to assemble their own movement scripts. The next week, students coded the walls of the maze to make them “solid” and impassable to the game’s character. Next, students added enemies to the maze, incorporating their own enemy designs and movement. After that, they added new levels. Finally, we introduced the coding concept of “variables” and students learned how to program time limits and health into their mazes.
By this point, it was clear that students needed more relatable games to grab their attention and reinvigorate their interest in Scratch. It didn’t take much sleuthing to uncover several topics about which middle schoolers at WHEELS and 109 obsess: basketball and hairline jokes. Thus, I got to work making two silly games to serve as pedagogical vehicles.
The first, called “Free Throw,” allowed us to continue teaching about variables. Students learned to change variables such as jump height and points per basket. One enterprising student even found a way to hack the game to give “infinite” points for a single basket. Eat your heart out, Steph Curry:
The second game, “Fix That Hairline
,” requires one to click a constantly-disappearing hair clipper to even up a deteriorating hairline. Here students learned about how variables in Scratch can be linked to on-screen images and how to record and display time in games.
With introductions to the major coding concepts of Scratch out of the way, we began brainstorming ideas for the final projects. True to the Golden Rule, even this process was highly interactive and designed specifically to keep young people engaged. In groups, students were given a few sessions to develop their ideas for games with social issues and how they would utilize the five elements of game design. Then we did a round of mini-presentations to the class, in which students’ proposed games were graded by their peers with criteria such as “fun,” “playability,” and “use of social message.” The grades translated into jumping jacks: low scores meant that groups had to do up to 20 jumping jacks as a penance in front of the class; high scores and well-developed ideas resulted in few or none jumping jacks.
After students were jumping jack-convicted by a jury of their peers, the time had come to buckle down and learn to code their games. This was the part I had been most anxious about. It was relatively easy to construct fun activities around Scratch concepts, but now we faced with the prospect of sitting students in front of a computer and having them begin the nitty-gritty coding. As the school year was by this point winding down, our young people were in “summer mode,” and not inclined to debug lines of codes and assemble nests of conditional loops and variables. Therefore, we took another atypical approach to teaching: in a sort of “reverse engineering,” students recreated their games’ scripts block-by-block using physical materials such as puzzle pieces and Play-Doh.
Several weeks of this approach brings us to the present. It’s June, and students are preparing to present their Scratch games at Global Kids showcases at their schools. Some students will also be attending and presenting at Emoti-Con
! Therefore, we are currently preparing them to articulate both their games…
…and the behind-the-scenes coding that went into them. Of course, in keeping with our Golden Rule, even the rehearsing the explanations of the coding process is active and hands-on, with students play-acting the meaning of lines of code, block by block:
After a year of preparations, we expect great things from these young people! Stay tuned for further updates on Emoti-Con!