Last week’s Code Club took a lot of planning and preparation. I’m going to write about it in 2 parts. Here’s part 1.
I introduced one last project for Code Club on Wednesday. I wanted them to learn that Sprites can sense what they are touching, like a color, or the stage’s edge, or another Sprite. Collision detection is a fairly basic element in many computer games and not trivial to code for in many programming languages, in my opinion. Scratch makes it fairly intuitive. I found three different instructional resources that teach the creation of a maze or race game in Scratch.
Code Club World has a Boat Race project in beta form. It is so new, in fact, that when I went looking for a project of this type, it was only available from Code Club (for UK clubs only). Looks like a fun project and I want to try it next time.
In Jeremy Scott’s “Starting from Scratch” guide, there’s a maze game that introduces collision detection. I like this resource from the Royal Society of Edinburgh. It explains basic computer science concepts and ideas that the students will be exposed to using Scratch. That helps me use the correct terminology and know the “why” do I teach this behind the “how” do I teach this. The maze game instructions looked easy to follow to me, but it wasn’t in the Code Club format that the students had grown used to.
Maze game -use the arrow keys to reach the dragon. Don’t touch the sides.
I also came across Simon Haughton’s website and in his second Scratch lesson he has a car racing game. The goal is to cross the finish line without driving off the track. Driving off the track sends you back to the beginning. I like how he has the students make their own race track in 3 simple steps: Flood the stage with color, draw or erase the “track”, and draw a finish line in a different color.
My take on Race Game
I used his instructions first with a group of 4th grade students who have been learning a bit about Scratch during school. We didn’t have time to do any extensions, like adding a timer, enemies or sounds, but a couple of students added a “crashed” costume to their car. Turns out if the new costume is bigger or a different shape than your original, you may be touching the edge of the track even when sent back to the start. Another student was starting to add an oil slick, like my water hazard, before we ran out of time.
Unsure of how much coding time we’d have in Code Club this week, because we had a guest speaker coming talk about software development, I decided to started with Jeremy Scott’s Maze game instructions. We used the maze gif resource for the stage but I let them choose any two sprites for explorer and target. One student spent the whole time editing the sprite to his satisfaction -a graphic designer in the making, perhaps? Next we set up the arrow key controls on the explorer sprite and added collision and target detection. By the end of Code Club some were able to start a second level of their own design.
Second level student example
Second level, student example
The jump to using different sources for instruction was hardest on my volunteers. Our speaker stayed to assist and I had my high school student there as well. I had experience fielding questions with this after my 4th grade class earlier that day, but my volunteers were grasping the concepts at the same time as the students. Also the handouts weren’t as readable as they could’ve been. After a rough start, things settled down and the students seemed pretty independent. Hey, I think that’s success right there.
What about that guest speaker, you ask? That’ll be part 2.