Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1044550.1041673acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

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

Published: 28 June 2004 Publication History
  • Get Citation Alerts
  • 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)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024
    • (2024)Testing Programming Aptitude through Commonsense ComputingProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636255(104-113)Online publication date: 29-Jan-2024
    • (2024)Code Comprehension for Novices with Explicit InstructionProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 210.1145/3632621.3671419(571-573)Online publication date: 12-Aug-2024
    • Show More Cited By
    1. A multi-national study of reading and tracing skills in novice programmers

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 28 June 2004

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Article

      Conference

      ITiCSE04
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 552 of 1,613 submissions, 34%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)174
      • Downloads (Last 6 weeks)12
      Reflects downloads up to 10 Aug 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024
      • (2024)Testing Programming Aptitude through Commonsense ComputingProceedings of the 26th Australasian Computing Education Conference10.1145/3636243.3636255(104-113)Online publication date: 29-Jan-2024
      • (2024)Code Comprehension for Novices with Explicit InstructionProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 210.1145/3632621.3671419(571-573)Online publication date: 12-Aug-2024
      • (2024)Exploring the Impact of Assessment Policies on Marginalized Students' Experiences in Post-Secondary Programming CoursesProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671100(233-245)Online publication date: 12-Aug-2024
      • (2024)Investigating Markov Model Accuracy in Representing Student Programming BehavioursSouth African Computer Science and Information Systems Research Trends10.1007/978-3-031-64881-6_4(62-78)Online publication date: 8-Jul-2024
      • (2023)Multi-Institutional Multi-National Studies of Parsons ProblemsProceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3623762.3633498(57-107)Online publication date: 22-Dec-2023
      • (2023)Automated Questions About Learners' Own Code Help to Detect Fragile Prerequisite KnowledgeProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588787(505-511)Online publication date: 29-Jun-2023
      • (2023)Metacodenition: Scaffolding the Problem-Solving Process for Novice ProgrammersProceedings of the 25th Australasian Computing Education Conference10.1145/3576123.3576130(59-68)Online publication date: 30-Jan-2023
      • (2023)The Progression of Students’ Ability to Work With Scope, Parameter Passing and AliasingProceedings of the 25th Australasian Computing Education Conference10.1145/3576123.3576128(39-48)Online publication date: 30-Jan-2023
      • (2023)Examples of Unsuccessful Use of Code Comprehension Strategies: A Resource for Developing Code Comprehension PedagogyProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600116(15-28)Online publication date: 7-Aug-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