If Math Games, Then Hour of Code

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.screen-shot-2016-12-04-at-7-39-55-pm

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.

Catch ’em

Week 2 for Code Club happened.

We did an old project game called Felix and Herbert which I’ve done before.  It’s not on the list of current Scratch project at Code Club World, but its simple concept with different movements- follow mouse movements- makes it a good second week project. It is a cat and mouse game and introduces some good game elements such as broadcasting and keeping score.


I allowed the students to pick any two Sprites – one to chase and one to be chased.  This let to some creative pairings.


It also became important in debugging to know which Sprite was which. When introducing the project I did point out where it says “Test your project.”  I let them know that this was a big part of programming.  I think I’ll need to emphasize that each time. I notice a lot of creative testing – playing with sounds, looks, speed, scoring, but not much debugging or referring to the project pages when things don’t work.


At the beginning of Code Club, I decided, we would add a bit of reflection to our meeting. On Wednesday I asked how the first code club went?  What were the successes and failures.  Many noted that they ran out of time or weren’t able to get the sensing of the edge of the maze to work.  I told them that it was a difficult task and if they were able to set up the Sprite to use the arrow keys, that was a success.

With Thursday’s group, I asked them to share one thing they found that they liked about Scratch.  This time I asked for positive responses mostly because they’d only played with Scratch and hadn’t really tackled a whole project yet.

I enjoyed this reflection time.  These are big groups and I don’t always get to connect with each student during our hour of coding.  Afterward Code Club I do take the time to look at the projects they save, highlighting a few here and noting any trending issues. And, of course doing my own reflecting on this blog.

I must say that my volunteers are awesome!  They work very hard fielding questions, debugging code, working with students. Even so, I think the students are asking for help too quickly.  They need to look at the project more closely and begin to do a bit more problem solving themselves.



Virtual Pet Event

I realize that my last two blog posts have not been about Code Club but Scratch projects that happen during school.  Code Club has been going pretty well, so let me catch up on that front.

We tried a Pong game project the second week, which I have written about before. I recall them being a bit needy during the project but I just might be remembering the whiners. I’ve seen some successful projects in the subsequent weeks from those very same needy seeming students.

There is some free time at the beginning of Code Club while we wait for the bus to bring over the coders from the other elementary school.  This gives some of them a few minutes to bring up old projects they’ve started, remember what they were doing, tweak them or show them to a friend.  Once everyone is there, we have snack and discuss the current project of the day.

Screen Shot 2016-03-29 at 8.38.56 PMThe week after Pong we tried “Create a Virtual Pet” project that is under the Tips tab of Scratch 2 Offline Editor.  I was looking for a non-game project similar to Code Club World’s Chatbot project, which some of these students did last Fall, as I have written about, twice.  One of my goals is to expose these coders to a variety of project types. I think these types of projects appeal to the non-gamer types, (dare I say girls?) and shows other ways to use Scratch coding.

“Create a Virtual Pet” is also a great way to introduce the power of broadcast and receive. I feel like I didn’t cover broadcast and receive well in the Fall.  This project concentrates on the Events code blocks:  “when this sprite is clicked”, “broadcast”, and “when I receive”.

We also got to use and get to know the “glide” block.  All very useful.

I showed the students the Tips tab that they could use as a resource but I also printed out some screenshots from “Create a Virtual Pet” for them to use. I did try looking for a pdf of this project.  I found a video tutorial, a Scratch project tutorial and a 41 page pdf from We Can Code It which looks fabulous, but more than I needed.

I took some time to introduce this and showed my take on the project at the beginning.


I prefer to let them discover their way but I’ve a feeling this group could benefit from more introduction.  I think the number of lines of code it used, although mostly glide blocks, put them off a little.

Most of the students were not able to get all the way through the project and some seemed disappointed by this when Code Club was over so soon.  I was pleased with what they got done and told them so and that this would make a nice project for the Showcase if they chose.

The designs for those independent projects are due real soon.

Paint It!

Screen Shot 2015-02-10 at 6.42.12 AMLast week Code Club was challenging. I gave my coders a difficult project. They did it, but it was probably not the best fit for the group because it has to be precisely followed with a long set up.  I used Paint Box, a project from Code Club World (We are a registered Code Club World club).  It introduces some key Scratch blocks and new ideas of how to use Scratch.  Hopefully some of those ideas will be useful.

Pen tools

Some pen tools

One of these objectives was to introduce the Pen blocks.  It’s one set of tools that I didn’t even talk about in the first round of Code Club.  I’m not sure why exactly. Perhaps because they remind me of Turtle Logo programming and for that reason, I couldn’t see how students would use them in a game of their own making. Still, the Paint Box project is pretty cool – you make your own paint program.

While Code Club hasn’t used the Pen blocks, I have introduced Simon Haughton’s Etch-a-Sketch project to some 3rd & 4th graders in a half-hour class/group setting.  So for Code Club, I went for the more challenging Paint Box project.

The second learning objective I found in this project was to see “broadcast” used in another way. I like Paint Box project’s use of the broadcast/receive code blocks.  This can be a powerful tool in coding with Scratch. It this case, it is used for simple button handling.  We have used broadcast-receive blocks before, but to see it used in a variety of ways will help them see how useful this command can be.

handling button clicks

handling button clicks

There were some unexpected behaviors in the code that the students kept calling glitches. I hadn’t noticed them when I worked through the project.  Again, we are still using Scratch 1.4 in the lab, for now, but it turns out what was making the pen “glitchy” was the placement of the Sprite center.  This was another learning objective – learn about “set costume center”.

set costume center is key

set costume center is key

The directions specify to set the costume center at the point of the pencil Sprite. If the costume center was over the drawing of the pen itself, the pen down action wouldn’t always work and drawing on the screen became “glitchy”.  It seems when costume center on the pencil Sprite combined with the mouse commands causing the Sprite to be under the mouse when “mouse down” is received, Scratch isn’t sure if you are interacting with the Stage or playing the game. If you run the program in projector mode, the glitches are alleviated and the pen works in any costume center placement. I found this out later when working through the buggy behavior with my spouse, the software engineer.

Student Paint Box project

one student’s Paint Box project

So this project was heavy on the learning objectives. By the end of the hour most of them had a couple of buttons. Only one was thinking about adding more – a rainbow pencil or “stamps”. They did it, but their creativity wasn’t tapped. I need to give them time for more creativity. Next two weeks we’ll be back to game projects then they’ll start their independent project.

Here are two coders during indoor recess working on an independent project. Yeah, they really can’t wait for the independent project to start.

Pair-programming -4th grade style - sharing the same chair.

Pair-programming -4th grade style – sharing the same chair.

One of them has asked repeatedly if this can be their project for this session and I’ve told him “Yes” each time.