Logo is a simple programming language devised by Seymour Papert for educationalpurposes. Students can control the movement of a 'turtle' which draws lines on the screen.Students learn about lengths and angles while creating diagrams and patterns. Thelearning takes place as students experiment, get feedback and revise their actions in anon-judgmental environment. Students develop a much better understanding of anglesbeing an amount of turning than they do from more traditional, static exercises.
Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.
A general-purpose language, Logo is widely known for its use of turtle graphics, in which commands for movement and drawing produced line or vector graphics, either on screen or with a small robot termed a turtle. The language was conceived to teach concepts of programming related to Lisp and only later to enable what Papert called "body-syntonic reasoning", where students could understand, predict, and reason about the turtle's motion by imagining what they would do if they were the turtle. There are substantial differences among the many dialects of Logo, and the situation is confused by the regular appearance of turtle graphics programs that are named Logo.
Logo's most-known feature is the turtle (derived originally from a robot of the same name), an on-screen "cursor" that showed output from commands for movement and small retractable pen, together producing line graphics. It has traditionally been displayed either as a triangle or a turtle icon (though it can be represented by any icon). Turtle graphics were added to the Logo language by Seymour Papert in the late 1960s to support Papert's version of the turtle robot, a simple robot controlled from the user's workstation that is designed to carry out the drawing functions assigned to it using a small retractable pen set into or attached to the robot's body.
As a practical matter, the use of turtle geometry instead of a more traditional model mimics the actual movement logic of the turtle robot. The turtle moves with commands that are relative to its own position, LEFT 90 means spin left by 90 degrees. Some Logo implementations, particularly those that allow the use of concurrency and multiple turtles, support collision detection and allow the user to redefine the appearance of the turtle cursor, essentially allowing the Logo turtles to function as sprites.
Turtle geometry is also sometimes used in environments other than Logo as an alternative to a strictly coordinate-addressed graphics system. For instance, the idea of turtle graphics is also useful in Lindenmayer system for generating fractals.
Some modern derivatives of Logo allow thousands of independently moving turtles. There are two popular implementations: Massachusetts Institute of Technology's StarLogo and Northwestern University Center for Connected Learning's (CCL) NetLogo. They allow exploring emergent phenomena and come with many experiments in social studies, biology, physics, and other areas. NetLogo is widely used in agent-based simulation in the biological and social sciences.
Logo was a primary influence on the Smalltalk programming language. It is also the main influence on the Etoys educational programming environment and language, which is essentially a Logo variant written in Squeak (itself a variant of Smalltalk). Logo influenced the procedure/method model in AgentSheets and AgentCubes to program agents similar to the notion of a turtle in Logo. Logo provided the underlying language for Boxer. Boxer was developed at University of California, Berkeley and MIT and is based on a literacy model, making it easier to use for nontechnical people.
There are non-English kits available for this desktop app also such as German, Portuguese, Japanese, and two French adaptations. Moreover, it provides support for multiple turtles and 3D computer graphics. This PC programming environment can easily be installed in your system as quickly as possible. Most importantly, you no longer need further setting configuration to make this run.
The graphics window has a coordinate system. The values of the two coordinates (normally called x and y) at the center are 0, 0. At the northeast corner, they are 250, 250; at the southeast corner, they are 250, -250. At the southwest corner, they are -250, -250; etc. If the turtle tries to walk off onto one side of the screen, it wraps around. The right side wraps to the left side and the top wraps to the bottom.
The turtle can be directed with headings that correspond to a compass rose, with 0 or 360 degrees pointing straight up, 90 degrees straight to the right, and so on. You can set a variable to a number between 0 and 360 and then walk on that path.
Now let us try some commands. Commands will be issued one per line followed by a carriage return. Several of these commands can be typed in succession in a command window followed by a carriage return. The effect on the turtle is the same. However, if you type a command, which requires one or more inputs and provide the missing input(s) on the next line, Logo will show an error.
The pendown and penup commands tell the turtle to leave ink on the screen as it moves or not to leave ink, respectively. The hideturtle and showturtle commands hide or show the turtle, but do not affect its ability to leave ink as it moves. The home command causes the turtle to return to the center of the screen. It may leave ink behind, when the turtle returns to the center of the screen. The setpensize command decides the drawing pen size.
The setxy command takes two arguments, treats the first as the value of the abscissa (horizontal axis) and the second as a value of the ordinate (vertical axis). It places the turtle at these coordinates, possibly leaving ink while reaching these coordinates. In the following three figures, we have shown how the setxy command can be used.
It can be directed by typing commands at the computer. The command forward 100 causes the turtle to move forward in a straight line 100 "turtle steps". Right 45 rotates the turtle 45 degrees clockwise while leaving it in the same place on the floor. Then forward 50 causes it to go forward 50 steps in the new direction.
With just the two commands forward and right, the turtle can be moved in any path across the floor. The turtle also has a pen which may be lowered to the floor so that a trace is left of where it has traveled. With the pen down, the turtle can draw geometric shapes, and pictures, and designs of all sorts.
The traditional Euclidean geometry is built on abstractions: a point that has no size; a line that has length but no thickness. This is difficult for young learners to grasp. The turtle is a real concrete object that may be seen and manipulated. Analytic geometry rests on an outside frame of reference -- the coordinate system. In contrast, turtle geometry is "body syntonic". The turtle moves around as you do. You can identify with it and understand what it is doing.
While it is easy to get started with turtle geometry, it can also get quite complex. The bookTurtle Geometry, by Hal Abelson and Adrea diSessa includes many advanced explorations with the turtle.
Another species of Logo turtle emerged in the early 1980s. Dynamic turtles, or "sprites" as they were often called, lived in computers like the Texas Instruments TI99/4 and the Atari 800. The video game hardware in these machines allowed for software with numerous high speed multi-colored objects.
The versions of Logo created for these machines includes many turtles, which could take on a variety of shapes becoming birds, trees, dogs, or spaceships. Although the early video game computers disappeared, sprite capability has been included in most modern versions of Logo.
In MicroWorlds we can say forever [fly] to send the bird on its way, or we can program the bird-turtle itself with the instruction fly. Then clicking on the bird-turtle with the mouse sets it in motion. In PC Logo for Windows the instruction launch "fly produces an equivalent effect.
Logo turtle movements are measured in turtle steps while computer monitors display graphics in pixels. Logo provides several ways to relate turtle steps to graphics pixels. When Logo starts, each turtle step is equal to one screen pixel in any direction. The turtle is in WRAP mode, meaning it appears at the opposite border when it crosses one of the boundaries of the Graphics Window. If the window is enlarged with the mouse or the SETWINSIZE command, any wrapped lines reflect the previous border of the window but wrapping now occurs at the new window border. The HOME position is always in the middle of the Graphics Window regardless of its shape.
The SETWINSIZE command takes two inputs, the X and Y size of the drawing area as pixels. Since by default a turtle step is equal to a pixel, SETWINSIZE also determines the size of the Graphics Window in terms of turtle steps.
Sometimes it is useful to define the size of the Graphics Window in turtle steps regardless of its physical appearance in terms of pixels. Logo provides the SETEXTENT command to define the maximum distance from the HOME position of the turtle to the edge of the Graphics Window in terms of the turtle steps (the extent of the Graphcs Window). The SETEXTENT command takes one argument, the extent. You can, for example, establish that the border of the Graphics Window is 100 turtle steps from the HOME position no matter what the physical size or shape of the Graphics Window with the SETEXTENT 100 command. SETEXTENT can optionally take a second argument if you want to define different extents for the X and Y directions. For example, (SETEXTENT 100 200) defines a window that is 200 steps wide and 400 steps high. 2b1af7f3a8