LOGO(ID:291/log016)

Elementary list processing language with interactive graphics 


from Greek logos (word)

Fuerzeig et al, Bolt Beranek and Newman 1967

Developed 1966-1968 by a group at Bolt, Beranek & Newman headed by Wally Fuerzeig and including Seymour Papert. A LISP-like language aimed at children, to teach them the concepts of computer programming in a fun and intuitive way.

One of the ideas guiding it's creation was the principle "low floor, high ceiling". This means that it should be easy for the novice programmer to get started (the "low floor") writing programs and getting satisfaction doing so, but that the language should be powerful and extensive in a "sky is the limit" sort of a way (the "high ceiling).  

The graphics interface - the  "turtle" that walked around the screen and drew geometric shapes was an add-on done at BBN, which was a runaway success. As a result, LOGO has become thought of as a children's graphics language, which does not do it justice.

The original implimentation (called "ghost" Logo in Logo-circles) was implemented on the BBN PDP-1

Places
Related languages
LISP 1.5 => LOGO   Influence
LISP 1.5 => LOGO   Written using
TELCOMP => LOGO   Written using
LOGO => Boxer   Evolution of
LOGO => DL Logo   Implementation
LOGO => Leogo   Subsumed
LOGO => LLOGO   Implementation
LOGO => Logo II   Augmentation of
LOGO => LOGO-S   Standardisation
LOGO => Marta   Implementation
LOGO => Martino   Implementation
LOGO => MultiLogo   Augmentation of
LOGO => NeoLogo   Evolution of
LOGO => ObjectLogo   Extension of
LOGO => PLOGO   Port
LOGO => SIMULOGO   Extension of
LOGO => SLOGO   Implementation
LOGO => SOLO   Evolution of
LOGO => Terrapin Logo   Implementation
LOGO => Yellow Brick Logo   Implementation

References:
  • Feurzeig, W., Lukas, G., "Information Processing Models and Computer Aids for Human Performance, Section 3: Programming Language as a Tool for Cognitive Research," AD732308, Defense Documentation Center. view details
  • Feurzeig, W., Lukas, G., et al, "Languages as a Conceptual Framework for Teaching Mathematic: final report on the first fifteen months of the Logo Project, submitted to the U.S. National Science Foundation", Bolt, Beranek & Newman Inc. Report #1889, November 30, 1969. view details
  • Papert, Seymour "A Computer Laboratory for Elementary Schools", AIM No. 246 (LOGO Memo No. 1) October 1971 view details
  • Papert, Seymour "Teaching Children Thinking" MIT AIM 247 (LOGO Memo No. 2) October 1971 view details
  • Papert, Seymour "Teaching Children to be Mathematicians VS. Teaching About Mathematics", AIM 249 (LOGO Memo No. 4) July 1971 view details
  • Papert, Seymour and Solomon, Cynthia "Twenty Things To Do With a Computer" AIM 248 (LOGO Memo No. 3) June 1971 view details
  • Baecker, Ronald "The use of logo in a 'computers and society' course " view details Abstract: A central theme of a "Computers and Society" course is a discussion of social implications-- ethical, political, economic, sociological, psychological--of the widespread use of computers. Experience developing and teaching such a course (*) has demonstrated that a real context of specific computer applications is requlred as a framework for these discussions. For example, students who understand the different ways computers are being used in the educational process, and the assumptions, methodologies, strengths, weaknesses, successes, and failures of each approach, can explore with greater depth and insight the problem of exaggerated claims discussed by Oettinger; the threat to privacy posed by educational data systems; the ways in which automated teaching systems are thought by some to individualize instruction, and are seen by others as depersonalizing and dehumanizing; ~nd the issues of power and control that are raised by the increasing use of computers in education, and in society in general.
    DOI Extract: The use of Logo
    The use of LOGO in a "Computers and Society" course can serve three functions:
    (i) Time to teach programming to students with no computer background is very scarce. LOGO can be quickly taught, because of its conversationality, simple reidable, and English-like appearance, and comprehensible error diagnostics, and because using LOGO is fun.
    (2) In discussing computer applications, and their scope, useability, flexibility, reliability, and cost, it is helpful to discuss "computer science" concepts like the embedding of computations, hierarchy, and modularity; the organization of data into information structures, and the efficiency of accessing this data; control, interactivity, and error recovery; and hardware-software tradeoffs. Simple LOGO programs can easily be constructed to illustrate these concepts.
    (3) A major difficulty is in making concrete the discussion of apparently complex application programs. A set of LOGO-based toy application programs should be constructed and configured as a computer applications laboratory. For instance, in the area of educational applications, the student will be able to play with simple versions of a CAI program, a CMI program, and a computer counseling program.
    She will be encouraged to modify slightly and experiment with these systems; the instructor will discuss and demonstrate more extensive modifications. The applications will become tangible and comprehensible in a way no abstract discussion could even achieve.

          in [ACM] Proceedings of the 1972 Annual Conference of the ACM view details
  • Brown, John Seely "Recursive functional programming as a conceptual tool for social scientists" p320 view details Abstract: University of California at Irvine
    For the past two years at the University of California at Irvine Brown and Rubinstein have conducted an experimental course introducing undergraduate social science and humanities students to computing. This course was quite different from more traditional introductory computer programming courses in that we were not concerned with teaching such transferable skills as programming or numerical data analysis. Instead we focused our energies on:
    (i) providing a reasonably rich meta-language for expressing complex models that often resist being expressed in more rigid classical, mathematical terms.
    (2) encouraging thinking about problems in a formal manner without arousing the apprehensions these students have toward theories that "appear" mathematical.
    (3) exposing the students to some logical problems which lead to interesting social sclence metaphors such as how to organize communication between processes, how names can have different meanings even within a procedure, and how information can be best structured.
    (4) showing how an algorithm can often produce unexpected results.

    In addition to using LOGO we used a computer art language to let the students discover how complicated patterns can sometimes be described or generated by simple procedures.
    This paradigm not only aids in understanding the role of generative grammars for describing complex structures but also provides a dramatic example of how a simple procedure can generate quite surprising output. In particular we considered Moire patterns and other classes of pictures whose visual impact depends on subtle relationships.
    In our presentation we will discuss how we tried to accomplish these goals, giving some simple illustrations of procedures and exercises geared to these issues. We will further discuss why we found LOGO-type languages to be particularly useful and what kinds of problems we had in getting students to develop reasonable debugging strategies. Although we are hesitant to declare the experiments an unequivocal success, we have unquestionably aided our students in creating more rigorous theories from hazy conceptual ideas and have enabled them to feel creative in a formal domain.
    DOI
          in [ACM] Proceedings of the 1972 Annual Conference of the ACM view details
  • Lukas, George "Uses of the LOGO programming language in undergraduate instruction" view details Abstract: LOGO is a programming language developed at Bolt Beranek and Newman Inc. specifically for use in teaching. It provides the student with a rich set of numerical and symbolic primitives as elements for gradually building extended, complex program structures. The building of these structures is greatly facilitated by a procedure-oriented programming heuristic and by recursive programming. Combined with these, to make LOGO easy to learn and use by students and teachers, are a syntax resulting in program forms which resemble ordinary English, and powerful tools for debugging and modifying programs. Students without special mathematical ability can use LOGO to do real work on problems previously inaccessible to them.

          in [ACM] Proceedings of the 1972 Annual Conference of the ACM view details
  • Papert, Seymour "On making a theorem for a child" view details
          in [ACM SIGCSE-SIGCUE] SIGCUE 3 - Computers in education - some novel approaches 1972 view details
  • Austin, Howard "The Logo Primer" Logo working paper 19, MIT Artificial Intelligence Lab, January 1973 view details
          in [ACM SIGCSE-SIGCUE] SIGCUE 3 - Computers in education - some novel approaches 1972 view details
  • Goldstein, Ira "Germland" Logo working paper 7, MIT Artificial Intelligence Lab, February 1973 view details
          in [ACM SIGCSE-SIGCUE] SIGCUE 3 - Computers in education - some novel approaches 1972 view details
  • Newman, W.M. "An informal graphics system based on the LOGO language" pp651-655 view details
          in [AFIPS] Proceedings of the 1973 Fall Joint Computer Conference FJCC 42 view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 330 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in ACM Computing Reviews 15(04) April 1974 view details
  • Abelson, Hal and Jim Adams "A Glossary of LOGO Primitives" MIT AIM-315 December 1974 view details Abstract: This is a brief description of the primitives in PDP 11 LOGO. It is intended to provide a quick reference for users who are already familiar with LOGO basics. For a more detailed and comprehensive description of LOGO, consult the LOGO Manual (A.I. Memo 313, LOGO Memo 7).
          in ACM Computing Reviews 15(04) April 1974 view details
  • Abelson, Hal; Goodman, Nat; and Lee Rudolph "LOGO Manual" MIT AIM-313 December 1974 view details Abstract: This document descibes the LOGO system implemented for the PDP 11/45 at the M.I.T. Artificial Intelligence Laboratory. The “system” includes not only the LOGO evaluator, but also a dedicated time-sharing system which services about a dozen users. There are also various special devices such as robot turtles, tone generators, and CRT displays.
          in ACM Computing Reviews 15(04) April 1974 view details
  • Abelson, Hal; Goodman, Nat; Rudolph, Lee "PDP-11 Logo Manual" Logo memo 7, MIT Artificial Intelligence Lab, August 1974 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Bamberger, Jeanne "The Luxury of Necessity" MIT AIM-312 December 1974 view details Abstract: This paper was originally written as an address to a conference of the National Association of Schools of Music on “The Music Consumer”. Posing a series of questions which point to fundamental issues underlyin the LOGO music project, the paper goes on to describe some of the specific projects with which students have been working in an effort to probe these issues. Emphasis is placed on “modes of representation” as a significant realm of enquiry: just how does an individual represent a tune to himself, what are the differences between formal and informal modes of representation – what features and relations of a melody does a representation capture, what does it leave out? What is the influence of such modes of “perception”, how do they effect strategies of problem solving, notions of “same” and “different” or even influence musical “taste”? Finally, there are some hints at what might constitute “sufficiently powerful representations” of musical design with examples from both simple and complex pieces of music as well as a probe into what might distinguish “simple” from “complex” musical designs.
          in ACM Computing Reviews 15(04) April 1974 view details
  • Bamberger, Jeanne "What's in a Tune" MIT AIM-314 November 1974 view details Abstract: The work reported here began with two fundamental assumptions: 1) The perception of music is an active process; it involves the individual in selecting, sorting, and grouping the features of the phenomena before her. 2) Individual differences in response to a potentially sensible melody rest heavily on just which features the individual has access to or is able to focus on. pdf
          in ACM Computing Reviews 15(04) April 1974 view details
  • Goldstein, Ira P. "Summary of MYCROFT: A System for Understanding Simple Picture Programs" MIT A.I. Lab. AIM-305 May 1974 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Goldstein, Ira; Lieberman, Henry; Bochner; Harry and Miller, Mark "LLOGO: An Implementation of LOGO in LISP" MIT AIM-307 June 1974 view details Abstract: This paper describes LLOGO, an implementation of the LOGO language written in MACLISP for the ITS, TEN50 and TENEX PDP-10 systems, and MULTICS. The relative merits of LOGO and LISP as educational languages are discussed. Design decisions in the LISP implementation of LOGO are contrasted with those of two other implementations: CLOGO for the PDP-10 and 11LOGO for the PDP-11, both written in assembler language. LLOGO’s special facilities for character-oriented display terminals, graphic display ‘turtles’, and music generation are also described.
          in ACM Computing Reviews 15(04) April 1974 view details
  • di Sessa, Andy "Turtle Escapes the Plane: Some Advanced Turtle Geometry" MIT AIM-348 December 1975 view details Abstract: Since the LOGO Turtle took his first step he has been mathematically confined to running around on flat surfaces. Fortunately the physically intuitive, procedurally oriented nature of the Turtle which makes him a powerful explorer in the plane is equally, if not more apparent when he is liberated to tread curved surfaces. This paper is aimed roughly at the High School level. Yet because it is built on intuition and physical action rather than formalism, it can reach such “graduate school” mathematical ideas as geodesics, Gaussian Curvature, and topological invariants as expressed in the Gauss-Bonnet Theorem. pdf
          in ACM Computing Reviews 15(04) April 1974 view details
  • Goldenberg, E. Paul "A Glossary of PDP11 LOGO Primitives" MIT AIM-315A March 1975 view details Abstract: This glossary was written for the purpose of providing a quick and concise yet accurate description of the primitives and special words and characters of the March 18, 1975 PDP 11 implementation of the LOGO languge. Many entries include references to other related words and/or examples of the use of the primitive being described, but this is not intended to replace the functions of a good manual. For a more detailed and comprehensive description of the language, see the LOGO MANUAL, LOGO MEMO 7. The description of each LOGO word includes the work, itself, any arguments that the word may require, the “type” of word it is, abbreviated and alternate forms of the work, if any, and a definition correct as the date of this glossary. Word tupe is described on the first page and an example of the formatt of the entries is given below. In the appendix to this glossary are sections about 1) LOGO words that take a variable number of inputs, 2) infix operators, 3) editing characters, 4) special characters, 5) special names, 6) decimal ascii code and corresponding characters.

    pdf
          in ACM Computing Reviews 15(04) April 1974 view details
  • Abelson, Harold "Logo graphics as a mathematical environment" view details Abstract: The graphics commands included in the Logo computer language do not rely on a global coordinate system. Descriptions of geometric figures in Logo tend therefore to be more procedural than descriptions arising with most other computer graphics implementations, and couched in terms of properties which are intrinsic to the figure in question rather than imposed by an external reference frame. The ramifications for Logo's role as an educational computer language include a congenial environment for introducing students to mathematics, a natural tool for constructing computational models of animal behavior and a springboard for forays into advanced mathematics.
          in [ACM] Proceedings of the annual ACM conference 1976 , Houston, Texas, United States view details
  • Austin, Howard "Teaching Teachers LOGO: The Lesley Experiments" IT AIM-336 April 1976 view details Abstract: This research is concerned with the question of whether or not teachers who lack specialized backgrounds can adapt to and become proficient in the technically complex, philosophically sophisticated LOGO learning environment. Excellent results were obtained and are illustrated through a series of examples of student work. The report then gives some brief observations about the thought styles observed and concludes with suggestions for further work.


          in [ACM] Proceedings of the annual ACM conference 1976 , Houston, Texas, United States view details
  • Lieberman, Henry "The TV Turtle a Logo graphics system for raster displays" pp66-72 view details Abstract: Until recently, most computer graphics systems have been oriented toward the display of line drawings, continually refreshing the screen from a display list of vectors. Developments such as plasma panel displays and rapidly declining memory prices have now made feasible raster graphics systems, which instead associate some memory with each point on the screen, and display points according to the contents of the memory. This paper discusses the advantages and limitations of such systems. Raster systems permit operations which are not feasible on vector displays, such as reading directly from the screen as well as writing it, and manipulating two dimensional areas as well as vectors. Conceptual differences between programming for raster and vector systems are illustrated with a description of the author's TV Turtle, a graphics system for raster scan video display terminals. This system is imbedded in Logo, a Lisp-like interactive programming language designed for use by kids, and is based on Logo's turtle geometry approach to graphics. Logo provides powerful ideas for using graphics which are easy for kids to learn, yet generalize naturally when advanced capabilities such as primitives for animation and color are added to the system.

          in [ACM SIGPPLAN] Proc ACM Symp on Graphic Languages, Apr 1976 view details
  • Solomon, Cynthia J. "Leading a Child to a Computer Culture" view details
          in [ACM SIGCSE-SIGCUE] The papers of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education February 1976 view details
  • Feurzeig, Wallace; Lukas G.; Lukas, Joan "The LOGO Language: Learning Mathematics Through Programming" view details
          in [ACM SIGCSE-SIGCUE] The papers of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education February 1976 view details
  • Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Papert, S. "Mindstorms: children, computers, and powerful ideas" Basic Books, Inc. New York. 1980. view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Abelson, Harold "Apple Logo" McGraw-Hill, 1982. view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Feurzeig, W. "The Logo Lineage" view details Extract: TELCOMP as the ancestor of LOGO
    Time sharing made feasible the economic use of remote distributed terminals and opened up the possibilities of interactive computer use in schools. We had recently implemented TELCOMP, one of the new breed of high-level interactive programming languages. TELCOMP was a dialect of JOSS, the first "conversational" (i.e., interpretive) language, developed in 1962-63 by Cliff Shaw of the Rand Corporation; its syntax was similar to that of BASIC, which had not yet appeared. Like BASIC, TELCOMP was a FORTRAN-derived language originally designed for numerical computational applications. Shortly after TELCOMP was created, we decided to introduce it to children as a tool for teaching mathematics and in 1965-66, under U.S. Office of Education support, explored its use as an auxiliary resource in eight elementary and secondary schools served by the BBN time-sharing system. Students were introduced to TELCOMP and then worked on standard arithmetic, algebra, and trigonometry problems by writing TELCOMP programs. The project strongly confirmed our expectation that the use of interactive computation with a high-level interpretive language would be highly motivating to students. Extract: LOGO based on LISP
    Incredibly, the best model for the new language (which was to be as simple as possible) turned out to be LISP, the lingua franca of artificial intelligence, often regarded (by non-LISP users) as one of the most difficult and formidable of languages. Of course, the syntax of Logo is much more familiar and accessible than that of LISP Essentially, though, Logo is LISP and is thus both an easy and a powerful language. The power is not evident in most existing microcomputer implementations, mainly because of their small memory and restricted performance.
    External link: Onlne copy at the Atari Archives
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
  • Harvey, B., "Computer Science Logo Style", MIT Press 1985 view details
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
  • Bigum, C., “Logo, Some Critical Reflections” in Salvas, A.D. & Dowling, C. (eds), Computers in Education: on the crest of a wave?, Computer Education Group of Victoria, Balaclava, 1986. view details
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
  • Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., and Miller, P. (1997) Mini-languages: A Way to Learn Programming Principles. Education and Information Technologies 2 (1), pp. 65-83. view details
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
  • "LOGO: a project history" by Anit Chakraborty, Randy Graebner, Tom Stocky 1999 view details pdf
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
  • Library of Congress Subject Headings L63 view details
          in Ditlea, Steve (ed) "Digital Deli: The Comprehensive, User-Lovable Menu of Computer Lore, Culture, Lifestyles and Fancy by The Lunch Group & Guests" Workman Publishers: New York, 1984. view details
    Resources