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.