Replicating experiments from educational psychology to develop insights into computing education: cognitive load as a significant problem in learning programming

Thumbnail Image
Morrison, Briana Baker
Guzdial, Mark
Associated Organization(s)
Organizational Unit
Organizational Unit
Supplementary to
Students often find learning to program difficult. This may be because the concepts are inherently difficult due to the fact that the elements of learning to program are highly interconnected. Instructors may be able to lower the complexity of learning to program by designing instructional materials that use educational psychology principles. The overarching goal of this research is to gain more understanding and insight into when cognitive load might be interfering with learning programming. Cognitive load theory (CLT), and its associated effects, describe the role of the learner's memory during the learning process. By minimizing undesirable loads within the instructional materials, the learner's memory can hold more relevant information, thereby improving the effectiveness of the learning process. This research uses cognitive load theory to improve learning in programming. First an instrument for measuring cognitive load components within introductory programming was developed and initially validated. We have explored reducing the cognitive load by changing the modality in which students receive the learning material. This had no effect on novices' retention of knowledge or their ability to transfer knowledge. We then attempted to reduce the cognitive load by adding subgoal labels to the instructional material. This had some effect on the learning gains under some conditions. Students who learned using subgoal labels demonstrated higher learning gains than the other conditions on the programming assessment task. We also explored using a low cognitive load assessment technique (Parsons problem), to measure learning gains. This low cognitive load assessment task proved more sensitive than the open ended programming assessment tasks in capturing student learning. Students who were given subgoal labels regardless of context transfer condition out performed those in the other conditions. In the final study the format and content of the loop programming construct was changed in the material used to teach the students in order to reduce cognitive load. While the changed construct was presumed to be a more natural cognitive fit for students based on previous research, the data indicated that it had no statistical difference in learning performance. Some CS educators have argued that the changed construct might harm learning performance. However, these results suggest that learning performance was not harmed, meaning that either format could be used to teach the programming construct to students without disadvantaging the learner.
Date Issued
Resource Type
Resource Subtype
Rights Statement
Rights URI