Matthew Effects in Learning Computer Programming Concepts
Cándido Cabo · 2021 IEEE Frontiers in Education Conference (FIE) · 2021
In this research to practice full paper we quantified whether student progress in learning computer programming concepts in a Java course is consistent with the Matthew effect, that is, if early success (or failure) in the acquisition of concepts/skills begets later success (or failure) in the acquisition of more concepts/skills. We found that 63% of students had difficulty understanding basic programs involving the assignment operator and a sequence of statements. The inability of students to understand assignment and sequencing proved to be a substantial obstacle to student progress in learning more advanced flow control and data structures concepts like selection, repetition loops and arrays. About 66% of students who succeeded in assignment/sequencing also succeeded in selection structures. On the other hand, about 34% of the students who did not succeed in assignment/sequencing succeeded in selection structures. About 77% of the students who succeeded in assignment/sequencing and selection also succeed in repetition. Students who did not succeed in both assignment/sequencing and selection had lower percentage of success in repetition: 39% when they succeeded only in selection; 61% when they succeeded only in assignment/sequencing; 38% when they failed in both assignment/sequencing and selection. The same trends were observed when analyzing performance in student understanding of arrays. In conclusion: 1) student performance in computer programming concepts taught early in the course affects performance in computer concepts taught later in the semester; 2) The ability of students to understand concepts involving a sequence of statements is a good early predictor of success/failure in understanding more advanced concepts like selection, repetition and arrays; 3) Matthew effects are at play in learning computer programming: early success (or failure) in understanding basic computer programming concepts begets later success (or failure) in understanding more advanced computer programming concepts.