Forty Years of LOGO
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."
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.
Start a happiness pandemic
What's interesting to me is that I never ran across Logo in school. My first exposure to a computer was in junior highschool. We had a lab filled with TRS-80 machines and we wrote stuff in basic. (This would have been 1982) Later, in highschool we did everything on Apple IIe's. Again, we started with basic and then moved on to Pascal.
I don't know if it was just that the school district never got on board, or if logo's popularity was regional but I never heard of it until a couple years ago when I was looking for software to teach programming to a nephew.
By the way, anybody else read that as lego?
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
My son tried logo, because his school had it and thought it would be instructive for the more able students. He was utterly bored, and is now learning python in his own time.
Logo was good, but the language landscape is so vast now there are better languages for almost every task to which logo can be put.
Let me just say ICK. /goes back to coding C
lego my logo..huh huh huh
My first experience with Logo was in 7th grade.. Thinking back, it really helped me form the kind of thinking required for a developer. What I really loved about LOGO was how it was so easy to learn, yet at the same time you could do pretty complicated things with it.
:-D For example, check out this gallery: http://www.ajlogo.com/gallery/
And by "do" I mean "draw with the turtle, of course"
I remember finding the erase command and doing simple animation by drawing & erasing stuff across the screen in a loop. Probably my very first "hack".
Wow. I'd not thought of those Atari 800s for years. I'd have to agree with other posters on LOGO use in teaching; if a student can program in LOGO, then they're already ready for another language.
Personally, I was bored silly with LOGO and couldn't wait to get home to the ol' Trash-80 Model I Level II Basic. Scary, huh?
Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
I think Alice has been slashdotted... if u know what i mean..
I had multiple opportunities and experiences in early elementary school (mid 90s), but the only thing I remember about it these days is that the mascot was a turtle and drew stuff with commands that I could never remember. Nor do I know of anyone personally who would be likely to recall more than that.
Was it really that influential?
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.
LOGO was my first exposure to programming when I was in elementary school in the 80s. I really liked it and still think it's a good way to get kids to understand the basics of programming (write and save a program to draw a triangle, a circle, etc.). I do not feel it is suitable for much beyond that.
Of course, the idea that programming should be a part of a basic computer course has gone by the wayside. Today's kids computer classes are all about Microsoft Office and, if you're lucky, Dreamweaver.
Bah.
-l
Help cure AIDS, cancer, and more. Donate your unused computer time to worldcommunitygrid.org. Join Team Slashdot!
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
My first real exposure to using a computer for something other than games was 'drawing' things in LOGO during third grade (I'm 27 now). When I think back on it, I believe that the experience was fundamental in shaping the way that I view development now.
If I was ever in a position to expose today's kids (at an early age) to something like that, I'd be all for it. I say an early age simply because it's the thrill of being able to make the computer do something that hooked me (and figuring out how to solve my early mistakes), not how flashy any of the graphics were.. (I'd think older kids would get bored quickly and say 'well, I can draw a flower in Paint, why the hell would I use this?' and miss the point completely).
This brings back memories of primary school, programming Lego robots in on an Apple while the rest of the grade humiliated themselves in spandex (dance classes).
LegoLogo was a cabled precursor to mindstorms, with sensors, actuators, motors etc but the programming was done in LOGO.
Ah the satisfaction when programming a robot to work its way through a maze of books and pencil cases.
"If we knew what it was we were doing, it would not be called research, would it?" - Albert Einstein
Apple II had a facility called shape tables 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!
This is my sig.
Possible new nerd fight: those who learned on BASIC vs those who learned on LOGO.
Of course I suppose that's somewhat generational... the older ones among us will instead fight between FORTRAN and COBOL, and the younger ones will fight about... whatever it is that they're teaching kids now. MS Visual Clippy ("I see you're trying to write a function!") or something, probably.
Anyway, I was in the BASIC camp, specifically GW-BASIC. Might have seen LOGO once in school, but never did much with it. Really didn't do much with BASIC in school either, but my dad taught me some and I learned on my own after that.
Quidquid latine dictum sit, altum sonatur.
It's interesting that most comments here are along the lines of "I saw LOGO when I was 7" through "I played with LOGO for an hour in middle school." I tinkered with a couple of LOGO variants as a kid, but my real LOGO experience ended up being... in college.
In my school's Computer Science department, the class that weeded out (or at least delayed) the majority of students was our Discrete Structures course. The theoretical part of the course focused on typical discrete logic, discrete math, sets, predicate calculus, etc topics. But the unusual part was that the professor was determined to break us out of the C++ mold that the introductory programming courses began. Therefore, he picked LOGO as the language for the course. Sure, interpreted LOGO wasn't the most blindingly-fast choice, but the list-based nature of the class made it very much a "LISP Light" that we could quickly work with for solving problems. Surprisingly, it was extremely flexible for the kinds of logic problems we were working with. By the end of the year, I really had to rethink my initial concept of "oh no, turtle graphics." Plus, we got exposed to a bunch of quite interesting offshoots, such as StarLogo, a massively-parallel-turtle variation of LOGO.
If you've never had to write a parser for an arbitrary boolean arithmetic expression in LOGO, then you've never really lived... (Er...)
seven two six five
seven four six one seven
two six four two e
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...
I've recently been playing with Logo, I'm a veteran of the dev trenches and have gone through SICP.
I picked up all the 80s books I could find that used Logo to teach geometry, algebra, music, language etc. I'm currently working my way through them. There is of course the Compu Sci series from Berkeley http://www.cs.berkeley.edu/~bh/v1-toc2.html That I'm planning to go through next.
So for those of you who turned your nose up at logo because it's too simple for you may need to turn that statement around. Think Lisp without the parens.
so turtles all the way down?
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
The turtle was the worst thing to ever happen to Logo. Logo is a full featured language capable of doing anything other languages can. But because we were all introduced to the turtle at relatively young ages and nobody ever showed us how to do anything more than draw simple pictures we all concluded that it was only a toy and not for serious use. Only now, years later, do I realize how wrong that was.
For those who want to rediscover Logo and learn what it was *really* all about you can go to the website of Brian Harvey, a logo guru:
http://www.cs.berkeley.edu/~bh/
On this website you can download a nice series of textbooks about Logo and also download the Berkeley Logo implementation of the language. I was surprised to find that Logo is a functional programming language. I am also studying Lisp, Scheme, Haskell, and Erlang and find the whole concept of functional programming to be very interesting. It is getting hot again and will become a critical part of programming if we are to take advantage of multi-core cpu's.
I am constantly amazed by just how vast this industry really is. I wish it hadn't taken me so long to realize this and I am saddened that so many people coming out of school these days have no clue that there is anything other than Java and Dot Not out there.
When I was 6, I was reading an old Apple //e manual that was lying around, learning BASIC out of it. Around the same time, I found the Apple LOGO II disks that my parents had had.
I got bored quickly with turtle graphics, though, and found that BASIC (Applesoft in my case) did what I wanted better. Besides, I didn't even have to boot into an OS to play with BASIC.
I ended up going for an associate's degree in computer programming. "Learned" VB, C++, RPG IV, and properly learned HTML and JavaScript.
That's not what I've found the most useful.
What I've found the most useful is Python, which I taught myself out of the back of an old RedHat 6 book that I got for $0.25. And, from what I've seen, it's probably the best modern language to teach someone, and probably better than the old languages - even the teaching languages like LOGO and BASIC.
I touched on logo thanks to having an Amstrad 512k XT. It came with Locomotive basic, which included a logo dialect.
It was a good way to explore geometry, trigonometry and vector maths in an instant feedback environment, but was next to useless for any practical programming purpose. As such, it does make a decent educational tool, but not for learning programming, rather just for geometry.
As such, its uniqueness should be celebrated for the fact that while it is impractical for typical tasks it has survived for 40 years catering perfectly to an educational niche.
I, too, started with Basic (albeit in the mid-90's). Never saw LOGO... but I used a Lisp derivative (scheme) in our intro CS course at Georgia Tech. Even us non-CS guys (engineers, science majors, even liberal arts people) had to take the class.
Scheme was probably one of the worst things they could have had us using for such a class. The majority of engineers and the others didn't need to get too far into advanced programming concepts; most of us will never use anything more complicated than matlab.
Obviously, the course changed the semester after I took it; engineers/science people took a matlab-based class, liberal arts people used java and python, and CS moved on to something else.
I think most young children could probably use Basic once they can read and understand basic algebra.
The meek may inherit the earth, but the strong shall take the stars.
LT 40 RT 50 LT 40 RT 50 ... ... ...
. . . and open that big box from Computability (anyone remember them?). Inside was my Atari 400, 410 Program Recorder and two cartridges: Atari Basic and Atari LOGO. I loved LOGO and hoped at the time that Byte or some of the other computer mags of the day would print program listings for it, but alas it was not to be - it came down to just me and my imagination, making Spirographs on the color TV. :-)
It was 1991 and I was very proud of my attempt at drawing a terminator (Terminator 2 was the big movie that prior summer) using LOGO. I got my grade for my drawing, and received an "A" for my drawing of a monkey..... It was a terminator damnit....
I recently introduced my kids to programming with Scratch http://scratch.mit.edu/ rather than LOGO. It does include everything that LOGO does, but it has a lot of benefits that make the feedback from programming more immediate and accessible, and the web site is great for sharing ideas, sprites, etc.
Wow, I have not heard people talk about Alice in years, I thought it was dead.
Turtle forever!
I've been trying to get my elder daughters (12 and 9 years old) interested in programming. I tried Squeek (a LOGO-like subset of Scheme), which they enjoyed... for a little while. The eldest actually started writing up routines for the entire alphabet, but eventually lost interest. Coincidentally, I found Alice about three weeks ago.
For kids, Alice has the staying power that Squeek and LOGO don't. It allows them to set up an entire 3D world and tell a story without ever making a single syntax error. They can even make their own interactive games, which is what they really want to do. No hunting for misspellings, no looking up methods or operators in website documentation, no Googling. Just programming, fast and simple. They don't even realize they're programming; they think they're having fun, and they are!
Sure, Alice has a few shortcomings. There's NO DEBUGGER. Polymorphism isn't implemented. Custom methods aren't displayed in the world view. It's hard to produce new models. But on the other hand, it's got my kids thinking like object-oriented programmers, having fun, and producing stuff they love.
I think the submitter nailed it with "Alice will be the wave of the future".
For geek dads: Contraction Timer
My first exposure to a computer was in junior highschool.
It seems that Logo was introduced to children a few years younger than that--think grades IV to VI. Computers were introduced into my elementary school around the time frame that computers were introduced into your high school (about 1982). In middle or high school students generally "graduated" to BASIC and perhaps Pascal programming. Older students were also the first to get computers (A small classroom with a number of Commodore PETs and a single "Bell+Howell" branded Apple II+). So, in my school those in Jr High in 1979 to 1982 would've been introduced to computers via BASIC on the PETs and would do a bit of "fun" stuff on the Apple in BASIC as well.
A couple more apples were brought in, then in 1982 Commodore released the 64 and our school bought a large number of them. The Apple II+ and C64s were primarily put into use in elementary grades...and they were each ordered with a copy of LOGO! I was lucky enough to have been in the right grades when they were brought in. LOGO was also ordered for the Apples around that time.
LOGO made for a superior introduction to programming than BASIC for several reasons:
* LOGO took advantage of the graphics and sound capabilities of the machines on which it ran. Without exception ALL dialects of BASIC supplied with personal computers at the time lacked some degree of built-in support for these capabilities and required PEEK, POKE and CALL/SYS/USR commands and machine language skills to fully exploit. Atari BASIC was the best (only lacked support for sprites and a couple of GTIA graphics modes), followed by Apple (no sound support at all, even for the internal beeper, but good graphics), TRS80, and last and very least lousy Commodore BASIC (vanilla MS BASIC without any extensions at all). LOGO could beep, draw pictures and the turtle was always a sprite on machines that supported sprites.
* LOGO syntax was consistent/standard at a high level. I made some fancy programs at home on my Coleco ADAM's SmartLOGO and could type the printout character-for-character into a Commodore 64 and it would run fine! There were visual differences due to differing resolutions and colour palletes (both had 16 colour selections but didn't use the same 16 so it looked tacky on one of the machines). There was absolutely no way to accomplish this level of compatibility with BASIC (beyond the rudimentary MSBASIC standards, so no graphics or sound) with one exception--the Coleco computers' SmartBASIC was syntax-compatible with Applesoft BASIC.
* LOGO was extensible and structured. BASIC was a mess in comparison, with its line numbers and how it enticed beginners into using GOTO. LOGO encouraged structure in its syntax--it had formal, named procedures (TO MYSQUARE/REPEAT 4 [FD 100 RT 90].../END, and you called the procedure as if it were just another built-in "word") and didn't have an enticingly easy-to-use GOTO construct. As a result the code was very readable and students learned good programming practices.
When we "outgrew" LOGO our schools didn't even throw us into old-school BASIC even then; we were put onto IBM XT clones (built by Commodore--like many Canadian schools we had an infatuation with Commodores, probably due to Commodore's Canadian roots) but learned "True Basic" instead of GWBASIC which was more strucutred and "modern" (and interestingly enough, multi-platform as it worked with Macs, etc). In high school QuickBASIC was used on 286 machines.
If it wasn't for me doing BASIC programming on computers at home (and trying my coleco code on the Apples at school) I might never have known basic had line numbers.
Scratch from the MIT Media Lab is everything I got out of Logo when I was kid except more fun. Kids can still learn recursion, sprite manipulation, even some coler stuff I don't remember from Mr. Keating's 6th grade symposia on the wonders of "mt". I have sent this link on to anyone that haskids and a computer. Awesome fun, and what the hell--some learning to boot.
blarg.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Yes, I used LOGO (on a TI994A). I realize that LOGO was a precursor to Smalltalk. And, I thought LOGO was brilliant at the time. The abstraction betwixt man-machine was handled brilliantly, IMHO. I think that I have now seen too many brilliant products smashed by marketing. My short list includes : DRDOS, ATARI ST, AMIGA, NeXT and NextStep, Geoworks, GNU/Linux, Berkeley BSD, Sun, and the Motorola 68k. Please pardon me for being cynical about the limited choice of products we have now. Some of these products I like(d) are bound to be smashed as well.
I can't claim to match the 40 years LOGO has, but I can claim that my first computing experiencing was making the turtle do what I wanted on the good ol' Commodore 64. I was 7 years old. By about the time I was 9, my computing curriculum included replacing the turtle with custom single-color bitmaps. If you did it right, you could feign animation-- one image with a guy who is taking a step, one image with the guy's legs together; "pick up the pen", move a few pixels in the positive direction, replace the cursor bitmap, move a few more pixels replace with the original bitmap; repeat.
It was great fun while it lasted. A digital (but so low tech to today's standards) picture flip book. And it taught me procedural coding techniques. I'm glad the "turtle" was part of my past.
libertarian: (n) socially liberal, financially conservative; neither left, nor right.
2nd grade, art class. We got to go to the computer lab, with some Apple computers and learned about Logo and basic geometry. Was my first time ever on a computer, and boy was I hooked. We were supposed to make art in there (pretty coloured circles and such) yet I spent all my time in those classes trying to draw an airplane.
:)
It was pathetic, it was awful looking, it got me hooked into math and computers for life
T(#ME>#YOU):PILOT roxorz
I still have my 5 1/4 discs with LOGO and my little apps...
the one I am most proud of is a bar, with a ticking clock and everything...
It took me a week to sync the clock...
The linked page seems to miss out the rather nice, free . Worth a look.
I used logo a lot when I was in my early teens. There was a very very nice implementation for the ZX Spectrum (stop laughing at the back). Not only did it let me have fun with recursion and drawing fractal images, it also had the LISP syntax in full. I probably had more fun extending the language with new commands and writing a pretty decent Eliza program, than I did with the Turtle stuff.
In California there's a program called GATE (Gifted And Talented Education) where education projects get extra funding by the state. In it's earlier years there were several optional programs and one required class for all GATE students. LOGO was a required class for 4th grade students in my area. One afternoon each week we were bussed to a facility run by Lawrence Labs and Dr. Stephen Sesko.
Dr. Sesko worked with a large number of students, and each year selected a group of them for an intensive 3 week course over the summer covering more advanced programming concepts than could not be accomplished one afternoon each week. Known as Team Logo, the group spent mornings working on assigned projects relating to the 'theme' that summer, and spent the afternoons trying to write viruses to play tricks on fellow students. Themes ranged from graphics and music, to robotics (lego logo for Apple IIgs) and Turing machines. I know several members have gone on to work in computing fields - including myself - but the rigors of learning a programming language at a young age teach people problem solving skills applicable to any endeavor.
I think I still have my 5.25" floppies somewhere...
Hats off to Dr. Sesko!
I fortunately was not exposed to smalltalk when it was introduced in my University. I took all C/C++ related courses earlier one of which was later on canceled and one essentially turned into a smalltalk course. I can safely say that other students that I know will require years of therapy to repair the damage that was done to them.
Languages like C++ and Java are far superior in what they are capable. Their extreme flexibility (especially C++) allows teachers to pick what they want to introduce students to. If language has pointers, it doesn't mean that kids must be exposed to them right away. For example Java/C++ strings are perfectly capable of being usable, providing a tangible output and keeping students sane.
There is no reason to teach someone a dead language to begin with just to learn concepts of OO programming. In the end Object is just a paper bag over a pretty face underneath. Ive seen people after being exposed to even Java switch to the wonderful world of C promptly peeing their panties and running home to their mama. I cant imagine what someone exposed to Smalltalk only will feel like.
People can learn math, which is far less tangible then programming in my experience. No reason to dumb things down.
I thought this story was about LEGO...
You need to use a mock turtle. :)
creation science book
penup; fd 200; lt 90; fd 300; pendown; fd 100; bk 50; lt 90; fd 100; lt 90; bk 50; fd 100; penup; fd 100; lt 90; pendown; fd 100; bk 50; rt 90; fd 75; rt 90; bk 50; fd 100; lt 90; penup; fd 25; lt 69; pendown; fd 110; rt 138; fd 110; bk 55; rt 111; fd 39; bk 39; penup; lt 111; fd 55; lt 69; fd 62; lt 90; pendown; fd 100; rt 90; bk 37; fd 75; penup; fd 25; pendown; fd 75; bk 75; rt 90; fd 50; lt 90; fd 50; bk 50; rt 90; fd 50; lt 90; fd 75; penup; rt 90; fd 25; rt 90; fd 400; lt 90fd; pendown; fd 100; lt 90; fd 75; penup; fd 25; pendown; fd 75; lt 90; fd 100; lt 90; fd 75; lt 90; fd 100; lt 90; penup; fd 100; pendown; fd 75; lt 90; fd 50; lt 90; fd 37; penup; fd 38; rt 90; bk 50; pendown; fd 100; rt 90; fd 75; penup; fd 25; pendown; fd 75; rt 90; fd 100; rt 90; fd 75; rt 90; fd 100; penup; home
(Not really.. it was actually the most fun I had in school).
https://www.eff.org/https-everywhere
I tried Alice once.
It chewed up all my computer's memory, spent 5 minutes swapping, then tanked. MMM, Java.
Perhaps I'll try it again now that I have a faster machine with more memory.
May I recommend Turtle Geometry to you?
AFAICT it's harder in some parts than SICP, and its all LOGO based.
I mean, how can you not to love a book that teaches how to simulate arbitrary curved surfaces and later simulate the curvature of space-time with just a turtle?
We are Turing O-Machines. The Oracle is out there.
Gosh, now you tell me. Now LOGO makes sense.
... I remember my sixth grade when I had a teacher who was a geek type with high-tech stuff. We had Apple ][ and IIe in the classroom. He had a cool Apple logo turtle robot that was basically a plotter on big paper on the floor. Did anyone have those before?
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
No. No, no, no, no, no. I am NOT condoning the use of Alice. Alice is a horrible, horrible program. I had to use it last fall, it hadn't been upgraded in years. It's buggy beyond all hell and the memory usage is just... awful. I can't count the number of times it crashed while loading something because it "ran out of memory." No one in my class liked it, and it can go to hell and burn for all I care.
Don't. Teach. With. Alice.
(The preceding has been an announcement by a pissed off CS student.)
It's a graphics system in the same spirit as LOGO. Kids might not even realize they're programming, which might be a handy feature with some kids, especially older ones. Teachers should check it out.
http://www.contextfreeart.org/
I was amazed when I found that LOGO had also spawned a TV network. However, the programming on that channel IS NOT what I was expecting.
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)
In Lisp, your programs are just lists and look like it, so it makes it much easier. I don't remember how it was in Logo, but I assume it basically helps you with the tokenizer, but parsing is still a pain. In Lips your code is incredibly easy to parse.
When you really learn to program, the language is irrelevant. My university specifically taught their introductory courses in a language that isn't used in the real world, and it was a useful approach. The point is to learn the underlying concepts, not the syntax of any one language. Learning different languages helps you abstract out what is really important. After you've learned a few languages from different families of languages, you can pick up a new language in days and still apply all the programming concepts you've learned. In the real world, its more useful to know that you can be effective with any language necessary, rather than locking yourself into a specific language, even a very useful one like C++.
Even Logo has a place as an early introduction. Its actually more complex than a lot of people realize. Your first exposure to it may not have included all the language features that were possible, but you can code some pretty reasonably complex logic with it.
I also learned LOGO when I was six (that was back when Radio Shack tought classes with TRS-80's... wow I'm old). What I think is so great about logo is that the syntax is very, very approachable -- even to kids who don't yet know how to spell!
We had nothing like this when I was younger, I did try to teach myself qbasic at one point, but I used to trip up on it due to my rather substandard maths.
:-p
I didn't see a computer in a school until secondary school, where we "learned" how to type in microsoft word