Dr. Neil Brown recently published a scholarly article on how to effectively teach programming. Rather than a series of anecdotes, this is backed up by actual research in educational psychology. He talks to Scott about how we can and should approach teaching the next generation of developers.

https://software-carpentry.org/
http://runestoneinteractive.org/LearningAtScale/parsons.html
http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006023