I am obsessed with Scratch
I had a dream about Scratch the other night.
I think that’s because I just spent three weeks teaching Scratch and nothing but Scratch. The first two weeks, I had one class with six students in grades four through seven. The third week, I was still teaching that class, plus I added two more middle school-age classes, co-taught with Lorri. It was amazing, even though I was pretty exhausted by Friday, exhausted enough to plop my three-year-old in front of a Dora marathon so that I could lie on the couch and decompress.
The great thing about this experience was that I learned along with the kids. During the first week, we went through pre-made lessons together, taken mostly from the Scratch cards but also from other educators’ online lessons (I’m happy to share if you want). Just like my students, I at first struggled with understanding how Scratch works. You have to fit the pieces together? What are these crazy variables? WHY ISN’T THIS WORKING? (Hint: did you leave out your “forever” loop?)
So we Googled things together. Need help making a gun? Google it. Or, better yet, find a game on Scratch that has the element you’re looking for, download the code, and remix it. So not only were the students learning programming, they were practicing smart information gathering and reworking others’ creations, all without even thinking about the fact that they were learning. Pretty awesome.
The second two weeks were devoted to building games and interactive stories. A few of my students aimed too high at the beginning. They wanted to make Mario-style games with scrolling backgrounds and lasers that shot at the boss and health points. Two boys insisted on this, but one, at the end, made a catching game that was a thousand times better than his scrolling game, and he knew it. The students who had the most success took ideas they’d learned about through trying and then adapted them. We talked about game rules, objectives, making games challenging, and what the point was of playing games.
After some of them finished their games, they moved onto interactive stories. So amazing! One of the girls used what my colleague Chris calls “spaghetti code” – stringing a bunch of code together in a really inelegant way, like broadcasting back and forth and back and forth so that she had dozens of small blocks of code crowded into each sprite’s stage. But it worked!
Another great point that Chris made, when I asked him if too much help from the teachers was detrimental to the learning process, was that no matter what, if the students are watching you or doing it themselves, they’re thinking about programming language in a new way – they’re figuring out that blocks need to fit together, that there’s cause and effect, and that it has to make logical sense. With the middle school Scratch classes, we acted out a command. I asked the students how they would tell a friend to walk to the printer, and they all said “walk to the printer.” Now, you can’t tell a hard drive that. It’s not a human being; it’s incredibly powerful, but not a person. So how do you break down that command? “Turn 90 degrees to the left. Take ten steps. Stop.”
I have to say, of all the things I’ve taught, Scratch was probably the most satisfying, both for myself and my students. The feeling I got when a kid turned to me and said “It works!” with a huge grin on her face was pure joy. It can be extremely frustrating, too, but the process of looking at faulty code and making it work makes you feel very accomplished.
Want to check out my students’ work? Here are the games and stories they created in my three-week class. Some of them are unfinished. I am so proud of all of them.