Similar Items: Reflections on the Teaching of Programming :