The Application of Higher-Order Cognitive Thinking Skills to Promote Students’ Understanding of the Use of static in Object-Oriented Programming - RAGONIS, Noa; SHMALLO, Ronit (Informatics in education, 2022)
Object-oriented programming distinguishes between instance attributes and methods and class attributes and methods, annotated by the static modifier. Novices encounter difficulty understanding the means and implications of static attributes and methods. The paper has two outcomes: (a) a detailed classification of aspects of understanding static, and (b) a collection of questions designed to serve as a learning/practice/di-agnostic tool to address those aspects. Providing answers requires learners to apply higher-order cognitive skills and, hence, to advance their understanding of the essential meaning of the concept. Each question is analyzed according to three characteristics: (a) the static aspects that the question examines according to a detailed classification the paper provides; (b) identification of the question according: to Bloom’s revised taxonomy, to the Structure of Observed Learning Outcome (SOLO) taxonomy; and to the problem-solving keywords used in the question's formulation. Several recommendations for teaching are presented.