Saturday, June 22, 2013

Teaching Kids to Program in Scratch

      Our son Patrick is a computer professional holding a high-level IT position. He's responsible for keeping a large, distributed network of computers that handle important documents, up and running and secure. 
   His first computer experience was in the early 1980s when I brought home a Commodore PET (Personal Electronic Transactor) with a whopping 8K of memory! It had a tiny keyboard and a cassette tape player for saving and loading programs. There weren’t many programs so we wrote our own and copied others from magazines.
   The school that his two children (our grand kids) now attend has a computer lab. He checked with the instructor and found out that the software they use is limited to a typing-tutor and Microsoft Word. There, in the heart of the Silicon Valley, the kids were learning no more about the creative applications of computers than native children, living deep in a tropical rain forest, that have never seen electricity much less a computer.
   After numerous conversations with school staff it became apparent that there was not any interest in providing a creative computer curriculum for the kids.

   Never one to be held back, Pat located an area where he could set up tables, roundup computers, and open a classroom.

   Copies of the excellent introductory book, Super Scratch Programming Adventure!, available from the No Starch Press, Inc, were ordered and received.
   I can not improve on this description of the book, as taken from its back cover.
   “ In Super Scratch Programming Adventure!  kids learn programming fundamentals as they make their very own playable video games. They’ll create projects inspired by classic arcade games that can be programmed (and played!) in an afternoon. The book’s patient, step-by-step explanations of the code and fun programming challenges will have kids creating their on games in no time. This full-color comic book makes programming concepts like flow control, subroutines, and data types effortless to absorb. Packed with ideas for games that kids will be proud to show off, Super Scratch Programming Adventure! is the perfect first step for the budding programmer.
   Scratch 1.4 has been updated to Scratch 2.0 but all Scratch 1.4 programs run in Scratch 2.0 so I still recommend the book.
   I call grandson Joshua first attempt to create his own program outside of the class The Spider and the Pesky Fly. In the Paint Editor, Joshua drew a spider web for the background. He also drew a fly and a spider. Both are sprites, programmable characters that move over the background. Sprites (and the programming blocks that control them) are what makes writing games, science simulations, art projects, animated stories, etc. so much fun.
   In his program, the spider chases the fly around the web. Sound can be recorded directly into Scratch using the microphone in the computer or uploaded from music and sound files.
  What makes all the action happen are the programs that control the sprites. Here are the the two scripts Joshua wrote for his project. One for the spider and one for the fly.
   The point missed by the majority of educators is that you can't program, in any language, without math! In his scripts, Joshua used the Cartesian plane (x-y coordinate system), [turn x degrees] blocks, [move forward x steps] blocks and event reporters.
   Much was learned by the kids in Pat's class and he is already planning the direction for the next series of meetings.
   Over 4 million projects have been uploaded to the Scratch web site. Scratch is located at MIT. What better recommendation do you need?
   If you would like to explore Scratch, here's the link.
   If you would like to download Scratch 1.4, here's the link.
   I also have a blog devoted to Scratch. View it at
where I also provide free PDF files for most of my projects. The files discuss in detail the mathematics and programming contained in the project.
   You can also view My Stuff on the Scratch home page by searching on popswilson.