Application of Artificial Intelligence methods in Finding Program Comprehension Differences in Novice Object Oriented Programmers (INTERNATIONAL JOURNAL OF COMPUTERS & TECHNOLOGY, 2013)
Program comprehension is the first step required for software maintenance, which accounts for a considerable number of job opportunities. For this to happen, it seems obvious that improving this ability in the teaching environment is required. The literature shows, however, that not enough solutions for improving program comprehension are offered as much as for programming itself. The aim of this research therefore, is to find a pattern of how different students vary in terms of comprehending a code written in an object-oriented language. For this, we have focused on two concepts including inheritance and polymorphism, gathered data online and analyzed it qualitatively. To find the right subject for all the students to study, a data mining technique i.e., the K-means clustering algorithm, was used. Results showed that a slight difference in programming experience can have a significant impact on program comprehension ability. The methods that were used by participants who succeeded in the experiment were the same as methods used by experts as mentioned in earlier research. Inheritance and polymorphism did not play an important role in lack of success in the process of program comprehension.