Helping Students Understand the Code’s Behavior and Purpose by Leveraging Concreteness Fading and Comics Sangho Suh sanghosuh@ucsd.edu University of California, San Diego San Diego, United States Mohammed Hassan mhassan3@illinois.edu University of Illinois Urbana-Champaign Urbana-Champaign, United States Figure 1: An example of applying concreteness fading and comics to teach students about the purpose and behavior of while loop [8]. ABSTRACT The ability to reason about the general purpose and behavior of code, rather than simply focusing on specific inputs and outputs, is an essential skill to teach to novice programmers. However, ef- fectively teaching this skill can be a challenging task. In light of recent research on using concreteness fading and comics for teach- ing programming, we aim to develop a tool that employs a gradual transition from concrete to abstract code representations and inves- tigate whether it enhances students’ ability to recognize patterns and foster the development of associated programming skills, such as code tracing and writing. CCS CONCEPTS Applied computing Education. KEYWORDS code comprehension; concreteness fading; comics ACM Reference Format: Sangho Suh and Mohammed Hassan. 2023. Helping Students Understand the Code’s Behavior and Purpose by Leveraging Concreteness Fading and Comics. In Proceedings of the 2023 ACM Conference on International Comput- ing Education Research V.2 (ICER ’23 V2), August 07–11, 2023, Chicago, IL, USA. ACM, New York, NY, USA, 2 pages. https://doi.org/10.1145/3568812.3603491 Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the owner/author(s). ICER ’23 V2, August 07–11, 2023, Chicago, IL, USA © 2023 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9975-3/23/08. https://doi.org/10.1145/3568812.3603491 1 INTRODUCTION Novice programmers commonly reason about code at a low level of abstraction [3, 9, 10], attempting to understand its intent (purpose) by mentally executing (tracing) it and examining outputs on spe- cific inputs. In contrast, expert programmers can efficiently identify crucial actions and discern the structural relations between them. They can recognize high-level patterns and understand how aspects of the program behave across various input scenarios as they read the code [3, 4, 6, 9, 10]. Current techniques to teach students to reason about code behavior across ranges of inputs (e.g., trace with symbols representing all possible integers) have been applied to code that lacks clear intent or purpose [1]. However, to our knowl- edge, no work has yet investigated whether a tool that employs a gradual transition from concrete to abstract representations can enhance students’ ability to identify and recognize the program’s behavior and purpose across various input scenarios. Prior work leveraged concreteness fading and comics (See Fig- ure 1, for example) to introduce programming concepts, constructs, and algorithms [7, 8] and found they can help students focus on their general purpose and behavior. We plan to adapt this frame- work to explore how we can help students develop the capacity to read and understand how a given program behaves across vari- ous input scenarios like experts across various code patterns and algorithms in introductory programming courses. As the elementary role of variables are suitable to teach in in- troductory programming courses [5], we aim to center the design of our tool to demonstrate the actions and structural relationships between variables. Leveraging large language models (e.g., GPT-4), we aim to produce code visualizations across a variety of algo- rithms. Using the concreteness fading framework, our objective is to sequentially introduce concepts at increasingly abstract levels, 35