I'm cranking out my portfolio right now, so I'll just paste in a quick variant of the email I sent some friends.

This is long, but very worth reading: Learnable Programming. Think about it in the context of:

  • Learning and teaching introductory programming
  • Learning and teaching other technical classes that are code-related: digital signal processing, system dynamics.
  • Designing environments and languages for programming, especially when programming is "not the point" (as for an intro electronics or robotics course where the code is incidental to the final project)
  • Implications for MOOCS and massively distributed teaching systems in general.

Don't blindly agree with it right away. I don't agree with everything; it's useful in some contexts and not others, etc. But it is a thoughtful, insightful, well-written piece that's worth looking at to see how someone thinks well about a difficult topic, and communicates it clearly.

Thanks to Diana Kimball for the post that led me to this article, as well as for her insightful thoughts on taking a CS class at long last as an MBA student.