Programming: Reading, writing and reversing

Publication Type:
Conference Proceeding
ITICSE 2014 - Proceedings of the 2014 Innovation and Technology in Computer Science Education Conference, 2014, pp. 285 - 290
Issue Date:
Full metadata record
In this paper, we look at the concept of reversibility, that is, negating opposites, counterbalances, and actions that can be reversed. Piaget identified reversibility as an indicator of the ability to reason at a concrete operational level. We investigate to what degree novice programmers manifest the ability to work with this concept of reversibility by providing them with a small piece of code and then asking them to write code that undoes the effect of that code. On testing entire cohorts of students in their first year of learning to program, we found an overwhelming majority of them could not cope with such a concept. We then conducted think aloud studies of novices where we observed them working on this task and analyzed their contrasting abilities to deal with it. The results of this study demonstrate the need for better understanding our students' reasoning abilities, and a teaching model aimed at that level of reality. Copyright © 2014 ACM.
Please use this identifier to cite or link to this item: