Learnable Programming

Learnable Programming
“The design principles presented in this essay can be used as a checklist to evaluate a programming system for learning.”