144 comments

[ 3.1 ms ] story [ 228 ms ] thread
Just yesterday I finished "Turtles, Termites and Traffic Jams" by Resnick who builds heavily upon Papert's work.

Mindstorms is on my backlog.

I have fond recollections about my first contact with Turtles. It didn't shape me or anything like that, but I'd like to take Logo out again and play with it.

Is there a recommended modernish Logo (running on Windows), or should I simply go to Processing?

I was told in another thread [0] that NetLogo isn't really suitable for "turtle graphics" and is apparently for "actor based modelling". I certainly found the interface overwhelming.

When I last used Logo it was in mswLogo [1].

There's also Lhogho [2], Python's turtle module [3] and FMSLogo [4]

0: https://news.ycombinator.com/item?id=12149061

1: http://www.softronix.com/logo.html (not sure if this is the original site)

2: http://lhogho.sourceforge.net/

3: https://docs.python.org/3.0/library/turtle.html

4: http://fmslogo.sourceforge.net/

EToys is quite nice http://www.squeakland.org

It's a Smalltalk environment extended with a drag-and-drop scripting system. All (literally, all) of the graphical objects can be used as turtles (they have a "pen", and methods for "forward", "left"/"right", etc.).

The really nice part is that it's "turtles all the way down": the entire GUI (scripts, text, buttons, etc.) is made out of the same stuff as user-created objects; you can write scripts which tell other scripts how to move around; and write scripts to tell those scripts how to move around; and so on.

It comes with a bunch of pre-built objects, including a musical keyboard, a paint program, etc. and there are projects like "physical etoys" for hooking in physical sensors and actuators, so you can make a physical turtle.

Also check out The Children's Machine. Some similar content to what's in Mindstorms, but it was written years later, based on further research.

A favorite quote: [O]n my reckoning, the fraction of human knowledge that is in the [school] curriculum is well under a millionth and diminishing fast. I simply cannot escape from the question: Why that millionth in particular?

"People laughed at Seymour Papert in the sixties when he talked about children using computers as instruments for learning and for enhancing creativity." - I'm glad he continued his work. My most fond memory of when I first saw a computer.. and it was running logo. I was amazed by all those keys! I would definitely not be here today if it were not for this gentleman. I got into trouble in school for throwing away the provided instructions and started to hack that turtle into writing my name the moment I realized I could control it. I never looked back from that day, I was 8 years old. RIP Seymour.
I never had the opportunity to use Logo, but I think it's obvious how much influence Seymour had on our industry and many of our paths. RIP.
LogoWriter was my entry into programming. I started with the turtle in elementary school, and in early high school my mind was blown when I leaned about the "flip side", where you could use functions and script things.

In grade 7 I used it to make an elaborate multi screen Sierra inspired game that took the better part of the year to make. What I would give to have a copy of it now...

RIP. Thanks for Logo and everything else.

Of course, Logo was just a means to an end, something that was meant to be one example of many as to how to introduce children to the medium of computing. As is often the case the wider message was lost -- to me this was much like when englebart died and he was called "the inventor of the mouse." Mindstorms is a must read.
(comment deleted)
2016 strikes again. :(

Seymour Papert was "co-creator of Logo" in much the same way that Doug Engelbart was "creator of the mouse". Their ideas were bigger than something you can fit in a headline. Papert believed that computers had a unique potential to help us learn and think. Anyone interested in computers or education should check out his book Mindstorms: Children, Computers, and Powerful Ideas.

(comment deleted)
I want to emphasize the "or" in that last sentence -- everyone should read Mindstorms.
"The fundamental fact about learning: Anything is easy if you can assimilate it to your collection of models. If you can't, anything can be painfully difficult." [0]

Although Papert is most known for Logo, he did not believe learning how to program was specially good in itself.

It is the fact that the computer allows the child to model almost everything (at almost no cost) that allowed that child to develop and fall in love with a topic, the same way he fell in love with gears at a very young age.

In his own words [1]: "It did not occur to me that anyone could possibly take my statement to mean that learning to program would in itself have consequences for how children learn and think. [...] But encouraging programming as an activity meant to be good in itself is far removed, in its nature, from working at identifying ideas that have been disempowered and seeking ways to re-empower them."

[0] Papert - "Mindstorms" in the Foreword: 'The Gears of My Childhood'

[1] Papert - "What’s the big idea? Toward a pedagogy of idea power"

From the same Foreword:

"A modern-day Montessori might propose, if convinced by my story, to create a gear set for children. Thus every child might have the experience I had. But to hope for this would be to miss the essence of the story. I fell in love with the gears. This is something that cannot be reduced to purely "cognitive" terms. Something very personal happened, and one cannot assume that it would be repeated for other children in exactly the same form.

My thesis could be summarized as: What the gears cannot do the computer might. The computer is the Proteus of machines. Its essence is its universality, its power to simulate."

https://www.c-span.org/video/?67583-1/technology-education

Technology In Education The committee examined technological advances in education. OCTOBER 12, 1995

Alan Brown Superintendent Public Schools

Chris Dede Professor George Mason University

Jeffrey Joseph Vice President U.S. Chamber of Commerce->Domestic Policy

Alan Kay Fellow Apple Computer->Learning Concepts

Cheryl Lemke Associate Superintendent Illinois->Board of Education

Edward McCracken President and CEO Silicon Graphics

Deborah McGriff Senior Vice President Edison Project

Robert W. Mendenhall Vice President IBM->K-12 Industry Division

Seymour Papert Professor Massachusetts Institute of Technology->Technology

David Shaw Chief Executive Officer Shaw Investment Company

Pat Wright Vice President TCI Educational Technologies

This is a long 1995 congress hearing video that I doubt many people have time and patience to sit through. But if you fast forward to the debate between D.E. Shaw and Seymour Papert/Alan Kay, you will find out 20 years later, the hardware progress is almost exactly as Shaw had predicted, on the other hand, we are far from the vision of Seymour Papert and Alan Kay.
At least, I think we have hit the point where a 5 year life cycle for a $1000 computer is reasonable.

On the other hand there's still a lot of teaching where a single person sits in front and tries to broadcast knowledge to a group of students, which to me seems absurd. The fact that the most obvious difference between schools now and 30 years ago is that whiteboards, powerpoint, and flatscreens have replaced blackboards, overhead projectors, and film projectors was perhaps predictable, but seems wasteful.

Thanks for the observation on the 5 year life cycle.

But if we think of the "education" in 5-year stages: the first is elementary school, the second is middle and high school, the third is college, the fouth is grad school.

So the the "life-long" educational computer budget for each student is $4000.

Anecdote: Logo was used in French 80s National "Plan Informatique Pour Tous" https://fr.wikipedia.org/wiki/Plan_informatique_pour_tous (Computing for all), running on Thomson MO5 terminals distributed in many schools. Kids (6-9yo I believe) would learn to "program" using it. For the younger ones it was mostly about moving that infamous turtle, and that was it. It was still something utterly magical, even though the lightpen bundled with the MO5 was also a big part of it.
I remember playing with logo on MO5. The teacher used a TO7. IIRC we managed to get some geometrical figures using loops, like eg a "square-y spiral."
Yes, that's what I recall too. Most kids were confused by the relativity of orientation since left when facing down is right ... After that classes were about the word processor and paint program.

Something I wish I could investigate; was the network infrastructure. I don't know if my school was special but there was a bit networked server that could communicate with other schools (we even had online contests). I also remember seeing its screen trashed. Teacher said "there's a virus.".

I remember using logo during elementary school a bit later (late 90s), the computer room was full of old computers, not sure if they were MO5, but the keyboard looks familiar. I loved it. I was so happy when, back home on windows 3.1, I could open my drawings saved on a floppy disk.

A good memory is the day I found the Help page with instructions on how to draw a wireframe 3D sphere. This was my first successful introduction to the power of "RTFM".

Announcement on front page of the Logo Foundation: http://el.media.mit.edu/logo-foundation/
(comment deleted)
For many years, I completely associated Logo with "turtle graphics" -- like it was a toy for kids to learn programming ideas. I only realized a couple years ago that it's a pretty capable language. The best references I found are a 3-volume set that covers using Logo for symbolic computation, making compilers, a diff tool, etc. PDF/HTML at https://people.eecs.berkeley.edu/~bh/v1-toc2.html
My favorite Logo-for-relative-grownups work is https://www.amazon.com/Turtle-Geometry-Mathematics-Artificia... -- yes, with the same coauthor as SICP. It's about math more than CS, and it's really good: by the last chapter you're figuring out motion in general relativity. It has a spirit of DIY exploration unlike any other math book I'd seen at the time.
Logo is essentially just Lisp without parenthesis. Everything is possible, and it's all self contained and defined in terms of itself!

Leigh Klotz wrote a 6502 assembly language assembler in Logo for Terrapin Logo for the Apple ][ and C64, which you could use to extend Logo do to anything you wanted, like interfacing to hardware.

I've been playing with Lhogho - Logo compiler [1]. The creator has done some amazing things with it and other projects too.

I had an OpenGL spinning pyramid up in 10 minutes and an EXE for windows and an executable for Linux too. Pretty cool, but it is not being developed any longer. It runs fine on my Win 10 box and Linux Ubuntu 14 box.

I found it when looking into Logo because I was working with the modeling software NetLogo [2].

[1] http://lhogho.sourceforge.net/

[2] https://ccl.northwestern.edu/netlogo/

So Long, and Thanks for All the Turtles
Python has a "logo inspired" turtle in the standard lib: https://docs.python.org/3.5/library/turtle.html

We played with it with my son and it brought back memories from the 80s when the French government made a big push on Logo in the schools.

Oh man, you absolutely made my day. I've been teaching my fiancee bits of Python for the past couple days (her first code ever!) and this library made it all make sense. It let her take all the little concepts I taught her, and put them together to make something cool. She just wrote a street with houses on it, generated by a simple for loop!
The freely available online book Think Python is a fantastic introduction to both CS and Python and includes a chapter on turtle graphics with some fun exercises.
Wow, nice! Thanks for mentioning it.
Actually, when you look at any kind of programming, it is:

Turtles, turtles all the way down.

RIP

RIP, Seymour Papert.

Scratch is the spiritual successor to Logo.

As Scratch becomes more and more popular, it has been sad to say that there is a tension between the spirit of Scratch and commercialization. Scratch is all about exploration and making mistakes and experiential learning. However, there is a deluge of companies who are trying to create curriculums for Scratch that fit into the traditional School lesson models (canned, cut and dry).

Here are some of the better alternatives:

Google has developed the CS First program which uses Scratch. The interesting thing about this program is that it tries to scale the problem of teaching CS by making it less necessary for the teacher to know CS.

https://www.cs-first.com/

There is also a curriculum guide for Scratch.

http://scratched.gse.harvard.edu/guide/

When we learned Logo, the teacher was learning right along with us. What a teacher can do, is encourage metacognition, so when a child either gets or not-gets something, they can organize it in their mind.

I like scratch, but it seems so Bubble Gum. Logo on an Apple II had a beautiful austerity to it.

Logo doesn't get enough credit. It is more than just a system for turtle graphics, but a real programming language with a lot of similarity to Lisp. Brian Harvey at Berkeley used to be proponent of even using it as an alternative to Lisp for teaching functional programming to undergraduates.
And I think the best Logo implementation was on the TI 99/4A. It is called "TI Logo" and includes sprites. Full manual here: ftp://club100.org/programming/LOGO/TI%20LOGO%20(phm3109).pdf
While I'm a bit bummed about the general commercialization of some elements of Scratch, I think it's fair to say that there is an encouraging amount of work being done in parallel with Scratch that keeps us from living in a monoculture of blocks.

As examples, the blockly [0] library makes it easier for devs to build blocks-based programming interfaces for a lot of systems. It's been used in App Inventor for building android apps [1], by some of the Code.org (and other) tutorials for hour of code, and excitingly there are some moves to build lego mindstorms programming environments in blockly too ([2] as well as a blog post from google that I can't find right now, ironically, stating they were working with lego on an official one)

There's also snap [3], which started as a project at UCBerkeley to allow scratch users to build their own blocks (e.g., define functions, which was impossible in early versions of scratch), and is, excitingly, written in regular javascript rather than flash (scratch is still a flash app for the most part). There's some legacy notions in snap that make it not the easiest to use (it's all done on canvas elements, and some interface gestures don't work as well as their blockly counterparts, since blockly uses divs and css for blocks), but it's still great and free and open (and works on more devices).

I'm sure there's other stuff out there I'm missing, including classic stuff (like the Boxer programming environment, of which I'm a huge fan), but Papert's legacy measured by the work and people has inspired directly and indirectly is enormous.

0: https://developers.google.com/blockly/

1: http://appinventor.mit.edu/explore/index-2.html

2: https://lab.open-roberta.org/

3: http://snap.berkeley.edu/

Adding one more: https://computinged.wordpress.com/2016/06/13/introducing-gp-...

"GP is a new blocks-based programming language being developed by John Maloney (most well-known for developing Scratch), Jens Mönig (developer of Snap!), and Yoshiki Ohshima (one of the developers of Squeak EToys) in Alan Kay’s group. They are all part of the new partnership between Alan Kay and Y-Combinator Research: HARC (Human Advancement Research Community). GP started in the SAP-funded CDG (Communications Design Group)."

I have seen Boxer referenced and it seems like a great idea. Did it lead to something else and if not is there a good reason. I'd like to know more about it but the name makes it hard to search for. Is there a way to run it?
Boxer was the nicest Logo I used. I don't know where you would get it today and you would probably need an emulation of a classic Macintosh to run it. People wanting to extend Scratch should take a look at Boxer because the real problem with Scratch is that it is "flat" while any non trivial system is nested.
Yeah, it's too bad it never really took off. I may be misrepresenting Boxer here (as I was never part of the project, but was a grad student and later lecturer at the UC Berkeley School of Education), but my impression was that it was sort of a victim of its avant-garde ideas at the time.

Boxer was a pretty revolutionary programming environment when it was introduced (see [0] for an example paper from 1986). Great computing ideas (object oriented, dynamically scoped variables, visual programming environment), and an amazing space for pedagogical application.

Imagine that instead of a paper notebook, you could write your ideas in a computational medium that could pretty easily create and run dynamic representations. That's something people keep inventing and re-inventing, and Boxer was one of those really early models.

One core problem (again, all of this is IMO) was that the driving force behind Boxer (Andrea diSessa) utilized it in smaller-scale research. That's not to say diSessa's research wasn't really important - it really was. There's a ton of super-important learning sciences contributions to what we know about how people learn, the nature of concepts and misconceptions (calling into question the very nature of misconceptions as a useful category), and how people's ideas change over time. But that's kind of the problem - diSessa used Boxer as a way to create really interesting environments for his research on learning and knowing. It was never given the heavy-duty push that logo and later stuff from the MIT media lab had. For example, Mitch Resnick and Yasmin Kafai co-edited "Constructionism in Practice", which was a pretty good book that showcased a ton of the applications of logo to teaching (and their work tended toward whole-school interventions).

All that said, as of a few years ago, I believe there was both a windows and mac version of boxer and it was still under development. I'm not sure if that's still true- diSessa has retired, and his website seems unreachable now.

0: http://web.media.mit.edu/~mres/papers/boxer.pdf

Scratch 1.4 is still the best version: Why? Because it was the last version of scratch built on MIT Squeak. There is nothing quite like discovering shift-click r, and seeing the code that built your environment for the first time.

Also, check out Snap! the Scratch 2.0 successor to BYOB that is essentially a stealth Scheme.

Yup. Most schools can't authentically do the things that Papert describes in Mindstorms. It goes against their very structure.

I don't blame the commercial vendors -- they are following the public-policy-directed money. I blame the schools for their culture of top-down control and conformity.

And it goes with the grain in Montessori schools. I was introduced to Mindstorms by my mother, a Montessori educator with barely an interest in computers.
It does, and I think Montessori schools are great.

My one complaint is that a lot of Montessori teachers seem to have a blanket distaste for all electronics that lumps the good (Scratch and Logo) in with the bad (passively watching videos all day).

PU WAIT 7200 PD

Thanks for your work, Mr. Papert

Wow, RIP - he was a big inspiration to me professionally both in terms of the tech he helped build and in terms of the learning theory of which he was a proponent. (I also work at the intersection of education, learning sciences, and technology).

[0] is a great video from the early days of LOGO, and he's pushing notions of programming for all that felt new and revolutionary in the 2000s.

Mindstorms [1] is a great book if you're interested in his ideas about learning.

0: https://www.youtube.com/watch?v=xMzojQFyMo0

1: https://amzn.com/0465046746

I very clearly remember using Logo in 1st grade over 30 years ago. Looking back, it was clearly what hooked me to get into CS.

Thanks Dr. Papert!

If you haven't read Mindstorms yet and you have any interest at all in how learning, mathematics, and programming are interrelated then please take a moment to go buy it today.

There's little risk that Papert's ideas will fail to last—they are already embedded in so much of how we think about programming—but reading that book helps to emphasize just how far we are away from the ideas he was able to see just by talking with people about how they learn.

Truly, truly inspirational man. I'm sad he's now gone.

He came to my high school to teach for the academic year when I was 16

https://en.wikipedia.org/wiki/University_Laboratory_High_Sch...

He was a very, very warm person that clearly loved children. I remember him juggling oranges (or balls?).

I wanted to work with Papert and implemented LOGO with graphics on the university's computers when I was 16 using an instruction manual from Bolt, Beranek and Newman (now BBN Tech). I still remember showing it to him.