Computer programming can be tremendous fun, as well as educational. And the best way to start learning to program is indeed to have fun: to experience the pleasure of intellectual creativity as you capture your imaginative ideas in computer code.
Unfortunately, systems designed for beginners tend to be very limited in their scope, giving few opportunities to explore the more exciting areas of computing, or using only a "toy" programming language which cannot be taken further. So those wishing to learn programming beyond this face the daunting hurdle of learning a "professional" system, in which the joys of creative programming may be achievable only after a great deal of relatively dull study.
The two Turtle Graphics systems provided here are designed to fill this gap, enabling absolute beginners to learn very easily in a friendly graphics environment, to progress quickly onto exciting (and visually impressive) techniques such as recursion, but at the same time learning a programming syntax that is widely used in professional systems.
You can use these systems to produce visual designs and animations, and it is now possible (thanks to new developments in summer 2010, to mount these on your own web pages using purpose-built applets. To see examples of programs written by programming beginners, within a course run at Leeds University using the Turtle Pascal system, see the Turtle Applet Page
Those who wish to learn to program in a Pascal-style syntax (as used in systems such as Delphi, Modula and Oberon) should choose Turtle Pascal
Those who wish to learn to program in a Java-style syntax (as used also in systems such as C and C++) should choose Turtle Java
For those who want to learn more about how computers work, these systems also provide a unique facility to "see under the bonnet", incorporating a visual compiler which translates the written program into a form of "machine code" for a virtual Turtle Machine (when the program runs, it is this compiled "machine code" that is actually executed). Since the Turtle Machine supports parameterised procedures with full recursion, this gives an opportunity to learn about a fascinating topic which is usually confined to advanced university courses, but entirely accessible (though not easy) when presented in this way.
To support self-teaching, both systems incorporate very comprehensive online Help files, including exercises, straightforward explanation of the concepts involved, and reference materials.