Pong with Flair

This week in Code Club we worked on a Scratch game project that was simple in design but could be creatively enhanced quite easily.  We used Simon Haughton’s Pong game directions.  That’s right, the old Pong game.  Of course, these 10 year olds had never heard of Pong.

When considering what project to try this week I took a look at the new Code Club Scratch projects that have just become available.  I have no doubt my students would love them all, especially Dodgeball.  I’m considering that for next time.

After their struggles with Paint Box, though,  I wanted to introduce a simpler project and Pong fit the bill.  My high school volunteers were excited about it, too.  One said he had written a Pong game before.

I started our code club meeting by talking about the independent project that is coming up. I want them to start thinking about what game or animation they want to design.  My goal, I explained, was to introduce a variety of projects to them so they could get an idea of what was possible to make using Scratch. They could even take a project they have already started and enhance it to make it their own.

With that in mind we started Pong.

Screen Shot 2015-02-13 at 9.46.39 PM

a new coders’ Pong game

I also put the original 2-person Pong game on screen and a break-out style game to give them ideas of where this kind of game could go.  It didn’t take them long to code their game so there was plenty of time for their creativity to come out.

Screen Shot 2015-02-13 at 9.47.11 PM

A code club girl’s take on Pong

Some students added extra objects on the screen to interact with and get or lose points.  Others spent extra time with the background and sounds.

There was even time at the end to look at or work on previous projects and think about their independent project that is coming up.  I saw one student adding more to his ChatBot project, another looking online at last sessions’ Showcase #1 projects.

A couple of students have asked if they could work in groups of three for the individual project.  I have my reservations about this.  Pair programming is hard enough. Some groups worked well together last time, others…. I have to come to a decision about this 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.

A-mazing Fresh Start

For the first week of the 2nd session of Code Club, I asked that only the new members come so that we could go over the basics of Scratch. It would help to orient the new coders to Scratch if the “experts” weren’t there.  I planned on going over material the veteran coders had already learned, so they wouldn’t miss anything and the potential for them to distract the new Scratchers would be eliminated.

I thought I would start by teaching the new coders how to make a maze game on day one. It was one of the favorite types of games from the first session.  You learn the commands to control a Sprite using arrow keys and how to check if the Sprite is touching the walls.

Polar Adventure from Showcase #1

Polar Adventure, a maze game, from Showcase #1

Perhaps it was a bit adventurous for the very first time, but with a smaller group I thought Alex, my high school volunteer, and I could handle it.

Dawn of the Day,  maze-type game from Showcase #1

Dawn of the Day, maze-type game from Showcase #1

I also decided to create the instruction sheet myself.  Inspired by Code Club World project resources and Simon Haughton’s Scratch webpage, I customized my own version.

Maze Project #1 – Google Docs

I spent way too much time writing this up, but Alex was psyched just by the fact that I printed it in color.  Color copies are $$ but soooo helpful when learning Scratch because the code blocks are organized and grouped by color.

Alex also brought over a pair of college students, volunteers who are part of Coder Dojo, to help out. It was a spur of the moment sort of thing. I guess there was a code meeting at the high school with poor turn out so they had some extra time to come help us. The more help the merrier. In addition, a couple veteran students didn’t read the calendar carefully, especially the part about only new students the first meeting, and came to our meeting, so I assigned them to be one-on-one helpers. The helper to learner ratio was nearly even.  It was a nice start to the 2nd session and some great coding happened, like the example below.

Obstacle course by a new member with veteran support

Obstacle course by a new member with veteran support