I don’t typically share a lot of technical material on this blog. (Actually, I don’t seem to share much at all on this blog anymore, but bear with me.) However, I do want to share an essay on a rather technical topic: How do people learn to program and how should we teach them?
Programming is unquestionably an important skill and will continue to be so for the foreseeable future. It is also, at least in some ways, a rather new skill that’s still developing rapidly. Developers create new platforms, languages, tools, and systems every year. Theoretically, these are all efforts to improve the craft in some way, but it’s still fundamentally hard to do. Worse, we don’t really know how to teach programming. Brett Victor’s essay on Learnable Programming examines some ways that we might improve on this.
Brett’s essay is extremely well-written, and I strongly encourage everyone reading this post to read it. It is clearly understandable for the non-technical person. Brett also demonstrates an excellent use of supporting multimedia. Most people aren’t particularly great writers, but even rather solid writers often struggle to use tables, figures, and video appropriately in their writing. For some material, such as textbooks, future readers will require excellent use of these visual aids.
I hope you enjoy it as much as I did!