Using software testing to move students from trial-and-error to reflection-in-action
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Scaffolding with object diagrams in first year programming classes: some unexpected results
Proceedings of the 35th SIGCSE technical symposium on Computer science education
A multi-national study of reading and tracing skills in novice programmers
Working group reports from ITiCSE on Innovation and technology in computer science education
Not seeing the forest for the trees: novice programmers and the SOLO taxonomy
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
ACE '06 Proceedings of the 8th Australasian Conference on Computing Education - Volume 52
ACE '06 Proceedings of the 8th Australasian Conference on Computing Education - Volume 52
Debugging
Is abstraction the key to computing?
Communications of the ACM
Hasty design, futile patching and the elaboration of rigor
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Reflections on teaching abstraction and other soft ideas
ACM SIGCSE Bulletin
Relationships between reading, tracing and writing skills in introductory programming
ICER '08 Proceedings of the Fourth international Workshop on Computing Education Research
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
A closer look at tracing, explaining and code writing skills in the novice programmer
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
ACE '11 Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114
Exploring programming assessment instruments: a classification scheme for examination questions
Proceedings of the seventh international workshop on Computing education research
Proceedings of the ninth annual international conference on International computing education research
Is iteration really easier to learn than recursion for CS1 students?
Proceedings of the ninth annual international conference on International computing education research
Ability to 'explain in plain english' linked to proficiency in computer-based programming
Proceedings of the ninth annual international conference on International computing education research
A study of the influence of code-tracing problems on code-writing skills
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Toward a shared understanding of competency in programming: an invitation to the BABELnot project
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
Introductory programming: examining the exams
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
Swapping as the "Hello World" of relational reasoning: replications, reflections and extensions
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
Coming to terms with Bloom: an online tutorial for teachers of programming fundamentals
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
Neo-piagetian theory as a guide to curriculum analysis
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
This paper brings together a number of empirical research results on novice programmers, using a neo-Piagetian theoretical framework. While there already exists literature connecting programming with classical Piagetian theory, in this paper we apply neo-Piagetian theory. Using that neo-Piagetian perspective, we offer an explanation as to why attempts to predict ability for programming via classical Piagetian tests have yielded mixed results. We offer a neo-Piagetian explanation of some of the previously puzzling observations about novice programmers, such as why many of them make little use of diagrams, and why they often manifest a non-systematic approach to writing programs. We also develop the relatively unexplored relationship between concrete operational reasoning and programming, by exploring concepts such as conservation and reversibility.