Wednesday, November 08, 2006

Logo - Still The One

Tonight I wanted to introduce the topic of programming to my students. Rather than talk about it, I wanted them to do it! But, that brought up the question: what's the best way for a total newbie to learn to program?

To make the task trickier, I wanted a method that would get my students to the point where they could write small programs on their own for next week's homework. That means they needed to learn the syntax and semantics of a language, not to mention be introduced to problem solving skills, all in about 3 hours.

My choice: Logo!

Why did I choose to dust off this classic educational language? Surely, there must have been a better option than this crusty old language?

I don't think so, and here's why:

  1. Logo has the absolutely simplest syntax possible. This means students start playing with the language in minutes, and don't get hung up on ()'s .'s and ;'s

  2. The turtle metaphor provides for instant feedback, and avoids you needing to run through mathematical examples which often scare off students.
  3. There are free versions of Logo available, and they trivial to install and run. I even turned one of them into a basic zip file so that my students wouldn't need install privileges to use the software.
  4. Despite its simplicity, you can teach some of the most important concepts of programming, including: building of abstractions, debugging techniques, recursion, modularity, and iterative design and development all using turtle graphics.
  5. Logo has its roots in Lisp, and is actually a powerful language when you begin to explore it. As this textbook demonstrates, there's plenty more to Logo than pushing a turtle around the screen. The free version, MSWLogo, provides support for 3D and sound generation, and other versions allow for you to model complex phenomena such as traffic or termites.

Using some good examples I was able to whip up a Logo Cheat Sheet for my students. This, plus a bit of lecture time and I got to witness them playing the role of developers tonight. What a beautiful sight.

Logo - it may not be sexy, but it's dang effective.


  1. I actually learned to program in Logo at an Apple II camp cicra 1985 or so. It was awesome as an eleven year old being able to actually make the computer do something.

  2. That's what I'm talking about!

    As the Logo people are fond of saying, Logo allows you to have the kid program the computer, instead of trying use the computer to program the kid.

  3. I think the wiki link you wanted was: LOGO_programming_language

    I first learned how to program in BASIC (still have original IBM BASIC manuals) on a combination of a TI TRS-80 and on an IBM 8x86. I didn't learn Logo until '87 when I moved to Miami and got access to an old Atari, and then an Apple II. The geekiest part is that I think that I still have some of my old Logo code on a 5.25" disc somewhere (to bad I can't read it anymore). Thanks for the links to the free versions, I'm looking forward to playing with the turtle once again.

  4. Thanks Nick! You are, of course, correct.