Starting with Scheme

Mike Zamansky has an interesting post on using Scheme as a first language for CS instruction. That’s not a new idea, of course. MIT’s famed 6.001 course (Entry Level Computing) used Scheme and SICP for years. Their course was adopted by over a hundred other universities and still has a die-hard following.

What makes Zamansky’s post a bit different is that he is talking about using it for a first High School course in computing. Many folks are surprised by this because they think of Scheme as being esoteric and hard—it’s Lisp, after all—but the reverse is actually true. Scheme’s trivial syntax makes the language mostly easy to learn and understand. I remember either Abelson or Sussman (I don’t recall which) remarking that in 6.001 they didn’t even bother to formally cover Scheme. The students just picked it up as they went along.

You can see that approach in action in Abelson’s and Sussman’s astounding video lectures based on SICP (here’s YouTube if you prefer). They talk about Scheme and it’s features as they come up in the lectures and don’t bother devoting a separate block to it. (If you haven’t watched these lectures, stop whatever you’re doing and start. I watched them after years of experience and was amazed at how much I learned.)

You can read why Zamansky thinks Scheme is often a good idea for a first course. I mostly agree with him. The only thing I found surprising was that he got some push back from parents for using such a non-mainstream language. It’s encouraging, I guess, that the parents are knowledgeable enough to comment on the choice.

This entry was posted in Programming and tagged , . Bookmark the permalink.