Messages and Animation - Coding Class Week 4

The past 3 weeks, the kids have been learning a lot of things. How to interact with Scratch, basic programming concepts, and some basic computer skills.

This week, we spent a little time learning something new (events and message passing) but most of the time, I wanted the kids to be focused on building something.

Unity Video

We watched this short time lapse video of someone building a game scene in Unity 3D. This looks more like the games that they play on consoles at home.

Message Passing

Our goal this week was for the kids to learn about how to animate a story. The tools in Scratch for doing this are pretty light - they don’t really support a timeline UI for keyframing, so there’s a lot of manual counting going on in order to synchronize your characters.

I wanted to teach them about message passing, which is a powerful concept that lets them control their animations via events, as opposed to trying to coordinate timing.

Animation Challenge

I presented the kids with a challenge - they had to animate a story, but they were only allowed to press one button to start it, and then it needed to run on its own (sort of like tipping over dominoes) Dominoes

They had gotten comfortable with event based processing, where they were controlling the animation sort of like a puppet show. ie., press “j” and a character will jump. I wanted them to use messages to instead say “when this sprite is finished, it broadcasts a message”. And then, another sprite would listen for that

They spent much of the class working in teams of two, coming up with a story and then trying to animate it. I liked this model because they would learn based on what they needed, as opposed to just going through and learning every command in the platform.

They loved to record sounds and have their characters do things together.

Here’s an example of one of the animations (based on Pokemon) the kids put together:

Pretty impressive for some 4th graders who did this in about an hour!

Computers, Creativity, Collaboration and Communication

I spent some time thinking about the the role of a computer in the creative process. There is a danger that because computers are powerful devices, they can have a hypnotic effect on the kids.

I wanted the kids to think about what they wanted to build, instead of just clicking around the computer. This is an important skill for them to learn - these are just tools and they need to use the tools, not have the tools use them.

So, they spent a few minutes discussing what they wanted to build. This was somewhat challenging and overwhelming. A lot of them just wanted to mess around and build it that way. I think that’s fine, but I also wanted them to have their own point of view.

Some of the kids have more experience than others, and I wanted them to learn how to work together and teach each other. If they are just working alone, they might as well be at home! So, I spend some time each class trying to get them to work together, communicate, and solve problems together. Since I’ve put them on time limits for this project, that can be somewhat stressful.

It’s a good skill for them to learn how to manage their time and their communication under time pressure.

Advanced Class + Another Intro Class In January

We are going to have an advanced class starting in January. I think it still will be focused around Scratch - there is a lot to learn here and I’d like them to get a bit more mastery before we move on to more complex topics.

I’m also thinking about running another Intro class - this is for 4th graders, but it could also work for 3rd and 5th graders as well. I’m hoping to include more girls as well, to balance things out.

If you are interested, please contact me

Mill Valley Code Club Website, Facebook, and HQ

I’ve finally got a the Mill Valley Code Club Website setup. This is where the kids log in, keep notes, and learn about new lessons. I’ll probably improve it more over time.

Also, I’ve setup a Facebook Page and a Twitter if you are interested in following along.

Code Club HQ?

I am looking at renting out a small space in downtown Mill Valley, to run Code Club classes. We’ve been running out of my house which has been fine, but things get a little hectic, and there’s a lot of setup and teardown that I have to do in our living room.

If we have a space, I can add some better hardware. I have my eye on a Makerbot for example, which would be a fun thing for the kids to play with.

I’ll probably also get a server that we can run Minecraft on, and a bunch of other fun stuff like Arduino, Raspberry Pi etc.

Github

As always, this weeks lesson plan is on Github. Enjoy!

Find a problem or mistake? File a bug or better yet, submit a pull request