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/.
First forward into Logo 1: square five
A Short introduction to using Logo. This is the first in a twelve part series.
First forward into Logo 2: polygons
This is the second in a twelve part introduction to Logo for beginners. In this part you learn to draw polygons.
First forward into Logo 3: repeat REPEAT
More Logo for beginners. Now learn more about the REPEAT command.
First forward into Logo 4: circles
Learn how to draw circles using Logo. Wait a minute! Are they really circles? If not what are they?
First forward into Logo 6: variables and procedures
Learn to write procedures and build them into Logo programs. Learn to use variables.
First forward into Logo 7: angles of polygons
More Logo for beginners. Learn to calculate exterior angles and draw regular polygons using procedures and variables.
First forward into Logo 8: more about variables
Write a Logo program, putting in variables, and see the effect when you change the variables.
First forward into Logo 10: count up - count down
What happens when a procedure calls itself?
First forward into Logo 11: sequences
This part introduces the use of Logo for number work. Learn how to use Logo to generate sequences of numbers.
First forward into Logo 12: puzzling sums
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.