Applications of out-of-domain knowledge in students' reasoning about computer program state
Andrea A. diSessa, Colleen M. Lewis · ProQuest LLC eBooks · 2012
To meet a growing demand a projected deficit in the supply of computer professionals (NCWIT, 2009), it is of vital importance to expand students' access to computer science. However, many researchers in the computer science education community unproductively assume that some students lack an innate ability for computer science therefore cannot be successful learning to program. In contrast, I hypothesize that the degree to which computer science students make productive use of their out-of-domain knowledge can better explain the range of success of novices learning to program. To investigate what non-programming knowledge supports students' success, I conducted videotaped approximately 40 hours of clinical interviews with 30 undergraduate students enrolled in introductory programming courses. During each interview, a participant talked as they solved programming problems, many of which were multiple-choice problems that were highly correlated with success on an Advanced Placement Computer Science exam. In the analysis of the interviews I focused on students' strengths rather than the typical decision to focus on students' weaknesses. I documented specific competencies of the participants applied analytic tools from the Knowledge in Pieces theoretical framework (diSessa, 1993) to attempt to understand the source nature of these competencies. I found that participants appeared to build upon several kinds of out-of-domain knowledge. For example, many students used algebraic substitution techniques when tracing the state of recursive functions. Students appeared to use metaphors their intuitive knowledge of both iteration physics to understand infinite loops base cases. On the level of an individual students' reasoning, a case study analysis illustrated the ways in which a participant integrated her linguistic knowledge of and into her reasoning about the computer science command and. In addition to identifying these specific applications of out-of-domain knowledge, this dissertation applies learning theories that had not previously been applied to computer science education. Through this application I extend the learning theories to the domain of computer science, propose refinements to the theories, provide insights into participants' reasoning about particular computer science topics.