Level 1 Level 2 Level 3 Information More Angles
Your browser does not support the canvas element - sorry!


This version of Logo is more powerful than the Level 1 version.

You can create procedures that the computer remembers. Here is an example

to triangle
  repeat 3[fd 100 rt 120]

Running the code above teaches the computer how to draw a triangle. However the turtle will not draw anything until you type the word triangle

to pent :size
  repeat 5[fd :size rt 72]

This procedure includes a variable so it will draw a pentagon of any size. If you type pent 70 you will see a pentagon with sides of length 70.


Outputs a random number between the two given numbers.
Example: rt (random 1 360)
rotates the turtle right though a random number of degrees.

wrap, window

Use wrap to make the turtle reappear on one side of the screen if it disappears off the other. window turns wrapping off.


Challenge 1

Write a procedure to draw a rectangle.

You can call the procedure anything you want as long it is not a word that is already used as a Logo instruction.

You could call your procedure rectangle, rect, oblong, marmaduke or any other allowed word that will remind you what your procedure does.

Challenge 2

When I made my rectangle procedure I called it Brick.

I then typed in the following code.

repeat 12[Brick rt 30]

Can you visualise what was drawn by the turtle?

Try it with your rectangle procedure.

Challenge 3

Make a procedure to draw a small house

Challenge 4

Use your procedure for the last challenge and the repeat command to produce a row of houses.

Challenge 5

Write a procedure with a variable that will draw any a polygon with any number of sides

Challenge 6

Use the polygon procedure you created for that last challenge to show which polygons tessellate.

Challenge 7

Write a procedure with two variables to poduce a star of variable size and a variable number of points.

Use the random command to fill the screen with stars.

Challenge 8

Write a procedure to draw a diagram to show that the angle subtended at the circumference of a circle is twice the angle at the centre of the circle.

Challenge 9

Draw an isosceles triangle then figure out how to draw the inscribed circle. This is a circle drawn inside the triangle that just touches each of the sides of the triangle.

Challenge 10

Investigate recursive procedures. here is an example (the procedure calls itself).

to tree :size
if :size < 5 [forward :size back :size stop]
forward :size/3
left 30 tree :size*2/3 right 30
forward :size/6
right 25 tree :size/2 left 25
forward :size/3
right 25 tree :size/2 left 25
forward :size/6
back :size
tree 120

You can claim a virtual 'Transum Trophy' to show the work you have done learning Logo. Click on the red button below to register your trophy.

Many other online mathematical activities are available free at
Transum Software.


Printable progress record

Description of Levels



Level 1 - Basic use of Logo commands to draw shapes

Level 2 - Some more Logo commands to draw more complex shapes

Level 3 - Use Logo procedures to draw more complex diagrams

More on Angles including lesson Starters, visual aids and investigations.

Answers to this exercise are available in this panel when you are logged in to your Transum account. If you don’t yet have a Transum subscription one can be very quickly set up if you are a teacher, tutor or parent.

Log in Sign up

Logo PatternIt is recommended that you do Level 1 before starting on Level 2 or Level 3.

You can find in the left panel above instructions and a series of challenges. Click the blue buttons to move through the challenges. You can use the snipping tool to capture pictures of your work which you can paste into your notes.

Click on the information tab above to see details of the Levels and a very useful 'history' feature which records all of the commands you type into Logo.

Notice in the top right corned of the input box there is a small arrow. Click that to enlarge the input box and transform it into a place where you can type in a number of commands that won't execute until you press the Run button.

This version of Logo (Logo Interpreter) has been adapted from source code kindly made available by Joshua Bell and other contributors.

Please send Transum pictures of anything magnificent you produce with this application or describe your programming.

David Eisenstat, US

See how complex designs can be produced with only a small amount of code. This competition winner is called Dahlia:

repeat 8 [rt 45 repeat 6 [repeat 90 [fd 2 rt 2] rt 90]]

The 6 can be replaced with 1 to 7 for other flowers.

Wikipedia, The Free Encyclopedia

Seymour Papert (1928 – 2016) was a South African-born American mathematician, computer scientist, and educator, who spent most of his career teaching and researching at MIT. He was one of the pioneers of artificial intelligence, and of the constructionist movement in education. He was co-inventor, with Wally Feurzeig and Cynthia Solomon, of the Logo programming language.

He created Logo as a tool to improve the way children think and solve problems. Papert insisted a simple language or program that children can learn, like Logo, can also have advanced functionality for expert users.,

To appreciate the recursive power of Logo try pasting this into the input area above:

to fern :size :sign
if :size < 1 [ stop ]
fd :size
rt 70 * :sign fern :size * 0.5 :sign * -1 lt 70 * :sign
fd :size
lt 70 * :sign fern :size * 0.5 :sign rt 70 * :sign
rt 7 * :sign fern :size - 1 :sign lt 7 * :sign
bk :size * 2
window clearscreen pu bk 150 pd
fern 25 1

David, US

Made a ring with a rainbow in the middle in the middle with this code:
setpencolor "purple
arc 360 100
arc 360 80
arc 360 60
arc 360 40
arc 360 20
setpencolor "red
arc 360 10
arc 360 9
setpencolor "Orange
arc 360 8
arc 360 7
setpencolor "yellow
arc 360 6
arc 360 5
setpencolor "green
arc 360 4
arc 360 3
setpencolor "blue
arc 360 2
arc 360 1.

AV, Australia

Is it possible to have a wait command, like the old Logo, to watch the pen draw?

Transum: Thank you for your question AV. There is a wait command but it is only available in Levels 2 and 3. Type the following to see the wait command in action:

repeat 8[fd 30 wait 60 rt 45]

Do you have any comments? It is always useful to receive feedback and helps make this free resource even more useful for those learning Mathematics anywhere in the world. Click here to enter your comments.


©1997-2019 WWW.TRANSUM.ORG