Programming: Reading, Writing and Reversing

The Association for Computing Machinery
Publication Type:
Conference Proceeding
ITICSE14: Proceedings of the 2014 Innovation & Technology in Computer Science Education Conference, 2014, pp. 285 - 290
Issue Date:
Full metadata record
Files in This Item:
Abstract: 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.
Please use this identifier to cite or link to this item: