LOGO PLANNING

LOGO PLANNING

Logo Planning
HA=High Ability LA=Low Ability Assessment Opportunities
HA=High Ability LA=Low Ability Differentiation

Computing Program of Study in bold this module contributes to
Pupils should be taught 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

Comments
& Resources

Lesson One and Two Human Robots

Before the lesson print out some name labels or a class list so that you can record, either on the name labels or the class list with coloured dots for initial assessment purposes. Hand out the whiteboards with the simple instruction stickers attached. Introduce pupils to forward 1 (one step forward) Back 1 (one step backwards) right 90 (90 degree turn right) left 90 (90 degree turn left). One pupil is the robot the other is the programmer. Many of these are best outside or in a hall. Some chalk or real obstacles make the environment more interesting.

Starting Activities (I never use all of these)

· Free Robots Pupils take it in turns to move their partners a command at a time. A couple of minutes each before swapping controller for robot.
HA Look for pupils giving of following more than one instruction at a time (record with a dot)
LA
Look for pupils who can’t follow one simple instruction (record with a dot)

· Robots on a mission Robot and programmer move to the teacher. Make sure the teacher moves a couple of times. Robots must always move exactly as the programmer has said and are not allowed to move fast or change direction even if about to collide. If a robot has almost collided with another robot or obstacle they may say error once and march on the spot until the space is empty. This is impossible to assess pupils while you are being chased but if you have another adult or sensible pupil.
HA Look for robots that are following precise instructions rather than trying to catch the person in the centre (record with a dot)
LA I don’t record pupils failing in this as this is often down to excitement

simple instruction stickers stuck onto squared whiteboards

Blog Post on teaching the introduction

· Robots on a mission on a grid If you have a large square grid in your playground pupils can play the same game but are only allowed to move one square standing on the intersection of lines. This introduces the idea of a fixed length of unit. Before you play this game line the pupils up on a playground line and ask them all to make one step forward. You will be left with a ragged line. Point out that all of our steps are different lengths. Ask them what a robot might use to measure steps? Intro standard units of measurement.
HA Look for robots that are following precise instructions rather than trying to catch the person in the centre (record with a dot)
LA I don’t record pupils failing in this as this is often down to excitement

Playground square grid (snakes and ladders board or chess board)

· Robots in the classroom or round the school In this variation the controller writes their code on a whiteboard and gives it to the robot. The robot then executes the instructions whilst reading them aloud. Let pupils decide how many instructions to give per turn although it is worth demonstrating with at least three commands so that pupils note a difference.
HA Note pupils that quickly move to complex strings of instructions (record with a dot)
LA Note pupils that are struggling to write more than two sets of instructions (record with a dot)

· Plan a route across the classroom for the teacher This works best if you have 3 or 4 adults who can all be robots as it cuts down on the time pupils wait to control the teacher robots and means all pupils are writing and debugging algorithms. Set yourself up where you will have to move around tables to go somewhere such as the door to the classroom. Give pupils the whiteboards and pens ask them to plan a route for you. When they have finished they give the route to you. You execute it pointing out the place they first go wrong. Pupils then edit (debug) their instructions. Ask the first pupil to achieve a working algorithm to be another robot pupils can program when they have worked out your route. If you have pupils who were good at being robots in the ‘robots on a mission in a grid’ activity allow them to take over as robots for a while allowing you to assess.
HA Note pupils who finish this activity quickly they have probably learnt from other peoples mistakes (bugs) (record with a dot)
LA Note pupils who have not asked to program the teacher or whose instructions are wildly random (record with a dot)

Half class set of whiteboards and whiteboard pens

· Cutting Commands

Give all the pupils an A4 piece of 1cm squared paper. Explain that everyone should start on the line at the mid-point of the longest edge. The teacher calls out a command such as forward 1 (cut one square length in a straight line) right 90 (turn scissors 90 degrees right but don’t cut anything) left 90 etc. Take pupils on a journey cutting their paper. Do it with them as it helps the teacher to avoid cutting across the line. Ask pupils to write their name on the paper and hand them in.
HA Note pupils who have followed your instructions accurately (record with a dot)
LA Note pupils who were wildly inaccurate (record with a dot)

Resources
Scissors
1cm squared paper

· Chalk it

Both pupils draw a simple design on a squared whiteboard without showing their partner what they are. One draws on the playground with chalk and a 30cm ruler following logo commands given by the other pupil before they swap roles and compare the chalk drawings with the squared whiteboard drawing. You can introduce the pen up and pen down commands so pupils can lift the chalk from the floor.
HA Note pupils who have followed your instructions accurately (record with a dot)
LA Note pupils who were wildly inaccurate (record with a dot)
HA Great activity to give HA pupils to do independently

Chalk

Rulers

Playground

Lesson 3
Introducing FMS Logo

Introduce Logo as a programming language. Briefly explain that we can give commands to the interpreter (called the commander) these are changed into instructions the computer can understand and if successful the results will be output either above the interpreter line or on the screen. Demonstrate using some basic instructions such as fd 30, bk 100. Before allowing pupils time to experiment remind them of the need for a space between the command and the number. Explain that the units of distance are tiny pixels on Logo and so they will need to use larger numbers.
LA Make sure they have sight of the whiteboard stickers you used in the last lesson
LA Look out for pupils coding RT 100 or LT 100 sure sign that they need ¼ turn = 90 degrees reminder
After a short experiment introduce the home (return turtle to centre) and cs (clear screen) commands in case anyone gets lost.

FMS Logo Free Better version of MSW Logo

Download

Square, rectangle and Stairs
Before the lesson, mark out shapes on the floor with chalk outside or masking tape inside.

Can pupils code a square, stairs, rectangle and a few simple block letters? Insist that pupils plan on a floor shape first, walking over the shape while writing their code on their whiteboards.
LA Insist that LA pupils identified from first lessons start with stairs or an L where they can start at one end and code to the end without having to go back or go over same place twice.
HA pupils add extra challenge of starting and finishing letters at the same place
HA Proven HA pupils can also plan on the squared whiteboards

Stress that all computer scientists have bugs or errors in their code. The good ones debug (fix) their code.
When pupils fail show them how they can check their shape by walking over it and adapting their code. In my experience with Year 3 pupils about a half of the class will need this type of support.



Older Pupils
If I had older pupils at this point I would then encourage experimentation to find angles needed for other simple shapes including a circle.
Pupil Self-Assessment

Must plan shapes on floor or whiteboard before using logo to test algorithm

Should go back to floor or whiteboard to debug errors

Could tick off commands on whiteboard as they run on logo to observe accuracy of their plan

Lesson 4

Introducing a simple procedure
Before the lesson, mark out shapes on the floor with chalk outside or masking tape inside like you did last lesson.
LA Allow very LA pupils to continue typing into the interpreter rather than creating a procedure

Show pupils how they can create a procedure in MSW or FMS Logo. Emphasise keeping their commands between to and end. Make sure you make a deliberate spelling mistake in a command. When the error is highlighted, as you try to run the program, introduce the concept of debugging. It is quite liberating for students to be told that most code will need debugging before it works. Focus on the fact that this is normal. Give pupils time to create and debug a procedure or two, of a square, rectangle, stairs or simple letter that they coded last week.

Go over saving the procedures. You may need to explain to some pupils why it is much more important to save their procedures than their screen drawings.

To O

Fd 30

Rt 90 (etc)

End

Video Help File

Operation Keyboard

Explain that our first challenge is to make a whole alphabet of letters so that we can communicate in words using our program. Remind pupils that they are going to plan each letter away from the computer before they type the code into a procedure.

Show pupils the squared alphabet.

Demonstrate creating a complex squared letter using the masking tape on the floor to walk on. Nominate a pupil to record your steps. Draw out the route. As you travel along your route see if your pupils can tell you what commands you need. Make sure the scribe is doing their bit to record accurately the commands needed. If using MSW or FMS LOGO Work of multiples of 50 or 100.

Emphasise how important computer scientists think planning is.
(Some pupils will try and jump straight onto a computer and they will make the most mistakes)

Pupils work in pairs, one walking over the masking tape on the floor and the other recording their steps using the whiteboard and pen. Before transferring their commands onto logo to test the accuracy of their algorithm.

Allow pupils free choice of letters. When a letter has been coded correctly pupils inform the teacher who records the letter drawn for assessment purposes.
HA Introduce the idea of finishing back where you started facing up.

Pupil Self-Assessment

Must plan letters on floor or whiteboard before using logo to test algorithm

Should go back to floor or whiteboard to debug

Could return turtle to start position facing up on screen

Squared alphabet1

Squared alphabet2

Squared alphabet3

Squared alphabet4

Squared alphabet5

Squared alphabet6

Squared alphabet7

Squared alphabet8

Squared whiteboards

Whiteboard pens

Masking tape

HA Cut out group
Comparing Algorithms to see which are the most efficient

Load this browser based logo program or type in slowdraw 100 into the commander. Explain to the pupils that three children have written programs to write the letter E. We are going to compare the programs to see which one is the best. Copy the code below and run these using the run slowly button. Ask pupils to discuss in pairs which one they think is best and why. If none of them come up with the idea of the least distance travelled suggest it yourself and get pupils to count the number of 100s travelled in each program. You can also look for the least distance that is drawn twice. Explain that computer scientist are always looking for instructions that run the quickest and use the least code. You could also time in seconds how long each one takes. The plans/algorithms that works the quickest with the least code is called most efficient. Could they plan any of their letters differently to make them more efficient?

CLEARSCREEN

fd 200

rt 90

fd 100

bk 100

rt 90

fd 200

lt 90

fd 100

bk 100

lt 90

fd 100

rt 90

fd 100

CLEARSCREEN

rt 90

fd 100

bk 100

lt 90

fd 100

rt 90

fd 100

bk 100

lt 90

fd 100

rt 90

fd 100

CLEARSCREEN

lt 90

fd 100

rt 90

fd 100

rt 90

fd 100

bk 100

lt 90

fd 100

rt 90

fd 100

slowdraw 100 is a really good way of being able to watch your algorithm carefully so if often worth introducing it earlier

HA Pupil Self-Assessment

Must be able to see which block of code has the least amount of instructions

Should be able to count the number of times fd 100 is used and be able to report which program takes the shortest route

Could time each program and report on which is the fastest

Lesson 5 Going Loopy
LA Prepare a simple logo file with a square and a couple of letters on it that LA pupils can use as they have not made their own procedures previously. Make sure they know what these are called. You may even wish to cut away later and go through these with them.
Introduce the idea of repeat loops. A great way to do this is through Gagnam Style dancing where pupils identify elements of the dance, you create a shared notation and then they add how many times they are going to repeat the dance steps. Here we have 3x the lasso move. Pupils then dance each other’s dance programs.

Now show pupils how you can create a repeat loop in logo. repeat 4 [fd 100 rt 90] Ask pupils what this will draw? Answer a Square. Now give them time to experiment.
LA Make sure you leave an example of the repeat code up somewhere pupils can see
When you bring pupils back show them how one procedure can nest inside each other. You can use this to create fantastic repeated patterns.
HA Show HA pupils how they can have multiple levels of nesting
HA Pupil Self-Assessment

Must be able to create looped patterns using procedures and repeat commands

Should be able to use more than one previously coded procedure

Could nest within nest

Extension Ideas
The first three I have used successfully with Year 3 classes but not with all pupils

Nesting Video

Y3 Loopy Pattern Examples

Introducing a common letter end so letters can be linked (Extension)

After pupils have worked on a letter or two bring the class back together and decide on a common finish point for all letters so that all letters finish at the bottom on the right with the turtle facing upwards. This is a good time to introduce the pen up and pen down commands so that letters like P don’t have extra unneeded lines. It is worth asking the class why we are doing this. The last time I taught this no one anticipated linking the letters.

Penup pu

Pendown pd

Video help file

Creating glue code to join the letter (Extension)

As some pupils start to finish three or four letters this is a good opportunity to draw a few pupils together and present the challenge of writing some code to link two letters together. Extending this challenge to more and more pupils as they become ready for it.

Joining letter code and glue code to make words (Extension)

Demonstrate combining letter code and glue code within a new word code to draw whole words. Give pupils time to go away and create word codes that combine these. Give the challenge of streamlining this process to early finishers. Can they create a keyboard that doesn’t need glue code? Basically adding a glue code snippet to the end or beginning of every letter.

Letter

Glue

Letter glue

Letter

Wobbly word challenge (Extension)

Demonstrate how word art works on Word or Publisher. Point out text that curves or wobbles. Can pupils adjust their code to create the same affects? What aspect of the code is easier to adjust? Is this easier for the pupils with glue code or those with the glue built onto the start or end of their letter?

Letter+Glue

Letter+Glue

Letter+Glue

Debugging cards (Extension)

Whilst most pupils are working at different stages of their word creation project pupils who have finished successfully can be attempting to debug code errors on laminated cards.

Debugging and code do cards

Create button (Extension)

Introduce the create button command

buttoncreate “main “myleft “Left 50 50 50 25 [fd 5 lt 15]

buttoncreate “main “myright “Right 100 50 50 25 [fd 5 rt 15]

Having this code somewhere that young pupils can copy and paste reduces syntax errors. Can pupils change one number at a time to see what it does? Can they adapt a button to make it print one of their letters?

What does the code do (Extension)

Whilst most pupils are working at different stages of their word creation project pupils who have finished successfully can use the code do cards. Study the card then write on the card with a whiteboard pen what they think it does. Copy the code into a procedure to see if you were right. Encourage adaptation of code is pupils see opportunities.

Debugging and code do cards