ACE '06 Proceedings of the 8th Australasian Conference on Computing Education - Volume 52
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
A study on student performance in first year CS courses
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
'Explain in plain English' questions: implications for teaching
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Concrete and other neo-Piagetian forms of reasoning in the novice programmer
ACE '11 Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114
Proceedings of the ninth annual international conference on International computing education research
'explain in plain english' questions revisited: data structures problems
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
This study investigates the relationship between novice programmers' ability to explain code segments and their ability to write code. Results show a strong correlation between ability to correctly answer 'explain in plain English' (EiPE) questions and ability to write code indicating that there are aspects of reasoning about code that are common to both writing code and explaining code. Student explanations were categorized using the Structure of the Observed Learning Outcome (SOLO) taxonomy. The better programmers were more likely to articulate relational aspects of the algorithms. While earlier work also found such a link, the code writing in those earlier studies was done on paper. This is the first such result where the writing component was done with 'hands on' a computer. Our results add further evidence for the existence of an aspect of reasoning about code that is common to both explaining code and writing code, which in turn suggests that a judicious mix of teaching both code skills and code explaining skills may lead to a more effective process by which novices learn to reason about code.