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