LOGO Still Lives -- New Java-Based Version Released
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!"
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.
Spell checker (c) creative spelling inc. (aka my dyslexic brain)
"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)?
Money cannot buy happiness, but can buy something soo darn close, that you can't really tell the difference
Speaking of Logo and Java, RoboCode somewhat reminded me of Logo, although in a less peaceful, less turtlesque style. Maybe that would be Logo for (maybe not quite) grown-ups.
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.
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.
Woohoo, I just love writing shell scripts.
30 miles to school in the snow?! You don't know you're born! We lived in a hole in the middle of the road, and had to get up before we went to bed!
All things in moderation; including moderation
Starlogo is not just another Logo version. It's a tool for experimenting with descentralized models. See the homepage, 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 where he shows the use of Starlogo in education.
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!
---
"The chances of a demonic possession spreading are remote -- relax."
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.
Lately democracy seems to be based on the skybox, the Happy Meal box, the X-box, and the idiot box.
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.
Avantslash - View Slashdot cleanly on your mobile phone.
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
http://pcblues.com - Digits and Wood
For people interested in Logo there is also a Logo project called MonoLogo .net version of Logo on top of Mono.
that creates a
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.
In Soviet America the banks rob you!
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.
Actually, StarLogo has beenout for quite a while; you could have downloaded it in 2000, or farther back :)
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 about our course at the Vrije Universiteit, Amsterdam.
How can I tell what I think until I see what I say?
-E.M. Forster-
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.
...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.
-- dR.fuZZo
McFly777
- - -
"What do people mean when they say the computer went down on them?" -Marilyn Pittman
StarSqueak has been in the Squeak Smalltalk System'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.)
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.
Schnapple
I taught my daughter rudimetary programming with logo about 2 years ago. I used a web-based implementation. It's a logo applet by Robert Duncan.
[-- Trust the Monkey --]
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 based on a Squeak Swiki.
Oh, and as Logo had Seymor Papert as 'the guy' behind it Squeak had Alan Kay who did lots of early work on 3D graphics, ARPAnet, windowing interfaces, modern oo programming, and inventor of the Dynabook.
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
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.
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!
mogorific carpentry experiments
(running from the bricks)
-dB
"It if was easy to do, we'd find someone cheaper than you to do it."
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?
If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
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).
Centralization breaks the internet.
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.
My favorite non-Logo that I did write was at MIT AI and LCS and later at UC Berkeley, called Boxer, 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.
Hmmm... Romer looks suspiciously like Roomba...
For example, suppose for efficiency you decide you want to store a flag in the low-end bit of a pointer (because pointers are aligned to 4 bytes and those bits are otherwise unused). How do you express that in Java? Java simply doesn't have any notation for this.
Or, for that matter, suppose you have some object that is small and immutable, so you want to pass it by value instead of by reference, so that it can be cached and/or stored in registers. Java can't do that either. Both of these things are trivial in C.
You can't make a good OS out of a turing machine.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....