skip to main content
article

A multi-national study of reading and tracing skills in novice programmers

Published: 28 June 2004 Publication History

Abstract

A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ability to take a problem description, decompose it into sub-problems and implement them, then assemble the pieces into a complete solution. An alternative explanation is that many students have a fragile grasp of both basic programming principles and the ability to systematically carry out routine programming tasks, such as tracing (or "desk checking") through code. This ITiCSE 2004 working group studied the alternative explanation, by testing students from seven countries, in two ways. First, students were tested on their ability to predict the outcome of executing a short piece of code. Second, students were tested on their ability, when given the desired function of short piece of near-complete code, to select the correct completion of the code from a small set of possibilities. Many students were weak at these tasks, especially the latter task, suggesting that such students have a fragile grasp of skills that are a prerequisite for problem-solving.

References

[1]
Brooks, R. (1983) Towards a theory of the comprehension of computer programs. International Journal of man-Machine Studies, 18, pp. 543--554.
[2]
Clancy, M. and Linn, M. (1999), Patterns and Pedagogy. 30th Technical Symposium on Computer Science Education (SIGCSE 1999), New Orleans, LA USA. pp. 37--42.
[3]
Davies, S. (1996) Display-based problem solving strategies in computer programming. In Gray, W, and Boehm-Davis, D. (Eds) Empirical Studies of Programmers: 6th Workshop. Ablex Publishing Corporation, NJ. pp. 59--76.
[4]
Detienne, F. (1990) Expert Programming Knowledge: A Schema-based Approach. In Hoc, J, Green, T, Samurcay, and Gilmore, D. (Eds) Psychology of Programming. Academic Press, London. pp 206--222.
[5]
Detienne, F, and Soloway, E. (1990) An empirically-derived control structure for the process of program understanding. Int. J. of Man-Machine Studies, 33, pp. 323--342.
[6]
Deimel, L. E. & Naveda, J. F. (1990) Reading Computer Programs: Instructor's Guide and Exercises Software Engineering Institute, Carnegie-Mellon University. http://www.deimel.org/comp_sci/reading_computer_programs.htm (August 2004) Updated bibliography at http://www2.umassd.edu/SWPI/Process Bibliography/bib-codereading2.html (August 2004).
[7]
du Boulay, B. (1989) Some Difficulties of Learning to Program. In Soloway, E. and Spohrer, J., Eds. pp. 283--299.
[8]
Ebel, R. and Frisbie, D. (1986) Essentials of Educational Measurement. Prentice Hall, Englewood Cliffs, NJ.
[9]
Haladyna, T. (1999) Developing and Validating Multiple-Choice Questions (2nd Edition), Lawrence Erlbaum Associates, Mahwah, NJ.
[10]
Kuittinen, M, and Sajaniemi, J. (2004) Teaching Roles of Variables in Elementary Programming Courses. 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE'04), Leeds, UK. pp 57--61.
[11]
Linn, R. and Gronlund, N. (1995) Measurement and Assessment in Teaching, Prentice Hall, Upper Saddle River, NJ.
[12]
Lister, R. (2004) Availability of working group data. http://www-staff.it.uts.edu.au/~raymond/leeds2004.
[13]
McCracken, M., V. Almstrum, D. Diaz, M. Guzdial, D. Hagen, Y. Kolikant, C. Laxer, L. Thomas, I. Utting, T. Wilusz, (2001) A Multi-National, Multi-Institutional Study of Assessment of Programming Skills of First-year CS Students, SIGCSE Bulletin, 33(4). pp 125--140.
[14]
Pennington, N. (1987) Comprehension Strategies in Programming. In Olson, G., Sheppard, S., and Soloway, E. (Eds) Empirical Studies of Programmers: Second Workshop. Ablex, NJ, USA. pp 100--113.
[15]
Perkins, D. and Martin, F. (1986) Fragile Knowledge and Neglected Strategies in Novice Programmers. In Soloway, E. and Iyengar, S. (Eds) pp. 213--229.
[16]
Perkins, D, Hancock, C, Hobbs, R, Martin, F, and Simmons, R. (1989). Conditions of Learning in Novice Programmers. In Soloway, E. and Spohrer, J., Eds. pp 261--279.
[17]
Rist, R. S. (1986). Plans in Programming: Definition, Demonstration and Development. In Soloway, E. and Iyengar, S., Eds. pp 28--47.
[18]
Rist, R. (2004) Learning to Program: Schema Creation, Application, and Evaluation. In Fincher, S and Petre, M., Eds (2004) Computer Science Education Research. Swets & Zeitlinger.
[19]
Soloway, E. and Ehrlich, K (1984) Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, SE-10(5):595--609.
[20]
Soloway, E. (1986). Learning to program = Learning to construct mechanisms and explanations. Communications of the ACM, 29(9). pp. 850--858.
[21]
Soloway, E. and Iyengar, S., Eds (1986) Empirical Studies of Programmers. Ablex, NJ, USA.
[22]
Soloway, E, Adelson, B, and Ehrlich, K. (1988) Knowledge and Processes in the Comprehension of Computer Programs. In Glaser, M, Chi, R, Farr, M, Glaser, R (Eds) The Nature of Expertise. Lawrence Erlbaum Associates, Hillsdale, NJ, USA. pp 129--152.
[23]
Soloway, E. and and Spohrer, J, Eds (1989), Studying the Novice Programmer. Lawrence Erlbaum Associates, Hillsdale, NJ, 1989.
[24]
Spohrer, J. and Soloway, E. (1986) Analyzing the High Frequency Bugs in Novice Programs. In Soloway, E. and Iyengar, S. (Eds) pp. 230--251.
[25]
Spohrer, J. and Soloway, E. (1989) Novice Mistakes: Are the Folk Wisdoms Correct? In Soloway, E. and Spohrer, J., Eds. pp 401--416.
[26]
Thomas, L. Ratcliffe, M., and Thomasson, B. (2004) Scaffolding with Object Diagrams in First Year Programming Classes: Some Unexpected Results. 35th Technical Symposium on Computer Science Education (SIGCSE 2004), Norfolk, VA USA. pp. 250--254.
[27]
Wiedenbeck, S. (1985) Novice/expert differences in programming skills. Int. J. of Man-Machine Studies, 23, pp. 383--390.
[28]
Wiedenbeck, S. (1986) Processes in Computer Program Comprehension. In Soloway, E. and Iyengar, S., Eds. pp 48--57.

Cited By

View all
  • (2024)Supporting Novice Programmers via the Lens of Instructional DesignNavigating Computer Science Education in the 21st Century10.4018/979-8-3693-1066-3.ch008(149-169)Online publication date: 8-Mar-2024
  • (2024)Why Students Cannot Easily Integrate Component Skills: An Investigation of the Composition Effect in ProgrammingACM Transactions on Computing Education10.1145/367323924:3(1-37)Online publication date: 28-Jun-2024
  • (2024)Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language ModelsProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636245(11-18)Online publication date: 29-Jan-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 36, Issue 4
December 2004
145 pages
ISSN:0097-8418
DOI:10.1145/1041624
Issue’s Table of Contents
  • cover image ACM Conferences
    ITiCSE-WGR '04: Working group reports from ITiCSE on Innovation and technology in computer science education
    June 2004
    152 pages
    ISBN:9781450377942
    DOI:10.1145/1044550
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 June 2004
Published in SIGCSE Volume 36, Issue 4

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)179
  • Downloads (Last 6 weeks)25
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Supporting Novice Programmers via the Lens of Instructional DesignNavigating Computer Science Education in the 21st Century10.4018/979-8-3693-1066-3.ch008(149-169)Online publication date: 8-Mar-2024
  • (2024)Why Students Cannot Easily Integrate Component Skills: An Investigation of the Composition Effect in ProgrammingACM Transactions on Computing Education10.1145/367323924:3(1-37)Online publication date: 28-Jun-2024
  • (2024)Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language ModelsProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636245(11-18)Online publication date: 29-Jan-2024
  • (2024)A Machine Learning-Based Adaptive Feedback System to Enhance Programming Skill Using Computational ThinkingIEEE Access10.1109/ACCESS.2024.339187312(59431-59440)Online publication date: 2024
  • (2024)The use of makerspaces for the development of computational thinking skills and dispositions: pedagogical practices facilitators useComputer Science Education10.1080/08993408.2024.2374679(1-40)Online publication date: 12-Jul-2024
  • (2024)“C”ing the light – assessing code comprehension in novice programmers using C code patternsComputer Science Education10.1080/08993408.2024.2317079(1-25)Online publication date: 15-Feb-2024
  • (2024)Design science research applied to difficulties of teaching and learning initial programmingUniversal Access in the Information Society10.1007/s10209-022-00941-423:3(1151-1161)Online publication date: 1-Aug-2024
  • (2023)Explorotron: An IDE Extension for Guided and Independent Code Exploration and Learning (Discussion Paper)Proceedings of the 23rd Koli Calling International Conference on Computing Education Research10.1145/3631802.3631816(1-8)Online publication date: 13-Nov-2023
  • (2023)The Robots Are Here: Navigating the Generative AI Revolution in Computing EducationProceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3623762.3633499(108-159)Online publication date: 22-Dec-2023
  • (2023)Coping With Scoping: Understanding Scope and ParametersProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588798(201-207)Online publication date: 29-Jun-2023
  • Show More Cited By

View Options

Get Access

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