Examples of Unsuccessful Use of Code Comprehension Strategies: A Resource for Developing Code Comprehension Pedagogy

被引:2
|
作者
Lewis, Colleen M. [1 ]
机构
[1] Univ Illinois, Dept Comp Sci, Urbana, IL 61820 USA
关键词
code comprehension; introductory programming; CS1; conceptual change; explain in plain English; KNOWLEDGE;
D O I
10.1145/3568813.3600116
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Background: Code comprehension research has identified gaps between the strategies experts and novices use in comprehending code. In computer science (CS) education, code comprehension has recently received increased attention, and research has identified correlations between code comprehension and code writing. While there is a long history of identifying expert code-comprehension strategies, there has been less work to understand and support the incremental development of code comprehension expertise. Purpose: The goal of the paper is to identify potential code-comprehension strategies that educators could teach students. Methods: In this paper, I analyze and present examples from a novice programmer engaged in a code-comprehension task. Findings: I identify five code-comprehension strategies that overlap with previously identified, expert code-comprehension strategies. While an expert would use these strategies to produce correct inferences about code, I primarily examine a novice's unsuccessful attempts to comprehend code using these strategies. Implications: My case study provides an existence proof that shows that these five strategies can be used by a novice. This is essential for identifying potential strategies to teach novices. My primary empirical contribution is identifying potential building blocks for developing code-comprehension expertise. My primary theoretical contribution is proposing to build code-comprehension pedagogy on specific, expert strategies that I show are usable by a novice. More broadly, I hope to encourage CS education researchers to focus on understanding the complex processes of learning that occur in between the end points of novice and expert.
引用
收藏
页码:15 / 28
页数:14
相关论文
共 50 条
  • [1] Exploring the Impact of Source Code Linearity on the Programmers' Comprehension of API Code Examples
    Alharbi, Seham
    Kolovos, Dimitris
    PROCEEDINGS 2024 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC 2024, 2024, : 236 - 240
  • [2] DeepCode: An Annotated Set of Instructional Code Examples to Foster Deep Code Comprehension and Learning
    Rus, Vasile
    Brusilovsky, Peter
    Tamang, Lasang Jimba
    Akhuseyinoglu, Kamil
    Fleming, Scott
    INTELLIGENT TUTORING SYSTEMS, ITS 2022, 2022, 13284 : 36 - 50
  • [3] Explaining Code with a Purpose: An Integrated Approach for Developing Code Comprehension and Prompting Skills
    Denny, Paul
    Smith, David H., IV
    Fowler, Max
    Prather, James
    Becker, Brett A.
    Leinonen, Juho
    PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 1, ITICSE 2024, 2024, : 283 - 289
  • [4] DESIGN SOURCE CODE FOR COMPREHENSION
    TAYLOR, JL
    IEEE SOFTWARE, 1990, 7 (02) : 117 - 117
  • [5] Neural Code Comprehension: A Learnable Representation of Code Semantics
    Ben-Nun, Tal
    Jakobovits, Alice Shoshana
    Hoefler, Torsten
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 31 (NIPS 2018), 2018, 31
  • [6] Measuring code comprehension effort using code reading pattern
    Sayani Mondal
    Partha Pratim Das
    Titas Bhattacharjee Rudra
    Sādhanā, 47
  • [7] Measuring code comprehension effort using code reading pattern
    Mondal, Sayani
    Das, Partha Pratim
    Rudra, Titas Bhattacharjee
    SADHANA-ACADEMY PROCEEDINGS IN ENGINEERING SCIENCES, 2022, 47 (03):
  • [8] The Effect of Richer Visualizations on Code Comprehension
    Asenov, Dimitar
    Hilliges, Otmar
    Mueller, Peter
    34TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, CHI 2016, 2016, : 5040 - 5045
  • [9] A human study of comprehension and code summarization
    Stapleton, Sean
    Gambhir, Yashmeet
    LeClair, Alexander
    Eberhart, Zachary
    Weimer, Westley
    Leach, Kevin
    Huang, Yu
    IEEE International Conference on Program Comprehension, 2020, : 2 - 13
  • [10] ARCC: Assistant for Repetitive Code Comprehension
    Nunez, Wilberto Z.
    Marin, Victor J.
    Rivero, Carlos R.
    ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 999 - 1003