ABSTRACT
Novice programmers' program tracing skills have been found to be poor but the difficulties leading to inefficient tracing are not well known. To study this issue, we conducted exploratory interviews that included program comprehension tasks with novice students and analyzed comprehension protocols to identify specific difficulties affecting novices' ability to trace programs. Based on the qualitative analysis, we describe four specific difficulties students had with program tracing-single value tracing, confusing function and structure, inability to use external representations, and inability to raise abstraction level-and discuss ways to help students to overcome these difficulties.
- B. Adelson and E. Soloway. The role of domain experience in software design. IEEE Transactions on Software Engineering, 11(11):1351--1360, 1985. Google ScholarDigital Library
- P. Byckling and J. Sajaniemi. Roles of variables and programming skills improvement. In Proc. of the 37th SIGCSE Technical Symposium on Computer Science Education, pages 413--417, 2006. Google ScholarDigital Library
- J. de Kleer and J. S. Brown. Mental models of physical mechanisms and their acquisition. In J. R. Anderson, editor, Cognitive Skills and Their Acquisition, pages 285--310. Lawrence Erlbaum Associates, 1981.Google Scholar
- J. de Kleer and J. S. Brown. Assumptions and ambiguities in mechanistic mental models. In D. Gentner and A. L. Stevens, editors, Mental Models, pages 155--190. Lawrence Erlbaum Associates, 1983.Google Scholar
- F. Détienne and E. Soloway. An empirically-derived control structure for the process of program understanding. International Journal of Man-Machine Studies, 33(3):323--342, 1990. Google ScholarDigital Library
- B. Du Boulay, T. O'Shea, and J. Monk. The black box inside the glass box: Presenting computing concepts to novices. International Journal of Man-Machine Studies, 14:237--249, 1981.Google ScholarCross Ref
- S. Fitzgerald, B. Simon, and L. Thomas. Strategies that students use to trace code: An analysis based in grounded theory. In Proceedings of the 2005 International Workshop on Computing Education Research, pages 69--80. ACM Press, 2005. Google ScholarDigital Library
- T. R. G. Green, R. K. E. Bellamy, and J. M. Parker. Parsing and gnisrap: A model of device use. In G. M. Olson, S. Sheppard, and E. Soloway, editors, Empirical Studies of Programmers: Second Workshop, pages 132--146. Ablex Publishing Company, 1987. Google ScholarDigital Library
- P. Gries and D. Gries. Frames and folders: A teachable memory model for Java. The Journal of Computing in Small Colleges, 17(6):182--196, 2002. Google ScholarDigital Library
- G. Klein. Sources of Power: How People Make Decisions. MIT Press, 1998.Google Scholar
- R. Lister, E. S. Adams, S. Fitzgerald, W. Fone, J. Hamer, M. Lindholm, R. McCartney, J. E. Moström, K. Sanders, O. Seppälä, B. Simon, and L. Thomas. A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36(4):119--150, 2004. Google ScholarDigital Library
- D. N. Perkins, C. Hancock, R. Hobbs, F. Martin, and R. Simmons. Conditions of learning in novice programmers. In E. Soloway and J. C. Spohrer, editors, Studying the Novice Programmer, pages 261--279. Norwood, NJ: Ablex Publishing Company, 1989.Google Scholar
- D. N. Perkins and F. Martin. Fragile knowledge and neglected strategies in novice programmers. In E. Soloway and S. Iyengar, editors, Empirical Studies of Programmers, pages 213--229. Norwood, NJ: Ablex Publishing Company, 1986. Google ScholarDigital Library
- J. Sajaniemi, M. Ben-Ari, P. Byckling, P. Gerdt, and Y. Kulikova. Roles of variables in three programming paradigms. Computer Science Education, 16(4):261--279, 2006.Google ScholarCross Ref
- J. Sajaniemi and M. Kuittinen. An experiment on using roles of variables in teaching introductory programming. Computer Science Education, 15:59--82, 2005.Google ScholarCross Ref
- B. Shneiderman. Empirical studies of programmers: The territory, paths, and destinations. In E. Soloway and S. Iyengar, editors, Empirical Studies of Programmers, pages 1--12. Norwood, NJ: Ablex Publishing Company, 1986. Google ScholarDigital Library
- L. Thomas, M. Ratcliffe, and B. Thomasson. Scaffolding with object diagrams in first year programming classes: Some unexpected results. In Proc. of the 35th SIGCSE Technical Symposium on CS Education, pages 250--254, 2004. Google ScholarDigital Library
- V. Vainio. Opiskelijoiden mentaaliset mallit ohjelmien suorituksesta ohjelmoinnin peruskurssilla (Students' mental models of program execution in an elementary programming course). Master's thesis, University of Helsinki, 2006.Google Scholar
- A. M. Vans, A. von Mayrhauser, and G. Somlo. Program understanding behavior during corrective maintenance of large-scale software. International Journal of Human-ComputerMachine Studies, 51(1):31--70, 1999. Google ScholarDigital Library
Index Terms
- Factors in novice programmers' poor tracing skills
Recommendations
An Explicit Strategy to Scaffold Novice Program Tracing
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationWe propose and evaluate a lightweight strategy for tracing code that can be efficiently taught to novice programmers, building off of recent findings on "sketching" when tracing. This strategy helps novices apply the syntactic and semantic knowledge ...
Factors in novice programmers' poor tracing skills
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE'07)Novice programmers' program tracing skills have been found to be poor but the difficulties leading to inefficient tracing are not well known. To study this issue, we conducted exploratory interviews that included program comprehension tasks with novice ...
Why Novice Programmers Fall into a Pitfall?: Coding Pattern Analysis in Programming Exercise
IWESEP '12: Proceedings of the 2012 Fourth International Workshop on Empirical Software Engineering in PracticeIt is crucial for educators to understand pitfalls for novice programmers in programming education at computer science course. By giving well-timed advice to students who fall into a pitfall, educators are able to achieve efficient teaching and keep up ...
Comments