One of the many goals of an educator is to prepare their students to adapt what they have learned in new situations. There can be two types of adaptation: fault-driven adaptation (which are reactions to a difficult situation), and prospective adaptation (which are proactive reformulations of one's knowledge or environment prior to encountering a new problem of situation). Martin and Schwartz (2009) show that graduate students uniformly make prospective adaptations to create meaningful representations of available information much more often than undergraduate students before diagnosing a problem, even though this may cost them some start up time. Undergraduate students who do not have continuous access to reference material tend to create more meaningful representations than students who have continuous access. The long term benefit for the graduate students in creating meaningful representation through prospective adaptation is that they complete a new diagnostic task much quicker than others with no meaningful representation.
In Computer Science, as in many other Science disciplines, students are not usually given the time or opportunity to step back, reflect, and retool one's knowledge. In first year programming, students are taught to solve computing problems through a systematic and methodical way while they may not understand why "hacking" is not suitable. But rather than short circuiting this process of prospective adaptation which the students should work through themselves, perhaps the students should be allowed to hack their code, and then asked to step back to rethink what other ways of problem solving is more appropriate when given a more complex problem. Instead, most often, algorithmic or procedural formulations are provided and students often try to memorize these solutions, hoping that these are sufficient for any new problems they will encounter. A learning goal should be included in each course where students are expected to engage in prospective adaptation to create new representations and ways of integrating new ideas with their knowledge base. This can be in the form of creating concept maps, writing up summaries of new knowledge and its connections to other areas (e.g. through a blog), designing new procedures or methods in solving problems, or engaging in invention activities (which encourage risk taking at little cost).
Martin, L. and Schwartz, D. (2009). Prospective Adaptation in the Use of External Representations. Cognition and Instruction, 27(04), pp 370 - 400.