Scratch Variables and Lists - Coding Class Week 5

This week we learned about variables and lists.

How Computers Work

We watched this Ted video on how computers work. I’m not sure any of it sunk in, but it was a good way to visualize how a computer processes things.

Keeping Score

Rather than present variables as an abstract concept, I asked the kids if they wanted to keep score in their games. Most of them did, a few weren’t sure.

So, we made a game this week where we made a map, animated a sprite, and collected coins, which would increase their score.

Once their score got a certain point, they would win.

Here’s an example from one of the students Coin Game

Math, Physics, Art, and Communication

I’ve noticed that the kids have to quickly learn a lot of advanced concepts in order to make their game work. For example, they have to understand negative numbers, multiplication, and graphs.

They inevitably start to make fairly complex designs, and they have to learn how to keep things organized and modular.

Several kids have wanted to make their character “jump”, which involves simulating physics (gravity, velocity, etc)

It’s pretty amazing what they will learn quickly enough if they are motivated.

My sense is that programming games is a great way to teach just about any subject at this age. They have to quickly master a concept and if they don’t, their program won’t work.

Finishing our game

At this point, the kids may not know it, but they’ve got a completely working game! We will spend the remaining few weeks fine tuning our games and adding more features.

Code Club HQ

I’ve rented a space for Code Club Headquarters, at 38 Miller Ave in Mill Valley. I’m very excited to put some cool stuff in there and run a few more classes.

Follow along here on this blog and become a fan on Facebook

If you live in Marin and are interested in having your child participate, please check out the schedule on the website


As always, this class is available on Github

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