Novice students' learning of object-oriented programming

Abstract: This thesis investigates students' experiences of learning to program. Learning to program is a complex activity. It involves elements of learning abstract concepts as well as both learning and using advanced resources like computers and compilers. The learning experience is affected by factors like students' motives to learn and their general understanding of what learning to program means. These issues form the basis for the four research themes addressed in this thesis, specifically: students' experiences of what learning to program means; how students understand central concepts in programming; how students use and experience help from resources; and students' motives to learn to program.The thesis presents a qualitative study on novice students' experiences of learning object-oriented programming. Data was collected via semi-structured interviews. The interviews were analysed mainly using a phenomenographic research approach. The analysis resulted in the formulation of categories of description of students' qualitatively different ways to understand what learning to program means. In addition, categories describing different ways to understand the concepts object and class in object-oriented programming were formulated. From an educational point of view, these results can be used to identify aspects of learning to program that are critical from the students' perspective.The analysis of students' use of resources revealed that some resources were mainly used in a search-for-meaning way that promotes good learning, while another group of resources were mainly used in a superficial way. The two groups of resources seem however to interact with each other when students take responsibility for their own learning, which in particular characterizes their work with the larger computer assignments. When working with those, the students describe that both groups of resources were important for the learning. The analysis of students' descriptions of their motives to learn pinpoints motives that can enhance learning.In the study there were students who expressed that they had problems to know how to go about to study computer programming. This might indicate problems about knowing how to use available resources efficiently. Students who do not know how to use resources like the compiler in an efficient way, will have difficulties to perform assignments, which is expressed by the students as very important for the learning of concepts. The results also indicate the importance for educators to provide a learning environment with a variety of resources which can connect to students' different motives to learn, pointed to in the study. In this way all four aspects of the learning experience examined in the present study are important for students' learning of object-oriented programming.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)