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

Advertisements

New Code Club Starts

I am collaborating with the children’s librarian in my city to run a monthly code club for kids 8-12.  Our first meeting was last Monday.  We had six kids show up.  I knew three of them from two years ago when they were in my after-school 4th grade Code Club.  It was great to see them again.  The other three were mostly new to Scratch.  One of the coder’s grandmother stayed for the session and we set her up to play and learn Scratch, too, and she jumped right in a made a Chatbot project.

Screen Shot 2017-10-08 at 6.10.14 PM

I knew we were going to be using the library’s Chromebooks, so I set up a teacher account and a class along with some student accounts.  I figured a few of the coders might have a Scratch account already.  One said he did but didn’t remember it.  They all ended up using one of the class accounts.   That made it easy for sharing their projects at the end of the session.

Chatbot is one of my favorite projects from Code Club World.  It requires only one Sprite and Stage, is interactive, and the projects can become very creative very quickly.   It introduces the conditional block “if then, else”, a powerful, useful coding block for decision making.  It also introduces the ask-answer block pair as a quick way to introduce interactivity. The expert coders sort of remembered Chatbot but were very happy to revisit it.

By the end of the session, everyone was successful in setting up a Chatbot and coding an “if then, else” block at the least.  Some added more complexity with movements and costume changes. It was fun to see the different, creative takes on Chatbot.  The coders shared their projects, even though some were not complete and we played them all through.  I put them in our October project studio and liked them all.

Screen Shot 2017-10-08 at 6.42.18 PM.png

I thought the English/Spanish Chatbot project was a great idea – it could be a cool way to show what you’ve learned from Spanish class.

We asked the club members what types of projects they wanted to work on in future meetings.  I heard ideas ranging from Ghost Busters, Pong, anything with horses, to a platform game. Good ideas!  We are hoping more kids sign up and we can grow the club a bit.

It was great to be back working with Scratchers.  My after-school Code Club starts up next week. More new Scratchers.

Game State – Game Loop

This week we tried out Code Club World’s Desert Race project.  One Code Club member used this for his independent project last round, so we had one expert.  We used his final project to demo the game. Screen Shot 2017-03-12 at 11.20.11 AM

Desert Race is a fairly simple 2-person race to the finish.  The main concept in this game is setting a game state variable to control the action. In event driven games is important to control the allowable events – like when to start. And we don’t want anyone to cheat by starting before the start signal.  Setting up a game state variable, ‘racing’, like a Boolean with 0 (not racing) and 1 (racing) is the concept I was hoping they would take in while making a cool two person game.

Defining a Boolean for game state is the first step to building a Game Loop that programmers use when creating more complex games.

Scratch Wiki also refers to it here: https://wiki.scratch.mit.edu/wiki/Game_Loop.

My fourth graders may not ever get to that level of programming here in Code Club, but it is a powerful idea. I have used this programming technique in (non-Scratch) games I’ve created in the past and found it useful.

I also made a quick version of the project adding a bit of 3D perspective with my Space Race project.  The racers (cat and dog) get smaller as they head to be the first to reach the planet.

Screen Shot 2017-03-12 at 11.26.57 AM

The students made some nice games. Many customized their Sprites and a couple recorded their own “win” sounds.

This one below has some almost imperceivable pitfalls that send you backwards (the opposite of a booster).

At the end of the day a few students asked to be able to keep working on the Desert Race project for next week -they needed more time and were enjoying the project.  I think I’ll let them, but I’ll need another project for those who finished or want to move on.  So I asked one of the two girls in the Club what she would like to work on and she said, how about making an ebook.  I asked if she meant like an animated story?  I’d love to focus on animation more – there are some great techniques to making things look like they are moving – I love Tumbling Santa.  Also, I’m thinking I need to show her Bubble103’s Scratch projects.  Maybe she wants to make a tutorial (nonfiction ebook).  There are a lot of How To projects on the Scratch site.  I’m considering these two options for next week.

Also awesome this week was this project:

Screen Shot 2017-03-12 at 12.18.11 PM.png

This student’s race project was lost when Scratch 2.0 offline editor crashed. He was mostly done and he lost all his code. Instead of recreating it, he made this cool project. (It is a bit glitchy, but neat.)

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.