Using Scratch to Learn Programming Concepts

Scratch

Programming is a big part of computer science, and computer science is at the core of our computing curriculum.  Since programming is itself at the core of computer science, it’s worth taking some time to really get to grips with both programming as a series of concepts and one of the main tools used in schools to teach these concepts, Scratch.

Programming simply refers to the art of writing instructions (algorithms) to tell a computer what to do.  Scratch is a visual programming language that provides an ideal learning environment for doing this.  Originally developed by America’s Massachusetts Institute of Technology, Scratch is a simple, visual programming language.  Colour coded blocks of code simply snap together in certain ways like a jigsaw, eliminating the typing errors that tend to occur when people use text-based programming languages.  Many media rich programs can be made using Scratch, including games, animations and interactive stories.  Scratch is almost certainly the most widely used software for teaching programming to Key Stage 2 and Key Stage 3 (learners from 8 to 14 years).

Scratch is a great tool for developing the programming skills of learners, since it allows all manner of different programs to be built.  In order to help develop the knowledge and understanding that go with these skills though, it’s important to be familiar with some key programming concepts that underpin the Scratch programming environment and are applicable to any programming language. Using screenshots from some of my own Scratch projects, I have written here the main programming concepts that can be learnt through the use of this application.

 

Sprites

Scratch Sprite

The most important thing in any Scratch program are the sprites. Sprites are the graphical objects or characters that perform a function in your program. The default sprite in Scratch is the cat, which can easily be changed. Sprites by themselves won’t do anything of course, without coding!

 

Sequences

In order to make any program in Scratch, you need to think through the sequence of steps.

In order to make a program in any programing language, you need to think through the sequence of steps.

 

Iteration (looping)

Scratch Repeat

Iteration simply refers to the repetition of a series of instructions. This is accomplished in Scratch using the repeat, repeat until or forever blocks.

 

Conditional statements

A conditional statement is a set of rules performed if a certain condition is met.  In Scratch, the if and if-else blocks check for a condition.

A conditional statement is a set of rules performed if a certain condition is met. In Scratch, the if and if-else blocks check for a condition.

 

Variables

Scratch Variables

A variable stores specific information. The most common variables in computer games for example, are score and timer.

 

Lists (arrays)

A list is a tool that can be used to store multiple pieces of information at once.

A list is a tool that can be used to store multiple pieces of information at once.

 

Event Handling

Scratch When key pressed

When key pressed and when sprite clicked are examples of event handling. These blocks allow the sprite to respond to events triggered by the user or other parts of the program.

 

 Threads

A thread just refers to the flow of a particular sequence of code within a program.  A thread cannot run on its own, but runs within a program.  When threads launch at the same time it is called parallel execution.

A thread just refers to the flow of a particular sequence of code within a program. A thread cannot run on its own, but runs within a program. When two threads launch at the same time it is called parallel execution.

 

 Coordination & Synchronisation

Scratch broadcast

The broadcast and when I receive blocks can coordinate the actions of multiple sprites. They work by getting sprites to cooperate by exchanging messages with one anoher. A common example is when one sprite touches another sprite, which then broadcasts a new level.

Keyboard input

Scratch Keyboard input

This is a way of interacting with the user. The ask and wait prompts users to type. The answer block stores the keyboard input.

 

Boolean logic

Scratch When I Receive

Boolean logic is a form of algebra in which all values are reduced to either true or false. The and, or, not statements are examples of boolean logic.

 

User interface design

Scratch button

Scratch user interface

Interactive user interfaces can be designed in Scratch using clickable sprites to create buttons.

Concluding thoughts…

By incorporating these key programming concepts, Scratch makes computer science accessible to all learners. In doing so, it promotes problem solving skills, which are important in all areas of life, not just programming.  The advantage of using Scratch 2.0 to do this is that it moves the Scratch programming language to the web, making it easier than ever to learn about, share and remix programs.

Will Fastiggi
Originally from England, Will is an Upper Primary Coordinator now living in Brazil. He is passionate about making the most of technology to enrich the education of students.
Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>