About the Turtle System
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, the sophistication of many programming systems gets in the way here, with lots of new concepts and techniques required before the novice is able to apply any creative ideas.
To get over this daunting hurdle, it is helpful to start programming in a system which is intuitively “natural”, and where technical complications are kept to a minimum. A wonderful way of achieving this — which has since been very widely copied — was invented by Seymour Papert with his idea of Turtle Graphics, based on the metaphor of a turtle moving around the computer screen and drawing as it goes, all under the control of instructions given by a computer program. This sort of programming, and the results it produces, are easy to understand because they are so immediately visual. But the Turtle System provided here shows that Papert’s idea can go well beyond simple graphics, to provide a basis for fascinating and powerful programs that introduce fundamental concepts of software engineering and artificial intelligence.
For those who want to learn more about how computers work, the Turtle System provided here goes well beyond the basics of programming in Turtle Graphics, by including a facilities to “see under the bonnet” of a computer. The system incorporates 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.
The principles behind the Turtle System were explained in Peter Millican’s 2004 research thesis, which discusses much of the relevant pedagogical literature, as well as providing technical details and results from teaching experience:
For a less technical introduction, see Peter Millican’s articles in the Autumn 2014 and Spring 2015 editions of Computing at School’s SwitchedOn magazine:
- The Turtle System: An Easy Way into Text-Based Programming and Computer Science
- Using The Turtle System: An Easy Way to Start Text-Based Programming
Praise for the Turtle System
The Turtle System is a wonderful educational tool to develop young people’s thinking, giving a vision of the beauty and joy of Computer Science by offering a very approachable introduction to programming and much more. It connects the commands children write with the underlying instructions given to the machine that executes them, to satisfy the inquiring mind that constantly asks ‘how do they do that?’ The Turtle System makes real the connection between programming languages and machine code in a way that I have never seen in any other educational package, giving a more complete understanding of the processes involved, language translation and the fundamental notion of abstraction. It is deep stuff, that can be delved into at different levels with different ages, and I’d love to see it more widely used.
Roger Davies, Editor of CAS magazine SwitchedOn