Getting Them Ready

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.

Screen Shot 2017-11-16 at 8.06.44 PM

Get the taco to the Scratch cat

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.

Screen Shot 2017-11-16 at 8.08.34 PM

You’re the banana. Don’t let the monkey eat you.

They might want to keep track of a score or set a time limit.  (Ghostbusters)

Screen Shot 2017-11-16 at 8.01.13 PM

Click on the Sprites when they appear to get points.

Screen Shot 2017-11-17 at 5.25.16 AM.png

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.

Screen Shot 2017-11-16 at 7.56.40 PM

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.

Screen Shot 2017-11-16 at 7.57.42 PM

Flappy robot costumes – hand drawn wings

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.)

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.

Defining Initial Conditions and Sprite Senses

The second week of my two Code Clubs went better than the first week and some fun, creative Scratch projects were made.  I am pleased.

Screen Shot 2015-10-18 at 6.36.00 PM

Wednesdays’ club made maze games using Scratch 2 Offline editor.

Screen Shot 2015-10-18 at 6.37.50 PM

I talked about defining initial conditions.  If you are going to move the Sprite through the maze you’ll need to set up where you want the Sprite to start.  I was able to reinforce this notion with those who set up other items for the maze runners to touch and then have those item “hide”.  If you change the way the Sprite looks (hide), you’ll need to set up the way the Sprite starts off looking (show).

Screen Shot 2015-10-18 at 6.36.19 PM

I also talked about conditionals and ways Sprite can “sense” things.  They’ll get more practice with this concept again with next week’s project.

Screen Shot 2015-10-18 at 6.37.08 PM

Most students were successful and their maze games were very creative.  I think a number of students were surprised by their success. Unfortunately a number of the games weren’t saved or saved “temporarily” on their desktop which isn’t permanent in student profiles. We will go over this again.  One student noticed this on Friday but was able to re-create her game during her free time that day.

Screen Shot 2015-10-18 at 6.38.29 PM

One thing I noticed that would make our time together even better is if the students relied more on each other’s help.  I mentioned to the student that this is a club and we are going to work together to learn, but I’m going to re-iterate that next week  and specifically have them ask an elbow partner first, then ask for help from me or Josh, my high school volunteer.  This will help later when they will be doing their individual or pair projects and will need to be more independent.

Thursday’s club went better, too. They tried Felix and Herbert from Code Club World’s archived Scratch projects.  Of course they all put their own spin on things, being a creative bunch.

Screen Shot 2015-10-18 at 6.43.46 PMI also talked about conditionals and ways Sprite can “sense” things. They were also more successful although it took them a bit longer to buy into to the project even though I showed them the example working project.

Screen Shot 2015-10-18 at 7.24.45 PM

They were really interested in getting the costumes to change to simulate walking or flying.  They also wanted to learn to add a score.  They weren’t phased at all by switching to Scratch 2 Offline editor.

Screen Shot 2015-10-18 at 6.44.17 PM

One student said he had been playing with Scratch all week whenever he had a chance.  Two others said their parents had downloaded Scratch at home.  This group showed a more collaborative spirit.  I helped one student get a “soundtrack” to play in the background and he helped others add the code to their projects.

Screen Shot 2015-10-18 at 7.28.38 PM

Another student announced he knew how to add a timer and was willing to show others.Screen Shot 2015-10-18 at 6.41.04 PM

They are a bit exuberant bunch for a group of twelve, and I still don’t know all of their names or have complete control at all times, but I asked them if they had a good time when they were lined up for release and they all very enthusiastically replied, “Yes!”

Screen Shot 2015-10-18 at 7.55.41 PM

I do enjoy this, you know. Just saying.

A New Plan

(I know, 3 blogs in one week.  Bear with me. This one is short)

I spent some time over the weekend hashing out the project plan and learning objectives for my two code clubs.  I feel better with a plan and ideas in mind and on paper.

I also revised my expectations for last week.  My learning objective for the students last week was to get to know Scratch and the code blocks that include Events, Motion, Looks and Sound.  I have to remember there’s also a new costume editor they will have to get a feel for as well as the notion of the Stage and Sprites and how they are different.  That’s actually a lot. I think the majority of the students have got a grasp on some of those concepts. (If they haven’t forgotten them in the meantime)

One student came up to me today and said, “I wish Code Club was everyday!!” What an awesome sentiment.

This week I’d like to focus on Initial Conditions, Conditionals and Sensing blocks. To that end, I’ve updated the maze project to use for Scratch 2.0. And we will try it out tomorrow.

Screen Shot 2015-10-12 at 8.39.24 AM Screen Shot 2015-10-12 at 8.57.42 AM

Scratch 2 Maze Project – Google Docs

I wonder if I’ll have time to mention the “Think like a Programmer” ideas of make one change, test it, make another change, test it?

Then next week both clubs can work on the same project.