We’re already half-way through the fall Code Club session for 4th graders. Now is the time when they start working on the design of their own project. Having the opportunity to create their own game is pretty much why they come. My job is to get them ready to be successful in this venture. To this end, I try to present lessons that help them learn programming concepts that they will want to use in their game design.
After eight Showcases and 108 projects, I feel have an idea of the essential programming concepts students will be using in the games students like to make. We move fast and don’t get the chance to do more than introduce these concepts – it’s more learning to code than learning computer science. It’s a start.
Here’s what they will want – A Sprite they can control with arrow keys to move around their game. (The maze game). A Sprite that can chase after them (Cat and Mouse). Both of these projects introduce sensing as well – in the maze game you are forever checking if you touch the sides and in both, you are forever checking if you won.
They might want to keep track of a score or set a time limit. (Ghostbusters)
From experience, some of them will want a game with gravity. It’s a concept that I don’t usually spend any time on but this year, from talking with the students, I could tell there will be some platform games in the works.
I used Code Club World’s Flappy Parrot project to introduce gravity. It also reveals the animation trick of moving the background while the main character stays in the middle.
I wasn’t sure if they would be able to handle this project, but they worked through it well and I felt they were successful.
This last week we did the virtual pet project from the Scratch Tips. I printed some of the Scratch cards of the project as well. Virtual pet introduces broadcast & receive which is an important but difficult concept. Broadcast & receive is powerful but requires planning and keeping track of your Sprites. This level of thinking is just developing for them. They struggled with broadcast and receive, but mostly with the motion blocks because they were modifying the placement of Sprites to fit their creative take on a virtual pet but couldn’t translate that to adjust the go-to blocks properly so they got some strange movements they didn’t understand.
All in all, I like this progression of projects: 1) Maze game, 2) Felix & Herbert, 3) Ghostbusters, 4) Flappy Parrot, 5) Virtual Pet. It presents a variety of game types and hits some good basic concepts. It leaves out a few of my favorites, though, like Chatbot. I also feel they need more basic coordinate knowledge (move, go to, glide).
(The problem with not blogging regularly is that when you do, you have too much to say and the blog gets really long, for which I apologize.)