A diagnosis of beginning programmers' misconceptions of BASIC programming statements
Communications of the ACM
Constructivism in computer science education
Journal of Computers in Mathematics and Science Teaching
The Jeliot 2000 program animation system
Computers & Education
Communications of the ACM
Objects First With Java: A Practical Introduction Using BlueJ (3rd Edition)
Objects First With Java: A Practical Introduction Using BlueJ (3rd Edition)
Investigating the viability of mental models held by novice programmers
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Using cognitive conflict and visualisation to improve mental models held by novice programmers
Proceedings of the 39th SIGCSE technical symposium on Computer science education
A Review of Generic Program Visualization Systems for Introductory Programming Education
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Recent research has found that many novice programmers often hold non-viable mental models of basic programming concepts which can limit their potential to develop appropriate programming skills. Previous work by the authors suggests that a teaching model that integrates cognitive conflict and program visualisation can help novices formulate appropriate mental models. This paper first outlines a 'concepts roadmap' that provides an ordered approach to learning programming concepts allowing students to build on fundamental base knowledge. It then reports the results of a series of studies investigating the use of the Jeliot visualisation tool as the visualisation component of the proposed learning model when applied to these concepts. The findings include: the ease with which Jeliot can be tailored to visualise a range of concepts using a variety of examples; the Jeliot visualisation of object reference was too complex for CS1 students; further evidence that CS1 students struggle to develop appropriate understanding of a range of key programming concepts; and, further evidence that an integrated cognitive conflict/visualisation strategy can help students develop an appropriate understanding of key programming concepts.