An investigation of the impact of human cognition on the acquisition of computer programming skills by students at a university
MetadataShow full item record
This study aimed to explore the impact of cognitive ability on the understanding of computer programming by students enrolled for a programming course at the University of KwaZulu-Natal. The rationale for this study is provided by the general perception held by the academic community that computer programming is a difficult faculty to master. This assertion is corroborated by reports of high failure rates in computer programming courses at tertiary institutes. A literature review was undertaken to investigate the contribution of other factors on the ability to achieve competence in computer programmer. Based on the outcome of the literature review, this study argues that cognitive ability warrants a higher priority relative to the other factors. As a strategy, cognitive science theory was consulted to establish a framework to quantify competency in computer programming. On the basis of this endeavour, two protocols were identified to facilitate the quantification process. The first was the “deep and surface” protocol used in previous studies to ascertain students’ cognitive style of understanding for computer programming. The second was an error analysis framework which was developed as part of the current study. These protocols were used as frameworks to underpin the data collection phase of the study. This study found that at least 50% of the students enrolled in a computer programming course adopt a superficial approach to the understanding of computer programming. In order to explain this phenomenon, a cognitive ability test was administered. Here it was established that at least 39% of these students have not reached a level of cognitive development that will enable the invocation of abstract thought. The study also found that this inability to handle abstractionism, an essential requirement for success in computer programming, is reflected in the severity of errors made in computer programming assessment tasks.