Reaching Programming Zen: How to teach intro to cs
cs.washington.edu