Search This Blog

Tuesday, 1 September 2015

Home Page



The main purpose of this blog is to help primary school teachers and student teachers develop sufficient skills and confidence to be able to use Scratch to help the children they teach learn how to write computer programs.

For more information about Scratch see - Finding your way around Scratch


The Tutorials

There is no particular order to the tutorials; they are complementary rather than sequential. They are all technically similar, though some concepts involved in the tutorials are more challenging than others. However, with programming, the acquisition of a concept is largely dependent on the motivation and needs of the learner - the more you want to learn something, the more likely you are to understand.

Tutorial Techniques
Space Invader
A shoot-em-up game based loosely on Space Invaders. The player controls a laser cannon at the base of the screen to shoot at an alien which appears randomly.

  • Importing a background
  • Painting Sprites
  • Keyboard input for moving sprites
  • Random movement of a Sprite
  • Duplicating Scripts
  • Importing and playing sounds
  • Collision detection (touching Sprites)
  • Changing Sprite costumes in response to a collision
  • Variables for keeping score and high score
  • Green Flag scripts
  • Forever loop
  • If loop
Pong
Based on the early Pong game, with only one player (ie more like a game of squash).


  • Drawing backgrounds
  • Drawing sprites
  • Importing sprites
  • Green Flag scripts
  • Key press scripts
  • Sprite touching sprite collision detection
  • Sprite touching colour detection
  • Adding sound to sprites
  • Updating score variable
  • Updating High Score variable
  • Changing sprite costumes
Shark Attack
The player controls a shark moving around a fish tank to eat fish

  • Painting backgrounds
  • Painting Sprites
  • Importing a Sprite image
  • Scripting continuous movement of Sprites
  • Controlling Sprite movement with the keyboard
  • Detecting and responding when Sprites touch
  • Showing and hiding Sprites
  • Copying Scripts between Sprites
  • Removing blocks from Scripts
  • Variables for Scoring
  • Using a timer to terminate a game
  • Using If and repeat until loops
  • Communicating with the player through a say block
River trip
 Guide a boat along a river, avoiding obstacles to increase your score against a time limit

Note: the concepts in this tutorial are more advanced than in the other tutorials
  • Painting Sprites
  • Scrolling backgrounds
  • Detecting when a Sprite touches a colour
  • Forever loop
  • If loops
  • Using keyboard keys to move a Sprite
  • Switching Sprite costumes after a collision
  • Duplicating Scripts
  • Score variable
  • High Score variable
  • Using a timer to terminate a game
Raindrops
Catch raindrops before they hit the pavement to score points. Miss raindrops and lose points.


This is a long tutorial but it does introduce a lot of concepts and programming techniques. As with Road Race, the game is playable at several points during the tutorial
  • Importing a background
  • Editing a background
  • Painting a Sprite
  • Controlling a Sprite with the keyboard
  • Green Flag Scripts
  • Moving a Sprite at random speeds
  • Positioning a Sprite randomly
  • Collision detection between Sprites
  • Collision detection of a Sprite and a colour
  • Playing sounds on collision
  • Duplicating and editing scripts
  • Duplicating Sprites
  • Switching Sprite costumes
  • Switching backgrounds
  • If loops
  • Repeat loops
  • Repeat Until loops
  • Adding to and subtracting from a Score variable
  • Setting a time limit to a game
  • Presenting a Game Over message
  • Updating a High Score variable
  • Using variables for score, time countdown and High Score
Road Race
 The player controls a racing car steering it around the track trying to avoid running off the road and the computer controlled car.

  • Painting backgrounds
  • Painting Sprites
  • Changing Sprite costumes on collision
  • Controlling Sprite direction with keyboard keys
  • Green flag scripts
  • Forever loops
  • If loops
  • Duplicating Scripts
  • Duplicating Sprites and Scripts
  • Detecting collision with touching colour?
  • Detecting collision with touching Sprite?
  • Using say to communicate with the player
  • Using a variable for Lives
  • Using a Timer to stop the game
  • Editing Scripts
Treasure Hunt Adventure
Guide Thomas around his house looking for clues as to where his brother has hidden his birthday present


Note: This is the longest and most challenging tutorial, but it does introduce a lot of programming concepts and techniques
  • Importing backgrounds to the Stage
  • Switching between backgrounds
  • Using the keyboard to navigate between background scenes
  • Adding text to a background
  • Using broadcast and receive blocks to send messages between scripts
  • Showing and hiding Sprites
  • Duplicating Scripts
  • Copying Scripts from one Sprite to another
  • Shrinking and Growing Sprites in size
  • Switching Sprite costumes
  • Using say and think for speech and think bubbles
  •  Using variables to communicate a Sprite's co-ordinate position to a Script
  • Using glide to move a sprite
  • Ending a game with stop all
text text

Computing National Curriculum

From September 2014, children in most primary schools in England will be required to learn how to program computers. There is no specific requirement for the children to use a particular programming environment, but by the end of their primary schooling, the National Curriculum for computing requires them to: 
  • design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts;
  • use sequence, selection, and repetition in programs; work with variables and various forms of input and output;
  • use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.
 On first reading, this sounds quite daunting, but with an accessible programming package such as Scratch, programming can be quite straightforward and a lot of fun!


The rationale for the tutorials

The tutorials on this blog follow a simple principle; that programming should be purposeful. The outcome of each tutorial is a game which can be played in its own right and which can be further developed into something more challenging and complex. It is possible to follow each tutorial by following the step-by-step screen-shots only, but the text is also there to help you to acquire the terminology needed to support the children's learning and also to reinforce some key concepts of programming.

Once you have acquired a set of basic skills and knowledge of techniques, it should be possible to plan and produce your own programs. With some adaptation, the tutorials could form the basis of computing lessons with KS2 children.

Each tutorial starts from 'ground zero', assuming you have little or no background knowledge of programming in Scratch. Whilst there are some basic skills inherent in every tutorial, each one includes additional unique techniques to solve a range of programming problems.

As time progresses, more tutorials will be added to extend the range of solutions to programming problems. Although some solutions are more elegant than others, with programming, an outcome can be achieved through a range of different solutions. Children (and you) should accept that there is no right or wrong way of writing a program. Either it works or it doesn't. If it works then the problem has been solved!