[ Home ] [ Back ... ]

Logo Microworlds

Concrete toys to abstract programs

Some links on this page are references to Wikipedia articles where content may change.

For me, Logo is one of the most important examples of a learner-focussed computing activity. It is also one of the few that is well supported by a coherent theory of learning in addition to a computer-based tool kit.

Logo  is a programming language. It is related to a programming language called LISP (see here for more information about LISP). In the 1960s and 1970s LISP was particularly favoured for use in developing applications which exhibited artificial intelligence (AI). LISP remains an active and widely used programming language across a range of applications and contexts.

Logo was developed in the 1960s within a community of AI researchers, educators, psychologists and thinkers based at the Massachusetts Institute of Technology (MIT) .

They thought about programming as a tool for analytical thinking. And because they were also interested in problems to do with understanding the mind and thinking in particular the kinds of programs they wrote had this kind of focus. For this community of researchers therefore programming was seen to be a formal language for making models of processes. At that time they were very focussed on cognitive process: music, poetry, art, motion.

They saw themselves "thinking about thinking". The educationalists among them, most famous and notable is Seymour Papert, saw the profound implications of the possibility that if children could write programs to do interesting this this would encourage higher order cognitive and affective learning. Thus Logo is not 'merely' a programming language but, through the work of the MIT group, is also a 'theory' of learning. Papert, and others in the group, were strongly influenced by, though critical of, the Piagetian perspective on learning, which at the time was something of a paradigm for thinking about the growth of knowledge in the child and adult.

However, although Logo is very strong on learning theory, it has little or nothing to say about teaching or about how Logo works in classrooms although at the time of Logo's development Papert  took a strong view on the role of teachers in the learning process (and still does today). From a Logo perspective, strongly influenced by a Piagetian orientation, teachers are relatively unimportant and can even get in the way. This is entirely consistent with a Piagetian perspective which roots significant learning more strongly in the biological than the social, with the social contexts of learning acting more like triggers or stimuli for cognitive change and development rather than acting as a causal agent (unlike say the Vyogotskian perspective where the social context of learning is fundamental and critical). So for Papert and many of the Logo originators, stimulus and experience are more important than instruction, objectives or even social interaction.

Today some aspects of Logo seem dated. The programming style is classical, using a command line input (CLI) to enter program commands; support for contemporary standard devices such as a mouse is limited in many versions. The bare simplicity of a CLI programming environment can be an unusual thing for today's young computer users where the GUI is supreme. Logo implementations can be limited in almost all the areas where modern ICT excels - colour, media, speed - though there are some excellent implementations available (Imagine Logo and Microworlds EX being two good examples).

But the pedagogical heart of Logo remains valid: learners (whether children or adults) are active constructors of their own knowledge and skill; if effective learning is to occur, problem-solving, investigation and play are essential processes.

Thus Logo is not just a programming language. It is also a style of learning (recall too Papert's use of the image of 'samba schools' as models of ideal Logo learning environments).

Mind you, it is not necessarily an easy or trivial style. An early slogan associated with Logo learning , which I like very much, is "hard fun". Such a potent combination of challenge and play is not easy to find. My experience is that classrooms in UK schools tend not to promote such a combination, but of course it is not an easy thing to create learning environments where on the one hand you are entitled to, expected, to derive great pleasure from learning but on the other hand you are expected to persevere, sweat, and struggle to achieve goals.

Although Papert and Logo is strongly associated with  'constructivism' - a mode of learning where learners build knowledge - my recollection is that Papert and those around him actually called themselves constructionist. This is a slightly different emphasis from constructivism. Logo emphasises the idea of tool-making rather than knowledge making and though these are related they are sufficiently different. The distinction may be worth fighting for, and I shall return to this issue at another time.

The Turtle is not merely a tool for drawing pictures, albeit clever and complex graphics, but is, fundamentally, a concrete device: the Turtle is a robot, a physical device, a machine that I can relate to directly. That's why floor turtles (and related devices such as Roamers, Pixies, Pippins, Beebots) are so important in the learning progression. It is why Turtle graphics is so accessible in principle.

Using Papert's own terminology the Turtle is syntonic with aspects of my physical experience, or that of the child, or novice - it can move forward, back right and left, just as I do (well, admittedly it doesn't have legs and things but it can move about in something of an analogous way). When you work with young learners, or even adults who come to Logo for the first time, starting out with the physical machine is very helpful, if not very important (we use RoboLab a fair bit). It builds a physical relationship with the Turtle. By the way, the very idea of building any kind of relationship with an inanimate object is derived from Winnicott - the Turtle is a 'transitional object' (see also Turkle)

The Turtle is the important heart of Logo. But note that the Turtle is really a whole class of programmable objects. In some of the early research papers published by the MIT Logo Group (see these examples on Cynthia Solomon's site) in the 1960s Papert and his colleagues were describing the creation of a cybernetic circus where robotic snakes, horses, juggling machines and devices that can balance a stick, could all play alongside a musical organ in a cybernetic big top.

There is a lot more than that of course. The challenge is to find microworlds that carry the same kind of transitional power that is carried by the Turtle. There aren't too many around, I don't think, but some valuable examples are to be found in the early work of Bamberger (her biography doesn't mention her connection with Logo unfortunately), who developed music microworlds (using the idea of tuneblocks), and Mike Sharples's Boxes and Phrasebooks. 'Newton' is another kind of example where the Turtle has been developed to include representations of gravitational forces. More recent, and significant perhaps, is the evolution of Logo into a parallel processing style microworlds as in StarLogo and NetLogo, where theories and models about artificial life and emergent behaviour can be explored. Multiple turtles was an early feature of most implementations and sprites were an early, important example of parallel processing (a sprite in Logo has three properties: heading, position and velocity. A regular Turtle has only heading and position (it's a sprite with no speed). Some early versions of Logo included sprites (e.g. Atari Logo and Logotron Logo for the BBC B had a sprite board, an additional processor driven card connected through the 1MHz bus).

It is surprising that sprites have not survived.

But at the root of it all is the Turtle. The Turtle must be rated surely as one of the great discoveries of educational technology in the latter half of the 20th century. It has an interesting genesis (e.g. coming down from Grey Walter's  work in Scotland on the Tortoise) and Papert and his colleagues at MIT forged a powerful link between the robotic Turtle and theories about learning both in the cognitive domain (Piaget) and the affective domain (Winnicott)

Visit the Logo Foundation as a starting point for finding out more about the history and background of Logo. It is a rich and interesting story.

Below this line are some miscellaneous notes and scraps.

by such tools as Success Maker - see also Pearson's site for a collection similar products - and its ancestors such as PLATO ]

Within Logo we find the Turtle. The Turtle is a real thing. It exists as a special type of cursor on the computer screen. It also exists as a physical machine that can be controlled directly from the computer or as a standalone device with its own internal computer. Many similar devices have been constructed and marketed down the years. The simplest device currently available in the UK is the Pixie or the BeeBot. Its more elaborate cousin the PIPPIN has more programmability as does the Roamer both of which have a more extensive keypad to allow more sophisticated programming. Finally there is the Valiant Turtle which is controlled directly from the PC via an infra red link (the Roamer too comes with software that allows programs to be created on the PC and then downloaded to the machine). We should not forget LegoLogo or Robolab.

The Turtle can draw lines with a pen. Hence, Logo graphics is also known as Turtle Graphics. (The Turtle can do lots of other interesting stuff apart from drawing lines with a pen, but maybe we'll come back to that).

How the idea of the Turtle was developed is a story told elsewhere (link to be located) but for now we need to think about it in relation to some of the general principles of the underlying learning theory that informs Logo's original design and development:

No threshold, no ceiling Logo (specifically Turtle Graphics) is designed so that anyone can start no matter how little they know, but it can be interesting for experts too.

This is generally true: nursery children can have a lot of useful fun playing with programmable toys such a Pixie, a Roamer, or a BeeBot; at the other extreme, Logo can be used by mathematicians can explore the intriguing world of fractal graphics.

Familiar to abstract Following on from the first principle, the reason why nursery children can get started with a Pixie or a Turtle is that they already know something about how it behaves. They can walk forward and turn corners too. The turtle is a model for some of the things they can do themselves. (In Logo terms, the knowledge domain modelled by the Turtle is syntonic).
Concrete to abstract A principle familiar to most primary school teachers: work with materials you can touch, see, weigh, kick, measure, control ... The Pixie is obviously such a device, and the screen Turtle is also such a device. You can control it, make it do things - it's concrete ... but it is also abstract. Although you can touch the Pixie you can't really touch the screen Turtle, but you can still control it.
Embodies powerful ideas This principle is where the programming comes in. Turtle Graphics clearly embodies powerful mathematical ideas such as loops, recursion, procedures, variables, inputs and outputs etc. These are also powerful computational ideas.

These principles suggest a simple progression:

An important concept in understanding the use of Logo for creating learning experiences and opportunities, is the idea of the microworld. In part this idea is derived from the AI background in which Logo was developed. It means little more than that within Logo we can construct or be provided with models and simulations that we can control. In the context of Logo, however, the method of controlling the microworld should be as close as possible to the normal programming conventions employed in Logo.

It is through through the process of controlling (programming) a microworld that conceptual learning takes place. A microworld should be carefully or appropriately designed so that there is indeed some useful learning that can occur - it should embody some useful concepts or ideas. It should also have the important characteristic that it can be programmed, i.e. controlled. So a good microworld actually looks like Logo and is manipulated in much the same way.

In the more technical aspects of the definition of a microworld in Logo, microworlds are state-process models or descriptions. E.g. the Turtle has various states. Procedures can be used to alter or manipulate those states. A state-process microworld consists of atomic/primitive commands or procedures actions that can be combined using lower level programming constructs (loops, variables, arrays etc.) to generate more complex and interesting actions (extensibility).

The archetypal microworld is, of course, Turtle graphics. It is a (mathematical) microworld in which the user can control the motion of a pen wielding robot in a two-dimensional space. As we have noted, the Turtle is already a model for some of the characteristics of motion that I possess, and it can be controlled using the normal programming conventions of Logo (loops, procedures, variables etc). Turtle Graphics is a particularly powerful microworld because we can create other microworlds within it!

[ Notes to complete ...

Other powerful microworlds exist: sprites enable the representation of bodies in motion;

dynaturtle; boxes and phrasebooks; parallel processing turtles {Starlogo/NetLogo}

(Notes for completion - Programming: loops; iteration (recursion); variables; procedures; inputs and outputs; conditionals; data structures.)

It recently struck me that there is an important difference between writing Logo programs to do interesting things and writing Logo programs to analyse or model a problem. I seem to recall that in the early days of Logo there was this widespread notion, which also attached itself to BASIC (e.g. BBC Basic in the 1980s), that programming is more than a simple exercise in coding data - it can be a tool for thought, a tool for thinking about thinking.

So the MIT Group came up with the notion of a microworld: a state-process toolkit for modelling some aspect of knowledge or behaviour.

Turtle Graphics is a paradigmatic microworld, perhaps the best example we've got. A variety of tools make the Turtle good for drawing using all kind of geometry from the simple (Euclidean) to the complex (Euclid on a sphere); it also has tools for exploring simple robotics - giving the Turtle a sense of location and interacting with its environment. And like all good microworlds Turtle Graphics is extensible - you can use the existing tools to build new ones. (There are others - see here for a discussion.)

How does learning take place in a microworld? Well, the fundamental processes according to this perspective are Piagetian in their developmental nature - programming in microworlds affords experiences that have effects for cognitive learning, i.e. learning without direct instruction.

Perhaps Logo research has, however, underplayed the social dimension of learning in Logo, although this is rarely discussed in the literature.

In its heyday Logo was mostly played out in specialised learning labs run by enthusiastic people (e.g. at MIT), classrooms and schools that were the focus of special projects (e.g. LampLighter), or by thousands of individually enthusiastic teachers. In these situations learning with Logo has never been a completely isolated or individualised experience; in practice programming in microworlds has been more Bruner than Piaget - a strong social component, structured into guided, scaffolded experiences, working through a domain in a spiral - always coming back to what you know but at a more advanced level (Logo is said to have a low threshold but a high ceiling).

Let's leave the discussion about how microworlds cause or enable learning and turn to the description of this project.

One of Logo's basic structural features is its use of procedures coupled with variables. But maybe the most important entity in Logo is the list. Lists are frequently labelled with names, i.e. what we would call variable names.

We can join or split lists, sort lists, store them and, depending on the nature of the contents, add them, subtract them and even run them as programs; a procedure, after all, is just a list of things to do.

The list is fundamental.

Logos in general, and FMSLogo in particular, are not well oriented towards the display of ordinary text.

This is partly historic - in the early days of computers all text display was pretty basic and since then as developers have produced different versions of Logo they have given greater emphasis to the graphics dimension and paid not attention to the textual side.

It is also a little surprising but then few have paid much attention to the power of Logo for handling text, for  example in the creation of text microworlds such as Boxes and Phrasebooks, or in the exploration of language structure as found in EP Goldenberg and W Feurzeig (1987) “Exploring Language with Logo”,  MIT Press.

It is in principle possible to use such commands as LABEL in FMSLogo and to use the Turtle to display text but this involves some cumbersome programming.

Structured programming movement? Method of analysing a procedural problem. Juggling, chatting,


[ Home ] [ Back ... ]