Code Club session #8 met for the first time on Wednesday. There are eighteen 4th graders and two high school volunteers. This is the second time I’ve had a mixture of students from both elementary schools in my city in one club. Another thing that is cool about the Spring session is that I have returning Code Club members, or, as we call them, “experts”. Only 5 students are new to Code Club and there was only one student I didn’t know.
A New Scratcher’s take on Maze game
After introductions, I asked the “experts” what favorite project they had from the last session of Code Club. They remembered and liked the Maze game, Space Junk and Chatbot from CodeClubWorld. They also enjoyed the projects they had created themselves, not surprisingly. I like starting with the Maze game and had already chosen that project for our first meeting. It’s a simple game with many ways to make it more exciting and complex.
We started out by reviewing the maze design and refreshing our programming vocabulary. What was the object of the game? How does the Sprite move (arrow keys or follow the mouse were options)? What happens when you touch the edge of the maze? How do you win? Then we talked briefly about ways to make it more exciting – more levels, obstacles, villains, etc.
Then they got to it. They were fairly independent coders, for the most part, and they helped each other a bit, too. My high school volunteers and I think we will be able to try some more complex coding projects this round. It was a really fun 75 minutes.
First time Code Club member
Thinking ahead, here are some goals for this session of Code Club:
- Encourage more animation: We have some artists, so I’d like to share with them and encourage more creative uses of costumes for animation effects.
- Explore “more blocks”: someone is already exploring defining their own blocks. I’d like to encourage more of this. As well as random numbers.
- Clearing up misconceptions: We will have to revisit some concepts like the forever block and support better debugging habits
Find the glitch in this code.
It seems this “expert” puts everything in forever blocks.
- And finally – I want to use MakeyMakey‘s this time. I told them I want to use them with our projects – especially our final projects. Those couple of students who have played a bit with MakeyMakey’s were quite excited. I’m really excited (and a bit nervous). I don’t have much experience using MakeyMakey devices, with or without students. Luckily that won’t stop me.
Computer Science Education Week is upon us and my first batch of 4th grade Scratch math games are shared. More will be completed tomorrow. 3rd graders have also been working on math games within my Scratch teacher account. I need to post those on our school website, too.
I’ve been noticing a subtle misconception showing up with how my student are using the ask and answer blocks in their math quiz games. When introducing the ask and answer block, I state that the two blocks work together. I talk about how the ask and wait is a Sensing block and is waiting for the user to type something and that something is held by the answer block. I specifically say that these blocks come in a pair because I’ve had other issues with students type “answer” in the operator instead of using the answer block.
This year, I guess, the students have more complicated scenarios with multiple Sprites in play. They set up one Sprite to ask the question.
and another Sprite to face the consequences of a right or wrong answer.
The logic seems okay unless you realize that other Sprite is not waiting for the input. That is subtle for them to understand.
I realize that the answer block is a global variable and can be separated from the ask block. The code below works on a separate Sprite from the one asking.
However, my solution for the students was to create two broadcast messages: “correct” and “incorrect”. The broadcast event block is a powerful tool and a good block to get to know. Fourth grade teams were able to work on separate Sprites and code the ask/answer decisions in one and the receive broadcast events in the other and put them together to make cool projects.
Then, of course, there is what happens when you show a certain 4th grader how to make random math fact variables:
Yikes! I’m not sure how Scratch does it, but I love the fail soft aspects that make this a super awesome programming platform for kids.
More about Hour of Code as the week progresses. I’m really looking forward to the week’s events.
I must say I appreciate the wide variety of Code Club World’s Scratch projects that are out there. Last week both of my 4th grader Code Club students worked on Ghostbusters (and just before Halloween, too). The Ghostbusters project allowed me to talk about the Stage’s coordinate grid and introduce the Pick random block. Two important concepts in Scratch programming and making interesting games.
It is also a fun game to code. This version is an improvement over last year’s Ghostbusters project that we did. I compared the two and they are different. The algorithm for appearing in random spots on the grid was simple to understand and easy to code, so the students saw results sooner. That left more time to customize. Customizing is what these coders do best.
This ghoul is very hard to catch but does it actually go back in time?
The game also implements scoring and timers. Students were able to customize these as well, adding additional Sprites and varying the amount of time they show on the screen and the number of points you get when you click on them.
Want big scores? Try this game.
One student wanted to increase the speed of the timer when certain sprites were clicked. That required a different way implementing the timer. I knew it could be done that way but I couldn’t think of how on the spot. Now I easily come up with the algorithm- set up a speed variable, change the speed when Sprites were clicked, decrease the time by speed amount.
Sometimes the choice of background can change the difficulty of the game. The project gives other ideas to change the difficulty as well.
The background makes the black bat very tricky to click on.
The speed at which these students pick up the ideas from these projects and incorporate their own ideas and creativity amazes me. In going over their projects for this blog, I realize I didn’t see all the coding that was going on at the time. I’m impressed.
The only sour note was some behavior issues that came up. That’s disappointing. It’s okay to have fun but not at the expense of other people’s learning. Those kind of disruptions are not okay.
There’s no Code Club this week or next due to school schedules and holidays. I heard a lot of “I wish we had Code Club today” and even a “I wish Code Club was everyday!”