Learning to Program and Learning to Think: What's the Connection? - Richard E. Mayer; Jennifer L. Dyck; William Vilberg (Commun. ACM, 1986)