This thesis explores the application of Cognitive Load Theory to the design and delivery of instructional materials for introductory computer programming.
Cognitive Load Theory (CLT) provides an explanation based on human cognitive architecture, and working memory limitations, as to why some content is difficult to learn. CLT also provides guidelines for effective instructional design for novices in complex areas to facilitate schema acquisition, development and automation.
Computer programming is an area that is both complex and difficult.
There are high levels of element interactivity between fundamental concepts essential for the design and development of programs (intrinsic cognitive load). There is also a need for attention to the aspects of language and development environment that are used (extraneous cognitive load). Combined, these reduce the cognitive resources available to be used in the learning process.
As part of an outreach program, introductory programming workshops using two learning environments – Mindstorms NXT and Alice – were designed for high school students using cognitive load principles. These were demonstrated to be effective in facilitating learning of programming skills and in raising interest and self-efficacy in programming within a cohort of female-only students. The students reported mid-range levels of cognitive load while completing the workshop activities, and a perception of programming as moderately difficult.
This appeared to be in conflict with widely reported difficulties in teaching programming at university level. To explore this apparent discrepancy, a survey of university academics and a survey of novice university programming students were conducted. The results of these studies indicated that some profiles of students were experiencing high to extreme levels of cognitive load. In order to explore the reasons for the success of the workshops, a controlled experiment was designed, using both males and females. The study was designed to investigate the effect upon learning of the nature of the programming environment interface. One group was given a truncated ‘subset’ version, while the other group was given a more ‘complete’ interface. There were significant differences between groups, favouring the Subset Group, in performance score and performance time. There was also a significant transfer effect, with participants in the Subset Group finding programming within a second environment significantly easier. Implications of these results for the choice of environments for introductory programming are discussed.
Mason, R 2012, 'Designing introductory programming courses : the role of cognitive load', PhD thesis, Southern Cross University, Lismore, NSW.
Copyright R Mason 2012