Instructional design of a programming course: a learning theoretic approach
Schema induction and analogical transfer