Progressing to Scratch
Programming with Logo - Lesson 6
Objectives
- To look for similarities and differences between two programming languages
- To use repeat commands in Scratch to draw shapes and patterns
Lesson 1 - Introducing Logo
Lesson 2 - Drawing Words
Lesson 3 - Adding Colour
Lesson 4 - Repeat Commands
Lesson 5 - Procedures
Lesson 6 - Progressing To Scratch
Introduction
Recap previous lessons and how we shortened commands by using the repeat and procedures functions. How did we speed up our coding? How were we able to shorten the amount of instructions that were needed?
This week we are going to look at a new programming language that they will probably use more in KS2 called Scratch. This is a progression on from Scratch Jr that the students may have also used recently.
Starting With Scratch
Go to the Scratch website at scratch.mit.edu. Open a new project by clicking on the Create button at the top of the screen.
Open Scratch and show that it is a bit different to Logo as it uses blocks instead of a command line to make things happen.
Have a look at some of the key blocks that will let us replicate what we did last week in Logo:
Motion Blocks
These ‘move’ blocks are the same as forward movements in Logo. You will need to use bigger numbers though. Use something like 100 for the value to make shapes a decent size on screen.
The ‘turn’ blocks is the same as a right or left turn in Logo. Change the value to adjust the degrees of the turn.
Pen blocks
The blocks that control the pen are not immediately available in Scratch 3. To access them, when you open a project click on the blue button in the bottom left of the screen.
Then select the Pen extension and the new blocks will appear in the block menu on the left of the screen.
These are all fairly self-explanatory, they let you set the pen up or down and adjust the colour and size of the pen. You can also clear the screen from here with erase all.
Event and Control blocks
The ‘green flag’ block is a starter block. Once this is attached to a stack then clicking the green flag in the top middle of the screen will run the commands in your code. The only Control block we’ll need is a repeat block, anything put inside this block will be repeated the number of times shown on the block (which can be edited) This is the same as using brackets in Logo.
Drawing a square
Demonstrate how to build the repeating commands needed to draw a square with Scratch. Keep referring back to the commands used in Logo.
In Scratch it is done like this:
- The green flag starts things
- The pen goes on the page
- The colour is set to red
- It’s told to repeat 4 times
- It moves forward 100 steps
- It turns 90 degrees
Ask the children to have a go at building those same blocks to draw a square.
Main task
Can they then translate what they did with repeating with Logo into Scratch? Introduce their sheet From Logo to Scratch
(Tip - Multiply move distances by 10 in Scratch compared to Logo, e.g. For 10 in Logo, use 100 in Scratch, for 5 in Logo use 50 in Scratch)
The last part of the sheet looks at repeating repeat blocks to create geometric patterns. This creates the same effect as the repeating procedures task we did in the last lesson. It works in the same way, by repeating the repeat instructions for a shape, plus adding a small turn in before the next shape is drawn.
The example below draws 90 hexagons, with a small right turn of 4 degrees before each new hexagon is drawn, creating lovely repeating patterns like this:
Scratch even has a ‘change pen colour by’ block which adds a cool rainbow effect as the colour is changed before each shape is drawn!
Experiment with different shapes and repeats to change the design:
Plenary
Which two programming languages have we looked at? What is the biggest difference between them? How are they similar? Which do you think is the easiest to use and understand? Why?
Briefly recap what has been covered over the weeks and the students’ understanding of:
- Basic movement commands in Logo
- Pen commands in Logo
- Repeat commands in Logo to save time and effort
- Procedures in Logo to save time and effort
- The need for precise, accurate commands
- More than one programming language can do the same thing
- Comparing Scratch and Logo
- Debugging mistakes in their code