Reducing the cognative load on novice programmers
Association for the Advancement of Computing in Education
Faculty of Business and Public Management
School of Business
Computer programming is a domain of knowledge that is generally considered difficult by students, many of whom experience low levels of achievement and become disillusioned. This paper suggests that cognitive load theory needs to be taken into account when designing instructional materials for this domain. The cognitive load that is experienced by a student can be considered to be made up of three types: intrinsic, extraneous, and germane. Computer programming has a high intrinsic load and it is therefore necessary to reduce the extraneous load as much as possible by using techniques such as the study of programming examples. Germane cognitive load can then be applied by removing certain parts of the solutions to the examples and then requiring students to complete these part-complete solutions thereby encouraging schemata creation in long-term memory. A new software tool called CORT (Code Restructuring Tool) has been created which utilises this part-completion method.