From http://worrydream.com/#!/LearnableProgramming
Principles of learn able programming