Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education

LOGO Still Lives -- New Java-Based Version Released 161

farrellj writes "Many people were introduced to computer programming using a virtual turtle, or if you were lucky a robotic turtle. Created in the '60s by a bunch of people at MIT, including one of the formost experts on computer aided learning Seymour Papert, it gave a good grounding in programming in a day when BASIC and PASCAL were the only other easily available languages...I use to teach LOGO at a computer lab in Ottawa, but have lost touch with LOGO for many years. Today, a email appeared in my mailbox announcing a new release of LOGO called StarLOGO from MIT...wow...it is done in JAVA, and looks pretty snazzy. It runs on just about any platform, and I think that it again may be a great way to get young kids interested in programming. It took me about 2 minutes to get it running...just untar it, and run a shell script, and I had the enivronment up and running. In a couple more minutes, I was writing programs that created graphical displays that would look great at raves. So I guess it's for kids of all ages!"
This discussion has been archived. No new comments can be posted.

LOGO Still Lives -- New Java-Based Version Released

Comments Filter:
  • by jmacgill ( 547996 ) on Thursday September 19, 2002 @07:51AM (#4287699) Homepage
    The thing we all remember about LOGO as kids was the fun graphics. But it's also a full language and it's an exclenet way to learn programming.

    StarLogo has been around for a while now (though not in Java) and I've seen it used for some advanced things. For example, I remember being shown an agent based pedestrian model built using the thing if I remember rightly some years ago.
    • I'm glad you said that. It's a decent functional language in its own right. Like Lisp, without all the parentheses.
      • Maybe Logo was once a decent language - a Lisp variant - but the versions most people use must have been stripped down from that.

        I remember Logo as being less useful than Basic - what really sticks in my mind is the brain-dead syntax for string literals, where the first space character ends the string. Hello? Strings with spaces in them?

        There might be ways around that; there might be decent control structures (not just REPEAT 50), ways of creating data structures like arrays, and some means of calling external procedures or operating system routines. But they didn't get much emphasis in Logo programming textbooks, perhaps because they'd differ from one pl atform to another.

        Ah, looking at the old Logo book on my bookshelf I see that the language had list handling similar to Lisp, its parent. But much clunkier and less elegant. Logo may be a functional language but I wouldn't call it a decent one.
        • I remember Logo as being less useful than Basic - what really sticks in my mind is the brain-dead syntax for string literals, where the first space character ends the string. Hello? Strings with spaces in them?
          Traditionally you use a list in place of a string, like PRINT [How are you doing today?] -- all items of the list are implicitly quoted, so that's a list of five words. Many modern Logos have alternate syntaxes for expressing strings with spaces.
          There might be ways around that; there might be decent control structures (not just REPEAT 50), ways of creating data structures like arrays, and some means of calling external procedures or operating system routines. But they didn't get much emphasis in Logo programming textbooks, perhaps because they'd differ from one pl atform to another.
          Like most Lisps, you can define your own control structures -- all the traditional ones are usually included. For instance, you can implement WHILE like:

          TO WHILE :cond :body
          IF RUN :cond [RUN :body WHILE :cond :body]
          END

          Of course, you will run out of stack if your logo is not tail-recursive (UCBLogo is, many others are not). But with WHILE and some other primitives, you can implement most other control structures without needing tail recursion.

          The only data structure is usually the list. This serves as an array, and can do other things as well. Definitely old school Lisp. It's entirely sufficient, though associative arrays are convenient as well (can be implemented with lists, but annoying).

          External routines are, as always, entirely up to the implementation. Many have plugins, usually there is no way to call arbitrary external code.

          Ah, looking at the old Logo book on my bookshelf I see that the language had list handling similar to Lisp, its parent. But much clunkier and less elegant. Logo may be a functional language but I wouldn't call it a decent one.
          It's not meant to be a great language -- it's an expedient language for young children. One example of this is the extensive use of abreviations (e.g., FD for FORWARD). Real programmers don't like these in their languages -- but real programmers type much, much faster than young children :)

          I think Logo is very similar to Tcl, except where Tcl uses strings, Logo uses lists. Both have extremely simple syntaxes and semantics, and Logo is one of the purer dialects of Lisp -- but it's sometimes a bit awkward, and it's performance is fairly limited.

        • I remember Logo as being less useful than Basic


          Usefulness...

          LOGO was the only functional language that came on Atari400/800/etc cartridges and AppleII/C=64 floppies back in the day. I consider the fact that thousands of children were introduced to the functional paradigm via LOGO to be highly "useful."

          You are correct though, in that there weren't many real-world problems that could be easily "solved" using those LOGO interpreters. The main thing we learned to solve was figuring out how to determine the outside angles of arbitrary polygons :D

          What would have ben great is if LOGO had had the power to do do the stuff we had to use BASIC for in the second half of middle school programming classes... hundreds of kids would have never been exposed to the complete nightmare of BASIC GOTO tangles...
          • Basic seems just as much a 'functional language' as Logo... it didn't have the same nice list handling, but made up for it with more flexible data structures in general. Well I guess it depends on which Basic variant you use. One with just GOTO and GOSUB would be pretty nasty, but as long as it has named procedures and functions it's vastly preferable to Logo.

            I think that in general, not many were 'introduced to the functional paradigm' by Logo... the Logo programs I've seen in introductions are wholly imperative (REPEAT 50 FD 20, and the occasional imperative TO X procedure declaration). It would have to be a pretty advanced course to get into the functional stuff. Your particular class sounds like that, but it's likely most weren't.
    • But I think it is best used to introduce kids to programming, in the 4th grade when I played with it at school I had no idea that many of the problem solving skills I was developing would be useful in later life (not like algebra ;)...


    • RARRR!!!!!!

      Reptar LOVE eat Lego.

      CHOMP CHOMP

      mmm

      Delicious Lego

      CHOMP CHOMP

      RARRRR!!!!

      Now Reptar can eat Lego with Java Coffee

      CHOMP CHOMP SLURP CHOMP

      RARRR!!!!
    • I remember using a version of star logo written in jave 3 years ago... that seems like a long time to me.
    • I started with Pascal in 82. I rember my teacher telling me that Logo was a great language to learn but I could never find any Real programing information just how to draw stuff with it. Sounds like I have missed a lot.
  • "In a couple more minutes, I was writing programs that created graphical displays that would look great at raves. So I guess it's for kids of all ages!"

    May we see some of your art work (screenshots, or source)?
    • Sure!

      repeat 100 [fd 5 rt 23 fd 5 lt 23]

      ttyl
      Farrell
      • Wow, that brings back memories.

        I had LOGO for my TI-99/4A, but it "ran out of ink" so frequently. Never did get to try the next incarnation of it.

        In school, we started with Logo, and went onto LogoWriter, which had text windows overlaid on it. Real nice.

        I remember how to do a circle

        repeat 100 [fd 1 rt 1]

        I did it this way though, so you have finer control of the radius(pu is PenUp right?)

        repeat 360 [pu fd 50 pd fd 1 pu bk 51 rt 1 ]

        It took a while, but it worked.
  • War and Peace (Score:4, Interesting)

    by oku ( 609226 ) on Thursday September 19, 2002 @07:54AM (#4287707)
    Speaking of Logo and Java, RoboCode [ibm.com] somewhat reminded me of Logo, although in a less peaceful, less turtlesque style. Maybe that would be Logo for (maybe not quite) grown-ups.
  • by garcia ( 6573 ) on Thursday September 19, 2002 @07:54AM (#4287708)
    I was in a computer class that taught LOGO in 6th or 7th grade. By that time I was already very familiar w/BASIC and somewhat familiar with PASCAL. I found it to be a waste of my time and actually made me less interested in other languages.

    Everyone's experieneces are different I guess but I just don't see how you can show LOGO as instilling the programming bug (no, not intended) into school-aged kids.
    • well I stand corrected... After seeing other people's posts I guess I was the only fucking weirdo that hated LOGO.

      My bad.
    • by p3d0 ( 42270 ) on Thursday September 19, 2002 @08:02AM (#4287732)
      It depends how it's taught. Logo is a better language in some respects than PASCAL and certainly than BASIC. You can learn functional programming from it.

      But there's always going to be 12-year-olds who think they know everything and consider learning new programming languages a waste of time.

      • by garcia ( 6573 )
        I guess it was the way it was taught. I don't particularly remember using procedures in LOGO (after a quick once-over the commandlist).

        I just remember writing "Turtle Race" and shit like that.
      • I have to disagree with most of your comments. Yes, it depends on how it's taught, but you can't hold up LOGO and say it's better (even in 'some' respects) than PASCAL or BASIC.

        Can you code large-scale functional applications in LOGO? No. Not really. LOGO is solely for educational purposes, whereas while PASCAL and BASIC are also used in educational scenarios, they can do much more. Delphi (using Pascal) can produce anything that Visual C++ can. BASIC is used in numerous areas.. like VBA, and Visual Basic itself.

        I also disagree with your last comment and I think you misunderstood the parent poster. The problem is that the educational system is not designed for students to have individual experiences, but so that children are all taught as a whole, regardless of skill level.

        I learned BASIC at age 6, 6052 assembler at age 8, and C at age 9. Does this mean I was taught C++ in 7th Grade? No. We had to do LOGO. It wasn't a case of being 'too good' to learn another language.. it was just a case that LOGO was a ridiculously pointless language to learn if you already knew C, BASIC and some assembler!
        • It's totally retarded to compare Logo with Delphi or VB. Delphi is not Pascal, and VB is not Basic. If the original poster meant "Delphi" when he said "Pascal" then I give up.
          • It's totally retarded to compare Logo with Delphi or VB. Delphi is not Pascal, and VB is not Basic. If the original poster meant "Delphi" when he said "Pascal" then I give up.

            No it's not. It's not all about the root languages, but about what those languages can be taken on to achieve. BASIC 'became' powerful with VB, Pascal 'became' powerful with Delphi. Could LOGO become powerful in some way? My suggestion is no.

            Could you write an operating system in LOGO? A compiler? Again, my suggested answer is no.
    • I loved learning logo, but then again I learned logo in the 2nd grade. WHOHO!
    • Logo is more appropriate for teaching mathematics and algorithms than programming -- that has always been it's motivation. As such, I think it is considerably better than Basic or Pascal -- it's higher level, and has a much easier learning curve.

      I think Logo should really be seen as a pre-algebra and geometry tool. It's algebra that a child is likely to understand -- somewhat imperative, and easy to experiment with. It's an easy introduction to variables and function composition, possible to do at an age when most children would be totally lost by algebra (moreso when you consider how many teenagers never really get algebra -- maybe most teenagers, as I'm afraid many of my friends' eyes glaze over if they are asked to remember any alegbra as an adult).

  • I remember happy days of graphing out weird designs, and when I found out I could change the pen cursor, I almost had a happy fit! Of course, this was when I was in 5th grade. Logo and Graphics language, hehe, those were the days. I loved Basic too, anyone else go nuts with BASIC and make animations and designes in Basic? I popped a few of those open recently when I found a disk full, and seeing my perfectly timed app run on a 1.2 Ghz processor when I designed it on a 12.5 mhz proocessor was a bit disappointing!! :)
    • Yeah, I did the exact same thing! In my early and mid-teenage years, I wrote some crazy stuff in BASIC- weird animations, crude evolution simulations, graphical games, and even moving, multicolored graphs of polynomial functions. The timing is all off if I run them on a new computer now, although for some it actually improves them.
  • by zwoelfk ( 586211 )
    Although LOGO was one of the first things I was introduced to, and may have genuinely led me to become a programmer, my daughter is now older than I was at that time and has a much more sophisticated knowledge about computer use.

    I'm not sure that the same teaching tools are really applicable when the background of the student is so different. At seven, she can surf the net, install her new game, and write an email while bitching about WinXP. I don't she'll as impressed by moving a little triangle around as I was.

    But it's cool anyway. I'll play with it, even if she doesn't.

    • I've seen sophisticated computer usering children still get excited about programming, even when their creations pale next to the games they play. Creating things can be tremendously fun.

      Some of the commercial Logos (like Microworlds [microworlds.com] and Terrapin Logo [terrapinlogo.com]) have considerably more multimedia capabilities. In some ways the language as implemented in those products is dumbed-down, though compared to any "game construction kit" or similar product, they offer tremendous flexibility. They are still real programming environments.

      StarLogo is more of a computer science kind of Logo -- all about massive parrallelism. Which can be very fun and motivating as well, but probably requires a different personality to enjoy. The Free logos are still pretty much old-school, triangles on the screen kind of deals.

      Of course, get her Lego Logo kits, and no one can resist that.

    • But is sending emails and surfing going to teach structured programming, functional decomposition, and so on?

      As for impressed ... I think most kids would still be pretty impressed when they write their first "draw a square" function, and then do the exercise where you call that in a loop, rotating the "turtle" a little each time - and create a pattern that would have taken forever to do with drag/click. It's a cheesy example, but suddenly the power of the computer as an extensible tool rather than a fancy networked typewriter becomes clear. At least that was my observation from when we all did Logo as kids, and I hear the same story from parents now.
  • Turtles (Score:5, Funny)

    by whimdot ( 591032 ) on Thursday September 19, 2002 @07:57AM (#4287717)
    Woohoo, I just love writing shell scripts.
  • Sigh, memories :)

    We had one of the turtles at secondary school. It was a little bit of a let down though, after a week of writing little programs and outputting to the screen our IT teacher hooked up the turtle. We tried to get it to draw a circle, but of course the ribbon cable would drag and the wheels would spin slightly giving us a kind of distorted spiral.

    I didn't stop using it there though. A few years later I was using it as a convenient graphics display for demonstraiting an engineering problem during a 2 week industry exercise with Balfour Beety.

    There was definatly a lot more to the language that just drawing circles and squares.
  • It's not just Logo (Score:5, Informative)

    by Anonymous Coward on Thursday September 19, 2002 @08:03AM (#4287738)
    Starlogo is not just another Logo version. It's a tool for experimenting with descentralized models. See the homepage [mit.edu], for more information.

    Taken from there:
    StarLogo is a programmable modeling environment for exploring the workings of decentralized systems -- systems that are organized without an organizer, coordinated without a coordinator. With StarLogo, you can model (and gain insights into) many real-life phenomena, such as bird flocks, traffic jams, ant colonies, and market economies.

    There's a book by Starlogo creator, Mitchel Resnick called Turtles, Termites, and Traffic Jams : Explorations in Massively Parallel Microworlds [amazon.com] where he shows the use of Starlogo in education.
    • It's a tool for experimenting with descentralized models.
      When I was a kid, a friend of mine had a pet skunk that had been descentralized.
    • Steven Johnson's book, Emergence, also details the use of StarLogo as a tool to model self-organising systems.

      As an added bonus, the book also has a decent ten-page discussion on Slashdot as an emergent self-organising system.

  • This article brought me into a series of flashbacks involving ( I think ) my old atari 512ST, frustration about not being able to do the thing I wanted with the turtle (can't remember what) and switching to XLisp. I had forgotten all about this stuff, thanks for bringing it back to me!
  • by pokeyburro ( 472024 ) on Thursday September 19, 2002 @08:05AM (#4287742) Homepage
    Based on current naming conventions, this shouldn't be called StarLOGO.

    It should be called J-Logo.

    Then you need an even shorter name, that rolls off the tongue. I think you see where I'm going with this.
    • Re:Name for this? (Score:5, Informative)

      by ctrimble ( 525642 ) <ctrimble@@@thinkpig...org> on Thursday September 19, 2002 @09:18AM (#4288088)
      It's actually called StarLogo because the original version was written in *Lisp (star-lisp) on massively parallel computer system. At some point Resnick ported it over to Java.

      Incidentally, StarLogo has a resemblance to Logo, but it's primarily superficial. StarLogo is all about exploring emergent behaviours in decentralised systems. While you can do regular turtle graphics in StarLogo, if you do it, you're kind of missing the point.

      StarLogo uses thousands of turtles, instead of just a couple. StarLogo also allows the turtles to interact with their environment by doing things like creating pheromone trails. This makes it easy to do things like build an ant colony and watch it explore for food and create trails to the food for other ants to follow.

      Incidentally, the ant colony code only uses thirteen procedures, each one no more than five or six lines of code. Here's a sample:

      to find-food-demon
      if (not carrying-food?)
      and ask patch-here [food > 0]
      [set-carrying-food? true
      ask patch-here [set-food food - 1]
      set-drop-size 35
      right 180 forward 1]
      end
      This defines the way an ant finds food. Essentially, if it's not carrying food it checks the ground to see if there's any food there (ask patch-here). If there is, it sets itself to carry it and reduces the amount of food on the ground by one unit. The line set-drop-size sets the initial magnitude of the pheremone drop. There's another demon (return-to-nest-demon) that takes over once the ant gets food. It's responsible for following the pheremone gradient back to the nest and to mark the trail to the food by decreasing the food pheremone with each step back to the nest. That way the food pheremone will be strongest near the food, causing the hungry ants to go in that direction.

      One of the other interesting parts of the book, Turtles, Termites, and Traffic Jams is the author's descriptions of the kids that he works with. He takes StarLogo into grade schools and gives the kids problems (like the ant problem, or a traffic jam modeling problem) and watches them solve it. All in all, it's an excellent book and I highly recommend it.

    • Can't do that...Jennifer Lopez would sue for both Copyright infringement of her name and defamation (by telling her to go).

      Personally, I'd tell her to go just so I can watch her walk away.
  • ... if you don't have the turtle.

    No seriously. Writing a program to draw pretty stuff was all well and good, but when you could hit run and actually get that turtle (with the see-through green shell) to start drawing it on a huge sheet of A1 paper ...

    Now that was seriously cool.

  • Logo and Pascal (Score:2, Interesting)

    by LWolenczak ( 10527 )
    My high school CS teacher started us on logo, then took us to pascal. I think pascal was more fun, and he admitted he wanted to do more. He had intended us to write a program that would work with the tcp/ip stack and the real time clock on winblows, but he couldn't get it to work so we gave up on that idea :)

    Logo is fun, and logo got me dates with girls!
  • I threw my hands up and said, "Not more lego!"

    Go 100 beyarch

  • by Ur@eus ( 148802 ) on Thursday September 19, 2002 @08:15AM (#4287777) Homepage
    For people interested in Logo there is also a Logo project called MonoLogo [sourceforge.net]
    that creates a .net version of Logo on top of Mono [go-mono.org].
  • I'd been using Logo for a couple of years when I got to take time out of class to do some programming work for a competition (this was Year 6). I chose to do my program in Logo over basic - because it was a much better platform for doing visual presentations..

    Not only was it a great foundation for Geometry but you could create functions, loops and many other programming fundementals.... I'm very happy to see this great old platform getting another go!
  • Raves (Score:1, Redundant)

    by papasui ( 567265 )
    I was writing programs that created graphical displays that would look great at raves.

    What did you run out of E?

  • by Zork the Almighty ( 599344 ) on Thursday September 19, 2002 @08:24AM (#4287817) Journal
    Next up : Microsoft releases their own version of Logo, called Logo#, and they are paying elementary schools thousands of dollars to use it in their computer classes.
  • my logo experience (Score:3, Interesting)

    by bpowell423 ( 208542 ) on Thursday September 19, 2002 @08:25AM (#4287821)
    I was first introduced to logo when my 2-years-younger brother came home from school with a homework assignment. I had learned programming in Basic (ZX81, TS2068, C128), and I think I had started learning C at the time (still in high school). Anyway, my brother was NEVER interested in computers, but he was able to pick up LOGO very quickly. They were mostly writing recursive programs for drawing "snow-flakes" and other shapes.
  • StarLogo... (Score:2, Informative)

    by Squidgee ( 565373 )
    Actually, StarLogo has beenout for quite a while; you could have downloaded it in 2000, or farther back :)
    • I used StarLogo in 1998 for my undergraduate senior seminar emergent behavior in decentralized systems. At the time StarLogo was only available for Macintosh so I had to talk our University's computer center into loaning me a Mac. A PC version was in the works but wasn't quite stable. The fact that it's been ported to Java is very cool indeed!
  • by Anonymous Coward
    LOGO is a dressed up dynamically scoped LISP. A very powerfull language actually.
  • LOGO gives a whole new dimension to the keyword "GOTO"
  • UCBLOGO (Score:1, Interesting)

    by Anonymous Coward
    You should also look at ucblogo [berkeley.edu] and Brian Harvey's 3 books. He has a couple chapters on the above website (including a simple BASIC interpreter written in LOGO and even a pascal compiler in logo!).

    I prefer logo to lisp or scheme for some reason. It's a functional language, but you can write procedural code easier than scheme, if you want to. When I get some spare time, I'd like to write a logo plugin for gimp. You can write some 10-line routines to draw amazing graphics.
  • Last year I have cooperated in restyling the course Self-Organizing Systems. The teacher introduced me to this great massively distributed language, and it was an eye-opener. Together we have designed some fun exercises around some of the basic self-organizing properties which can be shown with StarLogo.

    The students (freshmen) gave better ratings for the course after our restyling. Also, some more enthusiastic students have helped us with designing some new StarLogo apps. A real great tool for this course!

    More information [cs.vu.nl] about our course at the Vrije Universiteit [cs.vu.nl], Amsterdam.
  • Logo is great for teaching basic programming structures (loops, functions, etc). It uses one turtle that you command to move around and draw things. You aren't aware that you're learning to program, just having fun making a circle (pen down; repeat 360: forward 1, right 1; pen up)

    What's cool about StarLogo is that it teaches object-oriented programming the same way. You can have as many turles as you like, and the domain over which they roam is cut into discrete patches. Each turtle and each patch is an incarnation of an object, and can be assigned behaviors. You're not struggling to understand what objects are, you just have fun writing a routine that tells a turtles to head for the nearest grass patch when they're hungry. When one gets there, you make the turtle's hunger factor go down and the patch become less grassy. The turtles can also interact with one another. In the process, you've easily created a complex simulation of how a group competes for scarce resources. It looks cool, too. StarLogo (and its more powerful cousin, StarLogo T1) has been used in research for quite awhile.
  • Already in 1983 I saw Logo as useless and a waste of time. As a learning tool, it is just deceptive or even damaging to try to use it to introduce programming to children... At the time, basic, 6502, assembler, display lists, player missile graphics and the mysteries of ANTIC were far more engaging and useful. I was 13 years old. Years later, my brother, 8, was already programming his first game following the same steps.
    • Already in 1983 I saw Logo as useless and a waste of time. As a learning tool, it is just deceptive or even damaging to try to use it to introduce programming to children... At the time, basic, 6502, assembler, display lists, player missile graphics and the mysteries of ANTIC were far more engaging and useful. I was 13 years old.

      But almost certainly you started with BASIC, not 6502 assembler, and you probably wrote little programs to draw lines and print your name and such. You didn't immediately jump into creating your own display lists and hitting player/missile registers.

      Logo is an alternative to starting off with BASIC, one that involves more immediate visual feedback, lets you do more complex tasks right off the bat (like rotation, without having to understand trig), and is a much nicer language.

      Now that computers have gotten "infinitely" fast, at least as far as I'm concerned (I'm developing commercial software on an 866MHz P3, and I have _zero_ complaints about performance, and now you can't even buy a PC slower than 1.7GHz), I wish I had started off with a higher-level, more abstract language like Logo, rather than grungy ol' BASIC.
  • When I was in HS, my AP Computer Science class were taught using a program called Carel (I think) on Macintoshes. It was this little mac classic lookin' icon with hands and feet. basically could do a set number of commands, like turn right, move forward, etc. I think it was created by people at CMU. Anyone remember something like this? I searched for it, but couldn't find it.

    I've never used logo, but I'm guessing they're very similar. Will have to check it out sometime. Perhaps it will bring back some memorys ;-)
    • It was called Karel. I started learning to program using both that one and logo, later on going to basic, graphic basic and pascal (on a c64). Karel was a robot that searched for spinners (the revolving, dancing toys) and was able to pick them up. It could go through a maze and pick up the spinners. You designed the maze, set the spinners and then programmed the robot's course through it. If Karel hit a wall he would explode. This was a more limited learning tool than logo, but a good introduction nonetheless. Rumor had it that there was a real version of Karel (like the mechanical turtle for logo) somewhere, but I never knew if there was any substance to it.


      Ahhh... the memories.

      _______

  • ...of sitting after school in front of an Apple ][e hacking away at drawing a picture. Pen up, pen down. When I walked up to my sixth grade teacher and asked, "How do I program a computer?" she sat me down in front of Logo. All I remember (in my sixth grade mind) was thinking how setxy looked like "sexy".
    • Yeah I knew some LOGO back in the day. Back when the Apple ][e was top of the line and programs came in magazines as source code.

      Of course this was also back in the day when computers were this novelty item that everyone was pretty sure would be important when the little shitheads got out of school - in the meantime they were just devices that scared old teachers.

      But back then there was this notion that the only way to use a computer was to program it. Of course back then that wasn't too far from the truth - programs did their thing and nothing else. The spreadsheet and the GUI had yet to take off or mature and of course the Internet was nothing. Consequently, while everyone knew that computers would be important, there wasn't much that teachers could do for their students other than teach them programming (and it was always something like your name dancing across the screen or changing fahrenheit to celsius and back) and teaching them WordPerfect for DOS, which is useless now (unless you're a legal/medical secratary).

      The result? When I got to college I was surrounded by people who could program Pascal but that couldn't turn their computer on. A lot of people still believe that since you have to jump through hoops to get computers to do anything (i.e., write a program in a language like Pascal, which for all its pinnings to English is still Greek to many) they were completely turned off by the whole thing.

      And on it goes. People don't do anything to their PC's other than what is neccessary to get it to print something. Apple's made a career of idiots. Linux won't ever hit the desktop at this rate.

      Not that it's the teachers' fault. There wasn't Microsoft Office or web browsers to teach 15 years ago. The Apple ][ and Commodore 64 were pretty much toys. But if you wonder why Joe Q. Public doesn't want to fool with computers and why your average person just wants to run Windows and nothing else, this is the real reason - it's not that they don't know about Linux, it's that they don't care.

  • I was looking for Turtles Robots to use with Logo and Linux. Thats anyone have one or know where are they selling?.
  • ...I think that it again may be a great way to get young kids interested in programming. It took me about 2 minutes to get it running...just untar it, and run a shell script...

    Because if there's one thing young kids know how to do, it's untaring and running shell scripts. No, wait, that's two.
    • Because if there's one thing young kids know how to do, it's untaring and running shell scripts. No, wait, that's two.

      Double-click, then ... well thanks the paranoia of linux installations (unfortunate that it's warranted), open a shell in the same directory, chmod +x the shell script, then double-click again.

      If it's written in java, this begs the question, why isn't it in an executable .jar file?
  • I haven't used LOGO in a long time... First used it on an ADAM computer (I think, I was pretty young then) and then later loved it on the C128. My first steps in computing; I never had a video game system, just the 128, LOGO, and BASIC. And a mini-plotter. Printing LOGO drawings on the plotter was always fun because the pens would follow the turtle's path. Of course, I was easily amused.

    I'm rambling; I need more coffee...

    -SablKnight
  • Logo was cool, but nothing beat getting out of class to spend 3 hours playing The Oregon Trail! Little Joey has diptheria! I'm out of wagon axles! The river's been flooded! What do we do?!?!? Nothing taught descision and strategy better than letting 8 year olds hunt bear in the praraie lands.
    • Oregon Trail!! Awesome! The first "real" adventure game I played.

      Of course, way back then, our school didn't have a whole bunch of Apple ]['s to play it on, we had a teletype with a whopping 300-baud connection with those earcup-thingies you put the phone in. Am I the only geek who printed out the entire program and got yelled at for taking tons of time and using the lab's paper? :-)

      Ahh, those were the days:

      You see a bear. Type B-A-N-G
  • StarSqueak [gatech.edu] has been in the Squeak Smalltalk System [squeak.org]'s base image for a couple of years. The interface was modelled on StarLogo, and has some mighty impressive demos in the distribution. (Squeak is free to use, and very cross-platform.)
  • I taught my daughter rudimetary programming with logo about 2 years ago. I used a web-based implementation. It's a logo applet [mathsnet.net] by Robert Duncan.
  • Squeak (Score:3, Informative)

    by maggard ( 5579 ) <michael@michaelmaggard.com> on Thursday September 19, 2002 @10:44AM (#4288716) Homepage Journal
    For those interested in oo-language derivitives for teaching another popular one is Squeak [squeak.org]. Just as Logo is Lisp-derived Squeak is Smalltalk-derived.

    Small, portable, virtual-machine based, simple enough for kids to get started (and excited on) it's powerful enough for 'real stuff'. Check out the FAQ [gatech.edu] based on a Squeak Swiki.

    Oh, and as Logo had Seymor Papert as 'the guy' behind it Squeak had Alan Kay [dmoz.org] who did lots of early work on 3D graphics, ARPAnet, windowing interfaces, modern oo programming, and inventor of the Dynabook.

    • And don't forget, queak includes StartSqueak, an implementation of the StarLogo stuff.
      Along with all theother good things already in Squeak, like music, speech synthesis, handwriting recognition, network access, web server(s) and on and on.
  • by dbrower ( 114953 ) on Thursday September 19, 2002 @11:27AM (#4289080) Journal
    that someone needs to put a Logo runtime into the lego mindstorms controller, so you can make a Logo Lego Turtle, or would it be a Lego Logo Turtle?

    (running from the bricks)

    -dB

  • I started on LOGO when I was maybe 6 or 7. What a great language! It let you easily write simple programs that could do real things! I used it for the most obviously simple things -- drawing a little house with windows and a chimney, drawing google eyes by running loops with code to draw circles and change the colors every few loops. Eventually they started teaching us BASIC, which was great, but without the instant gratification of making the turtle do things and then watching it happen. This was on Apple II+'s and Apple IIe's, a long time ago. I think it's great for kids to learn this stuff. I remember it ran SO slowly. Like, you would hide the turtle, and run a loop to draw a circle. You could watch the turtle slowly draw a circle, then another circle, then another. It took forever, but in a way this was helpful because you could see exactly what your code was doing, visually. I can't wait to check out the Java version.
  • We used MIT's StarLOGO for our intro class to programming at Stuyvesant high school over two years ago. Great program, BTW; there's nothing quite like programming (essentially) cellular automata for your first assignment =].
  • Richard Suchenwirth has already done this in Tcl. [mini.net]
  • We ran Logo on a BBC Model B (any British people who where schoolkids from the 80's and early 90's remember those? :-)) and even had the a real robotic turtle. Later on we got the super duper advanced version for the Archimedes!

    Logo and especially BBC BASIC (still the best version of BASIC) is what got me into Programming at a young age. Long live them both!
  • I learned LOGO on the Atari 800XL at home when I was just a lad. The manuals were excellent, and the books said LOGO was a subset of LISP. LOGO had loads of parentheses (for the more advanced functions). Can anyone vouch for this?
  • In elementry school (I'm in jr. high now) one of the teachers ran a summer program on computerized and motorized legos. We would build legos with motors and lights and plug them into an Apple II GS (newer ones pluged into a PowerPC). The computer used the Logo language to control the legos. It was fun, esp. when we figured out how to make a text menu :). (I don't think graphics were supported).
  • by leighklotz ( 192300 ) on Thursday September 19, 2002 @05:50PM (#4293004) Homepage

    Friends and I worked at the MIT Logo lab in 1980, where we did the first mass-market Logo, for the TI 99/4 (though I didn't contribute to it), and Logo for the Apple II (where I did). I then went on to Terrapin, which had originally been started by Danny Hillis and others to sell turtles, and we got Terrapin to sell Logo. I enhanced the Apple II version, and did the Commodore 64 version and we did a Mac version (plus some other ones like C128, C264, and C16 where the boxes never shipped, and some that only shipped a little, like Music Logo). I did Logo translations (with others), in Japanese, German, Italian, and French.

    When Mitch Resnick was at MIT LCS and started the *Logo project as a grad student, I was a bit jealous as I'd been working on the same thing in my spare time, but I didn't have the resolve he did (thesis). It's funny, because the idea for *Logo came from StarLisp, of course, which was came from Thinking Machines, which was also started by Danny. The *Lisp stuff was fun, and I've often wished that Mitch would bring out StarLogo so I could play with it again.

    I think my favorite Logo that I didn't write was the "1986" version mentioned by another poster -- it ran on a dual-processor PDP-11 / bit-slice machine with a vector graphics display. The drawing was done by adding to a "display list" which the vector processor displayed. This feature allowed Hal Abelson and Andy diSessa to develop some interesting observations about group theory (see their book "Turtle Geometry" ("Turtle Geometry: The computer as a medium for exploring mathematics" by Abelson & DiSessa, 1981, MIT Press, Cambridge MA).

    The interesting thing about that version of Logo was that in addition to forward and right, it had grow and spin, which introduced time-varying elements into the display list. grow :n made a line that grew at a speed on n, and spin :n made an angle that turned at a speed of n. With fd and rt, the following draws a star that grows asymetrically. With grow and spin it explodes! Lots of fun taking any random old chestnut Logo program and taking it up a level.

    to wow :n

    if :n > 200 then stop ; yes, no brackets in those days
    grow :n
    spin 144
    wow :n+5
    end

    My favorite non-Logo that I did write was at MIT AI and LCS and later at UC Berkeley, called Boxer [berkeley.edu], which presently runs on the Mac, but might be out on PCs sometime. It takes direct manipulation interfaces to the extreme -- the entire workspace is shown as the screen, and every data item and every procedure is represented as a box, a square container on the screen, and all are inside other boxes. To make a menu, you make a box with a keystroke, and put the names of the commands you want in the box. To execute the menu, you point and click. Pretty simple. There's all sorts of other features, like hyperlinked boxes, boxes that are portals to other resources (web sites, other people's computers, etc.). Look for it someday.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...