Scratch = Logo with enhanced user-friendliness.
Attracted by the logic and the simplicity of the language, I began to include Logo in my teacher education courses even before my students and I had access to computers! Later I explored LogoWriter and then MicroWorlds with my students, both of them easy dialects of Logo. I wrote and published an instruction book, and many articles and conference papers.
But there were always several barriers to widespread adoption of Logo programming within the otherwise standard pre-ICT school mathematics curriculum. First, there were issues of availability of personal computers, whether Mac or PC or other. Second, the software always came at a price, or, where demo versions were free, they had time-limits. Third, teachers themselves often struggled with the need to develop the necessary skill with Logo programming.
About ten years ago, a new dialect of Logo programming software was provided as a universally and unlimited free download--Scratch--from MIT, the home of Logo. Replacing the traditional turtle was a cat. (Cats scratch, don't they, ... hence the title!)
Moreover, unlike Logo programming that required a lot of typing of alpha-numeric text, Scratch is much more user-friendly. It provides pull-down menus of command words, which are selected and then dragged into the area for making programs.
Currently, the latest version is Scratch 2.0. It is still available free at MIT's dedicated Scratch web-site, or as a free and unlimited download for Mac or PC. The Scratch website has many tutorials, and an active community of Scratch users, as well as many sample Scratch projects. Of course, these days, we talk about coding rather than computer programming--working with code means using the command words of the programming language. (The more things change, the more they stay the same.) There are also excellent introductory books about Scratch, such as those by Jon Woodcock and his colleague Steve Sitford (2016, 2017).
As you read further, I strongly recommend that you visit the MIT website for Scratch 2.0 and see what a Scratch screen looks like. There are three panels. The leftmost panel is the place where the Scratch cat (or other sprites--you can create your own!) perform the programs--the coding--you make. The middle panel contains a dictionary of colour-coded pull-down menu-options of command words in the Scratch language. The rightmost panel is where you click-and-drag-and-drop the command words. You connect them together like jig-saw pieces to create your programs, also known as 'scripts'. A Scratch page or file is called a project.
What can you create with Scratch? Music, cartoon animations, geometric experiences, quizzes and interactive practice activities. Computer games. Mazes. Stories and/or movies. Map activities. Coordinate activities and graphs. (Almost anything is possible.)
To whet your appetite here is a Scratch program, or script, which uses a 'pen' to draw a pattern of rows of bricks. It is geometrically trivial but in terms of computer logic, interesting.
As the successive coloured lines suggest, each line is a command, some of which literally repeat, and many of them literally do what their everyday English suggests they would do.
The first line says, when the letter 'a' on the computer keyboard is pressed, the following lines of command will be successively activated, or 'run'. The next line, 'clear' (one of the command words) makes sure that any preceding drawing on the leftmost panel of the Scratch screen will be removed, ahead of the new drawing that will occur.
Further commands refer to the idea that the Scratch cat, or any other sprite, should be understood as having a pen in its centre, rather like a ball-point pen in a remote-control toy car. The pen can be made to touch the ground, using the command 'pen down', so that as the sprite moves the pen draws. Or the pen can be lifted ('pen up') so the sprite can move without drawing. Having a pen that can draw makes it possible to create graphics, geometric images, algebraic graphing, and loci traced by moving points.
The leftmost panel of the Scratch window is imagined to be Cartesian plane. The centre of the panel has coordinates (0, 0), with positive x-coordinate values to the right, and positive y-coordinate values upwards, and correspondingly negative coordinate values to the left and below the central origin.
The remainder of the coding is, more or less, plain English--but think hard about the 'repeat' commands. Importantly, note the several white oval areas containing numerals (or, other command words, variable names, a list of names, or other commands such as operators). For example:
These white ovals can be clicked in, to select and activate them, and then different numerals (or other command-word items, such as operators, and data) can be typed or inserted. Notice, also, in the command 'point in direction 90' that there is a small black inverted triangle. These inverted triangles, wherever they appear in a Scratch command, can be clicked. This opens a drop-down menu-list of alternative options for that white oval.
With a little trial and error, Scratch quickly becomes both logical and easy.
The mathematical thinking that Scratch programming--sorry, coding!--requires should be obvious. But, importantly, it is free, and practical, and easy, and (should be) fun!
References and further reading
Gough, J. (1991). Using Logowriter to tune turtles and make sweet music. Prime Number, 6(3), 18-21.
Gough, J. (2002). Middle Schools Melding: Liaising for Effective Primary-to-Secondary Transition. Vinculum, 39(1), 4-10.
Papert, S. (1980). Mindstorms: Children, computers and powerful ideas. Basic Books, New York.
Setford, S., & Woodcock, J. (2017). Coding projects with scratch made easy. Dorling-Kindersley/ Penguin Random House, Melbourne.
Woodcock, J. (2016). Coding with scratch made easy. Dorling-Kindersley/Penguin Random House, Melbourne.
with John Gough
Caption: Figure 1. Scratch screen shot.
Caption: Figure 2. Scratch screen shots.
|Printer friendly Cite/link Email Feedback|
|Publication:||Australian Mathematics Teacher|
|Date:||Jun 22, 2018|
|Previous Article:||Leveraging collaborative competition in mathematics classrooms.|
|Next Article:||Fostering small-group student-to-student discourse.|