|What is Logo? Why is it worth learning?|
Logo is a programming language which is often considered to be a philosophy of education as well – discovery learning or constructivism. It is an ideal tool for learning by doing.
All programming languages are tools for modeling reality. Logo is especially suitable for modeling reality that appeals to children. Of all the programming languages, Logo is a tool designed to make models in a fairly easy way.
With Logo, we model reality by envisioning a whole, then breaking this whole into manageable parts which can be taught to the computer. We use language the computer already knows to teach it new words. Often we teach a "turtle" new words. We do this by writing procedures, which are sets of instructions to perform each small task. We experiment with Logo commands and evaluate our program to see if the tasks are being performed as we intend. We respond to the computer's misunderstandings of our intentions as we "debug" commands and procedures and sometimes restructure our approach.
Here are some examples of how we might use Logo to experiment with triangles:
Perhaps we recall that a regular triangle has angles of 60 degrees. So in our first experiment with creating a triangle, we might instruct the turtle to move forward 30 tiny steps and then turn right 60 degrees:
Uh-oh, it doesn't look as if the turtle has turned enough! But let us repeat these commands three times and see if we've got a triangle:
No, that's not a triangle! Let's try some other angles:
The first experiment is three sides of a square! It looks as if we will need to turn more than 90 degrees. Why? We are telling the turtle how many degrees to turn, and this is the outside angle.
Ah, there we have it! Let's hide the turtle to make sure:
Now let's teach the turtle a new word, triangle, by writing a procedure:
We teach the turtle using words and numbers. In this example, we have drawn geometric shapes and designs. We can use Logo to manipulate numbers, words, and lists in a great variety of ways to create animations, simulations, and games. But the process of thinking about one's own learning and the process of creating are much more important than the end products. Logo was designed by Seymour Papert in the 1960's to be a language for learning. By its nature it is friendly: it is easy to relate to the turtle and begin to think of the world in the turtle's terms. Logo's language can be easily extended as we teach the turtle new words. With Logo, we get immediate feedback on our experiments, and it is easy to modify the commands and procedures. Logo is both flexible and powerful; it has a low threshold and no ceiling. With support, even young children can learn to program with Logo as they learn to think, explore, and create in new ways. And yet there is no limit to what can be done with Logo. In the rapidly changing world of computers and programming languages, Logo is an enduring classic.