Investigating and improving the models of programming concepts held by novice programmers

L. Ma, John Ferguson, M. Roper, M. Wood

Research output: Contribution to journalArticle

45 Citations (Scopus)

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.
Original languageEnglish
Pages (from-to)57-80
Number of pages24
JournalComputer Science Education
Volume21
Issue number1
DOIs
Publication statusPublished - 30 Mar 2011

Keywords

  • empirical studies
  • teaching/learning strategies
  • novice programmers
  • constructivism
  • mental models
  • assignment

Fingerprint Dive into the research topics of 'Investigating and improving the models of programming concepts held by novice programmers'. Together they form a unique fingerprint.

Cite this