Investigating and improving the models of programming concepts held by novice programmers
- 30 March 2011
- journal article
- research article
- Published by Taylor & Francis Ltd in Computer Science Education
- Vol. 21 (1), 57-80
- https://doi.org/10.1080/08993408.2011.554722
Abstract
The teaching of introductory computer programming seems far from successful, with many first-year students performing more poorly than expected. One possible reason for this is that novices hold ‘non-viable’ mental models (internal explanations of how something works) of key programming concepts which then cause misconceptions and difficulties. An initial study investigated the apparent viability of novices' models of fundamental programming concepts, focusing on value and reference assignment. This revealed that many students appeared to hold ‘non-viable’ mental models of these key concepts and that those students who appeared to hold viable mental models performed significantly better in programming tasks than those with non-viable models. To address this, a teaching model integrating cognitive conflict and program visualisation is proposed. A series of studies found that this teaching model is potentially effective in enhancing engagement with learning materials and may therefore help novice programmers develop a better understanding of key concepts.Keywords
This publication has 21 references indexed in Scilit:
- Mental models and programming aptitudePublished by Association for Computing Machinery (ACM) ,2007
- Fostering Conceptual Change by Cognitive Conflict Based Instruction on Students' Understanding of Heat and Temperature ConceptsEURASIA Journal of Mathematics, Science and Technology Education, 2006
- Recentering computer scienceCommunications of the ACM, 2005
- Conceptual change achieved through a new teaching program on acids and basesChemistry Education Research and Practice, 2005
- EROSI—visualising recursion and discovering new errorsACM SIGCSE Bulletin, 2000
- Force concept inventoryThe Physics Teacher, 1992
- Application of a conceptual conflict teaching strategy to enhance student learning of acids and basesResearch in Science Education, 1988
- How people construct mental modelsPublished by Cambridge University Press (CUP) ,1987
- The role of conceptual conflict in conceptual change and the design of science instructionInstructional Science, 1984
- A diagnosis of beginning programmers' misconceptions of BASIC programming statementsCommunications of the ACM, 1983