skip to main content
10.1145/3105726.3106190acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
research-article

Using Tracing and Sketching to Solve Programming Problems: Replicating and Extending an Analysis of What Students Draw

Published: 14 August 2017 Publication History

Abstract

Sketching out a code trace is a cognitive assistance for programmers, student and professional. Previous research (Lister et al. 2004) showed that students who sketch a trace on paper had greater success on code 'reading' problems involving loops, arrays, and conditionals. We replicated this finding, and developed further categories of student sketching strategies. Our results support previous findings that students who don't sketch on code reading problems have a lower success rate than students who do sketch. We found that students who sketch incomplete traces also have a low success rate, similar to students who don't sketch at all. We categorized sketching strategies on new problem types (code writing, code ordering, and code fixing) and find that different types of sketching are used on these problems, not always with increased success. We ground our results in a theory of sketching as a method for distributing cognition and as a demonstration of the process of the notional machine.

References

[1]
ACM/IEEE-CS Joint Task Force on Computing Curricula. 2013. Computer Science Curricula 2013. Technical Report. ACM Press and IEEE Computer Society Press.
[2]
Paul Chandler and John Sweller. 1991. Cognitive load theory and the format of instruction. Cognition and instruction 8, 4 (1991), 293--332.
[3]
Michelene TH Chi, Stephanie A Siler, Heisawn Jeong, Takashi Yamauchi, and Robert G Hausmann. 2001. Learning from human tutoring. Cognitive Science 25, 4 (2001), 471--533.
[4]
Michelene T. H. Chi, Paul J. Feltovich, and Robert Glaser. 1981. Categorization and Representation of Physics Problems by Experts and Novices. Cognitive Science 5, 2 (1981), 121--152. 2
[5]
Benedict Du Boulay. 1986. Some Difficulties of Learning to Program. Journal of Educational Computing Research 2, 1 (1986), 57--73. 2190/3LFX-9RRF-67T8-UVK9
[6]
Robert Ferguson and George M. Bodner. 2008. Making sense of the arrow-pushing formalism among chemistry majors enrolled in organic chemistry. Chem. Educ. Res. Pract. 9 (2008), 102--113. Issue 2.
[7]
Mark Guzdial, Barbara Ericson, Tom McKlin, and Shelly Engelman. 2014. Georgia Computes! An Intervention in a US State, with Formal and Informal Education in a Policy Context. 14, 2 (2014).
[8]
Matthew Hertz and Maria Jump. 2013. Trace-Based Teaching in Early Programming Courses. Proceedings of the 44th ACM Technical Symposium on Computer Science Education (2013), 561--566.
[9]
Mark A. Holliday and David Luginbuhl. 2004. CS1 assessment using memory diagrams. ACM SIGCSE Bulletin 36, 1 (2004), 200. 1028174.971373
[10]
Edwin Hutchins. 1995. How a cockpit remembers its speeds. Cognitive science 19, 3 (1995), 265--288.
[11]
Petri Ihantola and Ville Karavirta. 2011. Two-dimensional parsonfis puzzles: The concept, tools, and first observations. Journal of Information Technology Education 10 (2011), 2011.
[12]
Magdalene Lampert. 1992. Teaching and learning long division for understanding in school. In Analysis of Arithmetic for Mathematics Teaching, Rosemary A. Hattrup Gaea Leinhardt, Ralph Putnam (Ed.). Psychology Press, Chapter 4, 221--282.
[13]
Raymond Lister, Tony Clear, Dennis J Bouvier, Paul Carter, Anna Eckerdal, Jana Jackova, Mike Lopez, Robert McCartney, Phil Robbins, Otto Seppala, and others. 2010. Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer. ACM SIGCSE Bulletin 41, 4 (2010), 156--173.
[14]
Raymond Lister, Otto Seppala, Beth Simon, Lynda Thomas, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Mostrom, and Kate Sanders. 2004. A multi-national study of reading and tracing skills in novice programmers. In ACM SIGCSE Bulletin, Vol. 36. 119--150.
[15]
Linxiao Ma. 2007. Investigating and improving novice programmers' mental models of programming concepts. Ph.D. Dissertation. University of Strathclyde.
[16]
Robert McCartney, Jan Erik Mostrom, Kate Sanders, and Otto Seppala. 2004. Questions, Annotations, and Institutions: observations from a study of novice programmers. In the Fourth Finnish/Baltic Sea Conference on Computer Science Education, October 1--3, 2004 in Koli, Finland. Helsinki University of Technology, Department of Computer Science and Engineering, Laboratory of Information Processing Science, FINLAND, 11--19. [17] Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. 2001. A Multi-national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students. SIGCSE Bull. 33, 4 (Dec. 2001), 125--180.
[17]
Briana B. Morrison, Lauren E. Margulieux, and Mark Guzdial. 2015. Subgoals, Context, and Worked Examples in Learning Computing Problem Solving. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 21--29.
[18]
Dale Parsons and Patricia Haden. 2006. Parson's Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (ACE '06). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 157--163. http://dl.acm.org/citation.cfm?id=1151869.1151890
[19]
Roy D Pea. 1993. Practices of distributed intelligence and designs for education. Distributed cognitions: Psychological and educational considerations 11 (1993).
[20]
Robert S. Rist. 1989. Schema Creation in Programming. Cognitive Science 13, 3 (1989), 389--414. 3
[21]
Juha Sorva. 2013. Notional Machines and Introductory Programming Education. Trans. Comput. Educ. 13, 2, Article 8 (July 2013), 31 pages. 10.1145/2483710.2483713
[22]
John Sweller, Jeroen JG Van Merrienboer, and Fred GWC Paas. 1998. Cognitive architecture and instructional design. Educational psychology review 10, 3 (1998), 251--296.
[23]
Allison Elliott Tewand Mark Guzdial. 2010. Developing a Validated Assessment of Fundamental CS1 Concepts. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE '10). ACM, New York, NY, USA, 97--101.
[24]
Lynda Thomas, Mark Ratcliffe, and Benjy Thomasson. 2004. Scaffolding with Object Diagrams in First Year Programming Classes: Some Unexpected Results. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '04). ACM, New York, NY, USA, 250--254. org/10.1145/971300.971390
[25]
Juhani E. Tuovinen. 2000. Optimising Student Cognitive Load in Computer Education. In Proceedings of the Australasian Conference on Computing Education (ACSE '00). ACM, New York, NY, USA, 235--241. 359369.359405
[26]
Ian Utting, Allison Elliottt Tew, Mike McCracken, Lynda Thomas, Dennis Bouvier, Roger Frye, James Paterson, Michael Caspersen, Yifat Ben-David Kolikant, Juha Sorva, and Tadeusz Wilusz. 2013. A Fresh Look at Novice Programmers' Performance and Their Teachers' Expectations. In Proceedings of the ITiCSE Working Group Reports Conference on Innovation and Technology in Computer Science Education - Working Group Reports (ITiCSE -WGR '13). ACM, New York, NY, USA, 15--32.
[27]
Vesa Vainio and Jorma Sajaniemi. 2007. Factors in Novice Programmers' Poor Tracing Skills. SIGCSE Bull. 39, 3 (June 2007), 236--240. 1145/1269900.1268853
[28]
Jacqueline Whalley, Christine Prasad, and P. K. Ajith Kumar. 2007. Decoding Doodles: Novice Programmers and Their Annotations. In Proceedings of the Ninth Australasian Conference on Computing Education - Volume 66 (ACE '07). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 171--178. http://dl.acm.org/citation.cfm?id=1273672.1273693
[29]
Aman Yadav, Sarah Gretter, Susanne Hambrusch, and Phil Sands. 2017. Expanding computer science education in schools: understanding teacher experiences and challenges. Computer Science Education 26, 4 (2017), 235--254. arXiv:http://dx.doi.org/10.1080/08993408.2016.1257418

Cited By

View all
  • (2024)Programming Language Learning in K-12 EducationEmpowering STEM Educators With Digital Tools10.4018/979-8-3693-9806-7.ch010(227-260)Online publication date: 1-Nov-2024
  • (2024)Enhancing Novice Programmers? Understanding through Interactive Visualizations and Multiple RepresentationsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699572(1-2)Online publication date: 12-Nov-2024
  • (2024)LLM-aided Pair Programming for Algorithm TracingProceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research10.1145/3689535.3689546(1-1)Online publication date: 5-Sep-2024
  • Show More Cited By

Index Terms

  1. Using Tracing and Sketching to Solve Programming Problems: Replicating and Extending an Analysis of What Students Draw

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICER '17: Proceedings of the 2017 ACM Conference on International Computing Education Research
August 2017
316 pages
ISBN:9781450349680
DOI:10.1145/3105726
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cs1
  2. distributed cognition
  3. notional machine
  4. novice programmers
  5. sketching
  6. tracing

Qualifiers

  • Research-article

Conference

ICER '17
Sponsor:
ICER '17: International Computing Education Research Conference
August 18 - 20, 2017
Washington, Tacoma, USA

Acceptance Rates

ICER '17 Paper Acceptance Rate 29 of 180 submissions, 16%;
Overall Acceptance Rate 189 of 803 submissions, 24%

Upcoming Conference

ICER 2025
ACM Conference on International Computing Education Research
August 3 - 6, 2025
Charlottesville , VA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)116
  • Downloads (Last 6 weeks)12
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Programming Language Learning in K-12 EducationEmpowering STEM Educators With Digital Tools10.4018/979-8-3693-9806-7.ch010(227-260)Online publication date: 1-Nov-2024
  • (2024)Enhancing Novice Programmers? Understanding through Interactive Visualizations and Multiple RepresentationsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699572(1-2)Online publication date: 12-Nov-2024
  • (2024)LLM-aided Pair Programming for Algorithm TracingProceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research10.1145/3689535.3689546(1-1)Online publication date: 5-Sep-2024
  • (2024)Using Parsons' Puzzles to Support Nested Loops Learning2024 International Symposium on Computers in Education (SIIE)10.1109/SIIE63180.2024.10604542(1-6)Online publication date: 19-Jun-2024
  • (2023)Code Reading: How Students and Professionals DifferJournal of Computing Sciences in Colleges10.5555/3636517.363652139:1(28-37)Online publication date: 6-Dec-2023
  • (2023)Assessing the Effect of Programming Language and Task Type On Eye Movements of Computer Science StudentsACM Transactions on Computing Education10.1145/3632530Online publication date: 14-Nov-2023
  • (2023)Teaching Programmers to Think of Program DynamicsProceedings of the ACM Conference on Global Computing Education Vol 110.1145/3576882.3617918(140-146)Online publication date: 5-Dec-2023
  • (2023)Evaluating the Utility of Notional Machine Representations to Help Novices Learn to Code TraceProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600119(314-328)Online publication date: 7-Aug-2023
  • (2023)On Students’ Experiences with Algorithm Tracing using Pair ProgrammingProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 210.1145/3568812.3603477(43-43)Online publication date: 7-Aug-2023
  • (2023)The Role of Sketching in Facilitating Problem Solving in Introductory ProgrammingProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 210.1145/3545947.3576354(1411-1411)Online publication date: 1-Mar-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media