This series introduces Logo programming for beginners. These 12 challenges are written for you to work through at your own pace.

You don't need to know anything about programming at the start: you will learn enough at the first stage to write your own programs, and you may surprise yourself by how much you can achieve right away.

Windows users can download a free copy of FMSlogo.

A good free version for Mac users is ACSlogo.

There's a version you can run directly in your browser at http://calormen.com/logo/.

##### Age 7 to 16

Challenge Level

A Short introduction to using Logo. This is the first in a twelve part series.

##### Age 7 to 16

Challenge Level

This is the second in a twelve part introduction to Logo for beginners. In this part you learn to draw polygons.

##### Age 7 to 16

Challenge Level

More Logo for beginners. Now learn more about the REPEAT command.

##### Age 7 to 16

Challenge Level

Learn how to draw circles using Logo. Wait a minute! Are they really circles? If not what are they?

##### Age 7 to 16

Challenge Level

Learn about Pen Up and Pen Down in Logo

##### Age 11 to 18

Challenge Level

Learn to write procedures and build them into Logo programs. Learn to use variables.

##### Age 11 to 18

Challenge Level

More Logo for beginners. Learn to calculate exterior angles and draw regular polygons using procedures and variables.

##### Age 11 to 18

Challenge Level

Write a Logo program, putting in variables, and see the effect when you change the variables.

##### Age 11 to 18

Challenge Level

Turn through bigger angles and draw stars with Logo.

##### Age 11 to 18

Challenge Level

What happens when a procedure calls itself?

##### Age 11 to 18

Challenge Level

This part introduces the use of Logo for number work. Learn how to use Logo to generate sequences of numbers.

##### Age 11 to 18

Challenge Level

Can you puzzle out what sequences these Logo programs will give? Then write your own Logo programs to generate sequences.

Unfortunately logo is really the name of a family of languages, rather than one single standard language. You can't expect programs written for one logo to run unchanged in another implementation.

Once you have picked up a taste for programming, try moving on to other more useful languages. We'd recommend Processing (java) or Nodebox (python) for graphics, or the excellent Eloquent Javascript text as an introduction to web programming.

For general purpose mathematical programming, try python or ruby. Both these languages can handle integer arithmetic without introducing rounding errors, and there are plenty of free web resources to get you started.