http://en.wikipedia.org/wiki/Logo_programming_language

Title: Logo Programming Language

Author (NA)

Retreived on 25/01/06

 

http://www.engin.umd.umich.edu/CIS/course.des/cis400/logo/logo.html

Title: LOGO, The LOGO Programming Language

Author (NA)

Modified by Steven Kiryakiza

Retrieved on 25/01/2006

 

http://www.siue.edu/~jandris/HTMLDocuments/ANDRIS/logo.html

Title: LOGO as a Programming Language for Educational Applications

Jim Andris (NA)

Retrieved on 25/01/2006

 

 

A Language for Integrated, Experimental Learning

 

 

 

 

 

A Language for Learning Problem Solving Skills

·        Learners can experiment with several lists of Logo elementary commands, or primitives. When from this experimentation emerges a list of commands that solves the problem at hand (say to draw a small circle), that list of commands can be given a name. This is done in Logo by typing the word "TO" followed by the name of the procedure, followed by the list of commands, followed by the word "END". From that point on, it is no longer necessary to type in the list of commands. Simply typing the name of the procedure will execute the entire list of commands. On the other hand, used properly, Logo can illustrate that there is nothing sacred about a particular list of commands, and alternative procedures for solving the same problem can be developed and given names, e.g. CIRCLEl and CIRCLE2.

·        At still a deeper level of the Logo language (beyond its procedurality), we can discern still other ways in which it significantly reflects the characteristics of human problem solving. Human problem solving is recursive, general, and hierarchical. The Logo language reflects all of these characteristics, some better than others. Perhaps if we trace the solution of a problem through its phases of development we can illustrate these characteristics of human problem solving as they manifest themselves in Logo.

·        Recursion may be defined as repetition. For example the procedure

TO SQUARE
FD 50 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50 RT 90
END

will solve the problem of finding a way to draw a square in Logo. On the other hand, the procedure

TO SQUARE
REPEAT 4[RT 90 FD 50]
END

solves the same problem without writing out the directions for drawing each side of the square. Instead, it simply says "draw a side, four times." Incidentally, this is called finite recursion, because we are counting to a finite number. The procedure

TO SQUARE
RT 90 FD 50
SQUARE
END

solves the same problem with an infinite recursion. (P.S.: CTRL-S to stop!) Recursion is an extremely important characteristic of human problem solving and it is reflected in nearly all computer languages.

Another important characteristic of human problem solving is its generality. We would prefer to solve a problem for a whole set of cases rather than have to solve the problem separately for each case in the set. Translated into our square problem, we might ask, why write a procedure for drawing a square of fixed size, when one can be written for drawing a square of any size? The procedure

TO SQUARE :N
REPEAT 4[FD :N RT 90]
END

solves the problem of drawing a square of size N. Perhaps and even more amazing demonstration of the power of recursion and generality combined is based on the fact that the exterior angles of a regular polygon are given by the formula 360/s, where s is the number of sides of the polygon. The following procedure draws a regular polygon of side, n, and number of sides, s.

TO POLY :S :N
REPEAT :S[FD :N RT 360/:S]
END

·        Hierarchicality is perhaps the most significant characteristic of human problem solving. This is the quality of analyzing a complex task down into subtasks, and those subtasks into still other subtasks. Every complex human procedure from writing or playing a symphony to balancing a checkbook displays hierarchicality. Logo is outstanding in its ability to reflect this important quality in its procedure. The key here is the fact that if one writes the name of procedure A as a step in procedure B, procedure A is automatically executed in proper sequence. The following procedure for drawing a house demonstrates hierarchicality, in that it is broken down into a square and a triangle, which are accomplished with the procedure POLY.

 

 

Application

Ø      Nowadays, it is possible to introduce Logo programming in primary schools as all schools have been supplied with computers. Whereas secondary schools have done this for quite a number of years already, through, in some cases students cannot explore it individually due to availability of facilities, but rather in pairs or groups.

Ø      Logo programming is mostly taught in computer lessons, but we can also bring it about in robotics, telecommunications, in science and English Language lessons (explorations of natural language) as well as in mathematics classroom particularly in the teaching of geometry or arithmetic.

Ø      Students will gain a greater comprehension of the concepts presented through their own hands-on exploration.

Ø      A teacher may allocate a lesson (or a few more) for this purpose. First of all, she may show the students how the logo “turtle” works. She can demonstrate how to make simple shapes they have learned like a square or a triangle step by step together with the commands. Then s/he can ask students to do the same thing in groups. After that students can be asked to make other shapes out of their own creativity, preferably individually or in pairs.

 

 

 

 

Prepared by 02B0622, 04B2309, 04B2302