TY - GEN
T1 - Novice rationales for sketching and tracing, and how they try to avoid it
AU - Cunningham, Kathryn
AU - Ke, Shannon
AU - Guzdial, Mark
AU - Ericson, Barbara
N1 - Funding Information:
This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGC-1148903. We also thank the University of Michigan for financial support.
Publisher Copyright:
© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2019/7/2
Y1 - 2019/7/2
N2 - Prior research has shown that sketching out a code trace on paper is correlated with higher scores on code reading problems. Why do students sometimes choose not to draw out a code trace, or if they do, choose a different sketching technique than their instructor has demonstrated? In this study, we interviewed 13 CS1 students retrospectively about their decisions to sketch and draw on a recent programming exam. When students do sketch, we find that their sketching choices do not always align with a strict execution of the notional machine. Sketching choices are driven by a search for a program’s patterns, an attempt to create organizational structure among intermediate values, and the tracking of prior steps and results. When novices don’t sketch, they often report that they’ve identified the goal that the code achieves. In either case, novices are searching for the functionality of code, rather than merely tracing its behavior.
AB - Prior research has shown that sketching out a code trace on paper is correlated with higher scores on code reading problems. Why do students sometimes choose not to draw out a code trace, or if they do, choose a different sketching technique than their instructor has demonstrated? In this study, we interviewed 13 CS1 students retrospectively about their decisions to sketch and draw on a recent programming exam. When students do sketch, we find that their sketching choices do not always align with a strict execution of the notional machine. Sketching choices are driven by a search for a program’s patterns, an attempt to create organizational structure among intermediate values, and the tracking of prior steps and results. When novices don’t sketch, they often report that they’ve identified the goal that the code achieves. In either case, novices are searching for the functionality of code, rather than merely tracing its behavior.
KW - CS1
KW - External cognition
KW - Notional machine
KW - Novice programmers
KW - Program visualization
KW - Sketching
KW - Tracing
UR - http://www.scopus.com/inward/record.url?scp=85070890627&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85070890627&partnerID=8YFLogxK
U2 - 10.1145/3304221.3319788
DO - 10.1145/3304221.3319788
M3 - Conference contribution
AN - SCOPUS:85070890627
T3 - Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE
SP - 37
EP - 43
BT - ITiCSE 2019 - Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education
PB - Association for Computing Machinery
T2 - 2019 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2019
Y2 - 15 July 2019 through 17 July 2019
ER -