For the past year or so, my main job in our homeschooling family has
been to teach Carolyn (5) how to read. Now I’ve picked up the task of
teaching Peter (9) computer programming. Last week I wrote a few
simple BASIC programs to teach a very basic concept that some of my
college students have trouble with when I teach interactive fiction
programming — the fact that when you write code, you have several
different audiences — not just the computer, but the user and also
yourself (or some other programmer who inherits your code).
Last week we did a quick-and-dirty choose-your-own-adventure story, and
showed Peter how to copy-and-paste blocks of code for editing, rather
than retyping long sequences all at once. Several times I made a deliberate mistake, and pretended that I didn’t know how to fix it. Peter picked it up quickly. He was not so good at picking out problems such as missing punctuation or the difference between spaces and underscore_characters, so it was slow going at first.
I do plan on beginning each coding session with a little bit of text-based BASIC coding, but he has started saying, “Daddy, is this enough? Can we move on to Scratch now?”
Scratch is a wonderful 2D animation environment that is designed to introduce kids to programming concepts. Think of it as Flash for kids. Each element of the programming syntax (an if/then statement or a repeat loop) is graphically represented like a puzzle piece, and the various elements of the program snap into the blocks, giving a tremendously satisfying visual feedback when the programming syntax works. You’ll never see an “error” message when you are working with Scratch — the pieces just won’t fit together if they don’t go together. Instead of the “alpha” value, graphics have a “ghost” value, which is a far more sensible name. (I remember being very frustrated when I first started experimenting with creating textures for 3D games, because none of the tutorials I could find bothered to define such a basic term.)
Adding considerably to the charm factor is this collection of kid-produced Scratch tutorials that teach basic Scratch concepts. I downloaded one to see what it was like, and I downloaded a few more just because I think it’s cute to hear the kids narrate the tutorials.
Students at Expo were beta testers for a new programming software called Scratch. Designed specifically for youth, it allows them to create their own stories, animations, fames, music and art. At the same time, they apply math concepts, design, problem solve and collaborate. To learn more about Scratch or download the program yourself, go to
One of our writing standards is to explain how to do something. We had so much fun with the Scratch program that we decided to make computer tutorials so others could learn the basics, too. Click on a link to see what you can do with Scratch