Summary: | This thesis describes and reports on two sets of empirical studies investigating the ease of comprehension of Object Oriented (OO) programs, including the underlying various types of knowledge that can be present in the program text during the process of comprehension. The two empirical studies are referred to as the Car and the Line-Edit. These are two well established programming problems in the early literature from the Psychology of programming research. Both novice and experienced OO programmers were asked to undertake comprehension tasks based on a paper and pen exercise and a set of comprehension questions associated with either an OO or a non OO programming version of the Car or the Line-Edit. The studies focus on the elements of class concept, problem characteristics, and solution decompositions and their effect on the comprehension of different types of knowledge which are present in the program text. It is found that OO programs are better understood than of the non OO programs. It is also found that the class concept, problem characteristics, and solution decompositions are empirically to be the influential elements in the comprehension of OO programs, especially for Control Flow, State, and Problem Classes types of knowledge. An empirical grounded based model of OO program comprehension is proposed; the model forms a framework to the future empirical studies that focus on the critical aspects of the OO program comprehension. The thesis suggests a knowledge-based categorisation of the example programs. This categorisation should be embodied for better OO program comprehension amongst novices. The methodological issues for future investigations are also discussed. In particular it is suggested that different OO versions of the same program should be used as the experimental material as the next step.
|