My library has been exploring a series of children's events that we named S.T.R.E.A.M. (Science, Technology, Reading, Engineering, Arts, and Math). Our attempt to bring more STEM programming to the library. Recently I taught a basic class about Scratch programming (found at http://scratch.mit.edu). This a child-friendly graphical programming language to introduce children to the concepts of writing computer code. With Scratch, students learn very quickly about cause and effect. They also learn how to review or reread their code to find where a mistake or unintended action occurs.
I always start off my Scratch lesson with a quick intro to what is on the Scratch screen:
- Create button
- Scripts vs Sprites (You give short programs or "Scripts" to "Sprites" which are the individual characters in the project.)
- Stage (Where you can see the audio and visual output when you run a program.)
- Green flag (To start your program)
- Sprite list (Where the characters and objects in your project are listed for selection and editing.)
- Palette (Holds all the code blocks used to control your Sprites.)
- Scripts area (Where you drag your code blocks from the Palette and stack them in sequences to make your Sprites do things.)
After this introduction I turn them loose with instructions on how to create the Dog Chases Crab game. I actually give them the code to copy into their own Scripts area. This is a great excercise in how to use the Scratch interface because my student programmers now need to determine where each block of code resides. My introductory lesson and code blocks can be found here.
How it went - Just as it happened the last time I taught a Scratch class, about half the students tried to create the game and half the students did their own thing. It gives the computer lab a somewhat chaotic feel. But I was impressed with how much sharing of code structure was being done between the students, most of whom were complete strangers to each other. They were truly collaborating and helping each other.