Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Education Programming Software Entertainment Games IT Technology

Forty Years of LOGO 162

SoyChemist writes "Forty years ago, LOGO, a derivative of LISP, was born. Several years later, it became the cornerstone of educational software that simultaneously taught geometry and how to think like a coder. With a plethora of high-end educational software packages to choose from, each with flashy multimedia and trademarked characters, parents and teachers may find the humble turtle a bit outdated. Thankfully, several LOGO programs are available for free through a variety of websites, but perhaps 3D programming environments like Alice will be the wave of the future."
This discussion has been archived. No new comments can be posted.

Forty Years of LOGO

Comments Filter:
  • LOGO vs. BASIC (Score:5, Interesting)

    by gbulmash ( 688770 ) * <semi_famous@yah o o . c om> on Tuesday October 16, 2007 @12:43PM (#20997645) Homepage Journal
    I, for one, welcome our 40-year-old turtle overlords.

    My introduction to programming was BASIC, back in 1980. By the time I encountered LOGO in a high school computer science class, it was a fun toy for about an hour, but then got old. Thinking back to that, I could conclude that LOGO is sort of lame, but for little kids who don't have the typing and language skills of middle school or high school students, I guess it's a better entry into programming than BASIC.

    They're supposed to have LOGO on the OLPC XO laptop, and if I do that "buy one, donate one" thing, it will be interesting to see at which age my kid (who is now 2.5 years old) starts taking an interest in LOGO.
  • by crgrace ( 220738 ) on Tuesday October 16, 2007 @01:00PM (#20997943)
    I learned to program using LOGO on a Commodore Vic-20 in 1980 or 81. It was an astounding program because it enabled a very high level of functionality without needed knowledge of a lot of technical details of the machine. My school district (Portland, OR) had a Talented and Gifted program that included a computer course, and LOGO was it. We were able to draw polygons and devise simple games (somewhat more rudimentary than an Atari 2600). Based on this experience, my brother and I got a Commodore 64 a year or so later, and I was disappointed in BASIC. Sure, it was structured more like a "real" computer language, but it wasn't possible to do anything even remotely sophisticated in Commodore Basic graphics-wise without resorting to quasi-assembly PEEKs and POKEs. To get around this, my brother tried to learn 6502 assembly, and burned out on computers (he's now a lawyer.. poor man). I was lucky and discovered Pascal...

    I don't think I would have a career in the technology industry if it were not for LOGO (I'm an analog IC designer). A previous comment said Python is better for his child. I would agree. In fact, I would have done pretty much anything for Python and Pygame when I was a small child. However, for the late 70s and early 80s, LOGO was the educational language to beat, and the only way for a child to really feel the machine the way a programmer does, and not as a passive game player.
  • by SimBuddha ( 924737 ) on Tuesday October 16, 2007 @01:03PM (#20998009)
    My concern with teaching and using LOGO in education is that LOGO fails to provide people with a fully capable language that they can use life long. How many teens or adults program in LOGO? What type of "real" programs can be written in LOGO. Is it efficient enough for practical programs.

    My first programming language was BASIC, (then 6502/Z80 assembly) then Pascal, C and APL (APL is my favorite teaching langauge - see Kxdb+ from KX Systems to see where APL is now). While LOGO is cute, in my mind it fails the long term relevance test, and also is not close to CPU's in operational methodology.

    Just my 2 cents
    Simbuddha
  • Apple II had a facility called shape tables [wikipedia.org] that could do sorta what logo could do at the time. You typed in a bunch of vertices in hex, and then you could draw the shape transformed in several interesting ways.

    Shapetables, I thought, were the bomb, but also, proved to be my first introduction to the lesson: there is always a better program than you.

    I was in high school at the time, Firestone in Akron, and we had a teacher that fought for and got a really nice computer lab. He was great. He had a lot of prestige because a future shuttle astronaut was one of his students, and in general, the math department there was one of the best in the state.

    Anyway, I spent hours hand coding my shape table for a little lunar lander video game I was writing, and I thought I was the cat's meow, and I was all about to show it to everyone, trumpeting my genius, and this other guy walks in with a pinball game written in assembly language.

    All I could do was compliment the guy, because it was great. He had decent sound, fast graphics, smooth play. It was just great. Amazingly, I don't know where he went with it, because it was right up there with the commercial pinballs of the day. But still, talk about humiliation! I about died!
  • by Anonymous Coward on Tuesday October 16, 2007 @01:21PM (#20998307)
    Personally, I never learned LOGO in school, I used it at my first programming job!

    I was 17 years old and already know how to program in Z80 assembler and MBasic (Ah, the heady CP/M days!).

    Imagine my surprise when I got an apprenticeship at a place where they did accounting - in LOGO!

    Not just any LOGO either it was M.I.T. Experimental LOGO #43 if I remember correctly, running on a microcomputer with 12 terminals connected to it! And there was NO TURTLE in this LOGO, only the list operators, logic and math primitives!

    This company was doing the monthly accounting of about 40 or so client firms and the whole system was written in LOGO.

    I remember thinking "Why the heck are they using a kid language to do all this" at first, but under the teaching of my mentor, I learned recursion and abstraction to a level I had never considered before.

    I mean instead of tripping all over the mundane aspects of implementation that you would bump up against in assembler or BASIC, here was a language that was so high-level that you really could concentrate totally on the abstraction and algorithm of solving the problem without getting tangled in a lot of what seemed to be more real-world problems (memory allocation, variable types, string/array manipulation, etc...), this language forced you to think in really high-level ways about the problems you were trying to solve.

    It was a year of epiphany-after-epiphany for me and it did more to form me than any of the other languages I've ever touched. It caused me to rethink my approach to all other languages and tools and I feel tremendously fortunate that I was in the right place, at the right time to experience it all.

    Sadly, that company's history ended badly; one of the partners was billing the clients directly and ran off with the money, so the company went under and I never did find another company using LOGO again.

    Too bad reality and theory almost never line up...
  • Re:LOGO vs. BASIC (Score:5, Interesting)

    by xtracto ( 837672 ) on Tuesday October 16, 2007 @01:36PM (#20998555) Journal
    Thinking back to that, I could conclude that LOGO is sort of lame, but for little kids who don't have the typing and language skills of middle school or high school students, I guess it's a better entry into programming than BASIC.

    My first contact with programming about around 1986 was with Logo. My parents subscribed me to a private computer course and for us the small kids (I was 5 years old!) the teacher used Logo, for older guys he used Basic and even COBOL and FORTRAN. But It was Logo what made me really *understand* computers in the sense of how the famous Hacker's Manifesto [mala.bc.ca] explains, it is a very interesting machine which *you* can manipulate to do EVERYTHING!

    However, when you are referring at LOGO in your comment you are surely referring to the turtle-guided drawing interpreter of the language, which yeah can not compare with what BASIC was at that time. However, there are *plenty* of interpreters and other programs that use Logo as its underlying language. Lots of them are actively used in research for agent-based modeling such as NetLogo, StarLogo, or about StarLogo TNG which tries to go a step further to teach the basic concepts of programming by using building blocks.

    I think Logo is one of the *best* programs to begin computer programming for kids because it is very easy to make the computer *do* things, and with these new implementations it does not need to be as "boring" as just drawing lines.

  • Re:lopgo vs python (Score:2, Interesting)

    by Anonymous Coward on Tuesday October 16, 2007 @02:06PM (#20998981)
    Squeek and Flash let kids do a lot more visual stuff and make it easy to learn how things work.

    "More visual stuff", as evidenced in the brain-death that is MySpace. Is it too late to teach them away from more visual stuff? Into more like, you know, real content with some original thoughts put into it?

    And "how things work"... you mean how programming works, right? To teach how things work, take them to a library or workshop or just outside the house.

    Sorry if I'm coming across a bit grumpy, but I hope my kids don't learn programming; at least I'm not making any effort at guiding them to it. Well, maybe I could introduce INTERCAL as a "programming really is fun" education...

    (I don't consider myself a half bad coder, I love the few languages I know and want to learn more, but I hope my kids end up doing something really useful and helpful to other people... programming for living isn't exactly that. I contribute to some open-source projects but I don't feel I'm empowering anybody. Great, let every third world child become an intarweb junkie like us. Okay, I'll stop now. Didn't mean to troll.)
  • by Anonymous Coward on Tuesday October 16, 2007 @03:25PM (#21000315)
    Life-long tools I got in elementary school: Reading, Writing, and Arithmetic.

    Subjects where either the tools changed or my understanding of it was fundamentally altered by later education: Science, sociology, history, and everything else. And the "life-long" tools were built upon as well, of course.

    The purpose of most of your education isn't to prepare you for the rest of your life, it's to prepare you for the next step in your education. What a child is taught of gravity in first grade is so greatly simplified it bears little resemblance to what they'll be taught when they're a grad student in a physics department. But without that initial simplification, they won't be able to acquire all the intervening steps of understanding to get there.

    Tools are much the same. You could start a child in a career for art by inundating them with all sorts of artistic theories and art history, and information on what all the different types of media and canvas are, all at once. Or you could hand them some crayons and let them have at it, and gradually introduce those concepts. The second method works, if the kid has artistic inclinations. The first method leaves you with a kid who is bored, confused, and would like very much to do something, please.

    You're right; LOGO, at least as presented to grade school children, is not a viable adult language. But C++ is not a viable grade schooler language. Even the simplest C++ program, "Hello World" [roesler-ac.de], involves several commands, keywords and symbols that are unintuitive to a child. "Cout" is easily explained, and "main" only slightly less so, but "#include", "<iostream.h>", "return", and "<<" are all rather more esoteric. So the child either needs some pretty complex concepts (for a grade schooler) such as standard libraries, buffers, etc., explained to them, or they need to take it on faith that these lines which don't have a visible effect are important. The first, as noted above, leads to the child becoming bored and confused, and as for the second, children frequently refuse to take things on faith. The simplest LOGO program is "FORWARD 10" (or the equivalent). It says exactly what it does: "Move forward 10 paces". (I said "paces" instead of "pixels" because the child doesn't even need to understand, at this point, what the unit of measurement is.) They can string several such commands together, and each has a visible effect. Kids need a clear connection between what they do and what the effect is. LOGO provides that, C++ does not. BASIC straddles the line somewhat between adult languages and child languages, which makes it a good language for teenagers or advanced children.

    Are there better programming languages for grade school children to learn today? Possibly so. Were there back when I was a kid? Not that I've heard of.
  • by Anonymous Coward on Tuesday October 16, 2007 @07:00PM (#21003269)
    I have taught an introductory cs classes in C, Java, JavaScript, and Alice. The interest level was far higher in Alice than any other language, simply put it looks cool to students. They were always far ahead in the class. They also are doing well in their subsequent CS classes in C++ so the concepts seem to have transfered. I don't think the same transfer level would occur with Logo. At least, I learned nothing in Logo after having already learned Basic.
  • Re:lopgo vs python (Score:3, Interesting)

    by jbolden ( 176878 ) on Tuesday October 16, 2007 @11:20PM (#21005569) Homepage
    Logo is actually a pretty powerful subset of lisp. Its missing a few crucial elements but you can do an entire computer science curriculum [berkeley.edu] in logo.
  • by curri ( 107175 ) on Wednesday October 17, 2007 @10:47AM (#21010395) Homepage
    First, smalltalk is very much alive. Second, learning different programming languages helps you THINK in different ways. Smalltalk is incredibly nifty and has things that C++ doesn't (for example, EVERYTHING is an object, which means you can add a method to the equivalent of the int class), it also has the idea of an image. Basically, you save a *running* program, with all its data etc), which is incredibly nifty.

    I'm not a Smalltalk programmer and have just dabbled in it, but can tell you how other languages have helped my thinking. Learning Scheme made me really understand first-order functions, which made me able to efficiently use C pointers to function, and later many 'patterns' for event handling. Learning Haskell helped me really understand templates.

    So, learn the languages to help you learn to think, and who knows, maybe you'll even get a job using them (I've seen postings for Haskell, Smalltalk and Scheme)

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...