Article
Some Trouble with Transparency: An Analysis of Student Errors with Object-oriented Python
International Computing Education Research Workshop
(2016)
Abstract
We investigated implications of transparent mechanisms in the context of an introductory object-oriented programming course using Python. Here transparent mechanisms are those that reveal how the instance object in Python relates to its instance data. We asked students to write a new method for a provided Python class in an attempt to answer two research questions: 1) to what extent do Python's transparent OO mechanisms lead to student difficulties? and 2) what are common pitfalls in OO programming using Python that instructors should address? Our methodology also presented the correct answer to the students and solicited their comments on their submission. We conducted a content analysis to classify errors in the student submissions. We find that most students had difficulty with the instance (self) object, either by omitting the parameter in the method definition, by failing to use the instance object when referencing attributes of the object, or both. Reference errors in general were more common than other errors, including misplaced returns and indentation errors. These issues may be connected to problems with parameter passing and using dot-notation, which we argue are prerequisites for OO development in Python.
Disciplines
Publication Date
August 25, 2016
DOI
10.1145/2960310.2960327
Citation Information
Craig S. Miller and Amber Settle. "Some Trouble with Transparency: An Analysis of Student Errors with Object-oriented Python" International Computing Education Research Workshop (2016) p. 133 - 141 Available at: http://works.bepress.com/asettle/11/