Cheat Sheet For Teaching Programming With Comics
Cheat Sheet For Teaching Programming With Comics
Figure 1: Cheat sheet for teaching programming with comics. It consists of four main sections: (A) concepts, (B) languages, (C)
procedures, and (D) use cases. It can be downloaded at: https://codingstrip.github.io/use
ABSTRACT design patterns. We also formulated a concept-language-procedure
Comics is emerging as a popular medium for providing visual expla- framework to delineate how comics can facilitate teaching in pro-
nations of programming concepts and procedures. Recent research gramming. To evaluate our cheat sheet, we presented it to 11 high
into this medium opened the door to new opportunities and tools to school CS teachers at an annual conference for computer studies
advance teaching and learning in computing. For instance, recent re- educators and asked them to rate its readability, usefulness, organi-
search on coding strip, a form of comic strip with its corresponding zation, and their interest in using it for their teaching. Our analysis
code, led to a new visual programming environment that generates suggests that this cheat sheet is easy to read/understand, useful,
comics from code and experience report detailing various ways well-structured, and interests teachers to further explore how they
coding strips can be used to benefit students’ learning. However, can incorporate comics into their teaching.
how comics can be designed and used to teach programming has
not yet been documented in a concise, accessible format to ease
their adoption. To fill this gap, we developed a cheat sheet that
CCS CONCEPTS
summarizes the pedagogical techniques and designs teachers can • Applied computing → Education.
use in their teaching. To develop this cheat sheet, we analyzed prior
work on coding strip, including 26 coding strips and 30 coding strip
KEYWORDS
Copyright held by the owner/author(s). comics; cheat sheet; coding strip; curriculum
1 INTRODUCTION with their corresponding code (coding strip [29]). Between the two,
A cheat sheet is most commonly known as a set of well-structured, the coding strip research has been more active. Suh et al. [29] devel-
concise notes that summarize key concepts, techniques, or topics oped and tested a design process and tools for creating coding strips
taught in a course that students may reference during their exams. via design workshops with students and teachers. Their team also
While this is where the word originates from, the concise format tested four use cases for coding strips in an introductory CS course,
of cheat sheet has evolved beyond the classroom setting and has where the use cases represented four basic teaching tasks for any
become a popular format and term for documenting a variety of programming classes [28]. Two tools have been developed to fa-
information—e.g., facts, tips, and techniques in a wide range of cilitate the authoring of coding strips: a comic authoring tool [27]
areas—in a concise manner [31]. For instance, cheat sheets are used based on the above-mentioned design process and tools [29] and
to describe a set of commands for operating systems (e.g., Linux), a visual programming environment that can automatically gen-
programming languages (e.g., Python), and softwares, among many erate comics from code [26]. Our cheat sheet summarizes these
others, for users to reference quickly. researches into a concise, accessible format of cheat sheet so that
Inspired by the accessible format of cheat sheet, we developed teachers can conveniently reference them without having to read
a cheat sheet for teaching programming with comics in the hope lengthy research papers.
that this makes comic-based pedagogy more accessible to teachers.
Specifically, this work is motivated by the following observations: 2.2 Other Approaches: Storytelling, Animation,
(1) research on teaching programming with comics has successfully and Concrete Representations
explored various fundamental tasks and learning activities, showing We assume that teaching programming boils down to teaching its
that it is ready to introduce ways to improve and innovate current concept, language, and procedure, and that they are all responsible
teaching practices [25, 28]; (2) many comic authoring tools (e.g. [27, for making programming abstract and less accessible for novice
30])—both research and commercial tools (e.g., Pixton [3])—are learners. We describe the approaches that have been used to support
now available, rendering the once feared task of creating comics the teaching of programming concepts, languages, and procedures.
no longer an obstacle for teachers; (3) the remaining friction to its
adoption is the lack of clear, concise document that teachers can • Concept: Storytelling [12], metaphor [6, 10], and analogy have
easily reference. Motivated by these observations, this work aimed been popular choices for making abstract programming concepts
to summarize comic-based pedagogy in an accessible cheat sheet more intuitive and engaging. CS unplugged is a kinesthetic learn-
format. ing method in which students learn computing concepts through
To develop this cheat sheet on teaching programming with hands-on activities without the use of computers [22].
comics, we referenced prior work on teaching programming with • Language (Syntax & Semantics): Turning abstract text-based
comics [25, 28–30], analyzed 26 coding strips—a form of comic strips programming into more concrete, graphic-based languages has
with its corresponding code—and their 30 design patterns [2, 29], been a popular approach. Graphic languages such as Scratch [23]
and formulated a concept-language-procedure framework to de- (a block-based programming language) provide programming
lineate and organize ways in which comics can support diverse constructs resembling LEGO blocks, making code expressions
needs in teaching programming. For the preliminary evaluation, more accessible to younger audiences. Physical (tangible) pro-
we presented it to 11 high school CS teachers at an annual confer- gramming makes programming more approachable, hands-on,
ence for computer studies educators, administered a survey after and accessible to younger students and the visually impaired [19,
this session, and analyzed their responses. Analysis of survey re- 21]. A set of simplified text-based commands specific to a game
sponses and feedback suggests that teachers find our cheat sheet environment has also been explored [14].
easy to read/understand, useful, and well structured. In summary, • Procedure: Tracing execution steps in a program is a skill novice
our contributions include: learners need to master, but the challenge is that in many cases
all the steps are not necessarily shown and are instead presented
• analysis of comics under the concept-language-procedure frame-
as abstractions [24]. For instance, when describing a program, it
work to delineate the values and benefits it offers;
is common to describe the number of times a program loops but
• cheat sheet for teaching programming with comics that provides
omit what happens and how memory changes in each iteration.
guidelines on why and how to use comics;
While this is to focus on the structural (high-level) aspects of the
• evaluation of this cheat sheet by high school CS teachers.
program, this makes procedures (sequence of steps) abstract for
learners who have not yet mastered the ability to process the steps
2 RELATED WORK
in their head. To address this, many have researched program
In this section, we first review prior work on teaching programming visualization and developed new tools; they used animations of
with comics. We then discuss what approaches have been explored visual objects and models (e.g., characters, robot, and animals in
to teach programming concepts, languages, and procedures and Scratch, Gidget, Logo) as proxies to show how the code works;
how comics can offer the same benefits and more. similarly, Storytelling Alice [8] illustrated procedures in terms
of characters and stories; others (e.g., Python Tutor) have used
2.1 Teaching Programming with Comics interactive visualizations with diagrams, where learners can step
Prior research on teaching programming with comics can be sum- through each line of code and observe changes in memory state,
marized as (1) using comic books (e.g., [15]) with characters present- to understand the execution sequence and what each line of the
ing programming concepts via narration and (2) providing comics code does to memory states [11].
2.3 Relevance of Comics CONSTRUCTS
When describing reasons to use comics, many frequently reference Identify main idea(s
its ability to engage readers and improve memory [17, 18, 32]. Al- Find relevant metaphor, analogy, stor
though they are true, we focus on other less-mentioned aspects Illustrate in comics
of comics–(1) expressiveness and (2) affordance—that deserve to
be mentioned as attributes as they are critical to making comics a VARIABL
powerful, appropriate medium for teaching programming. Idea: variables store value
(1) Expressiveness. Below, we highlight how the visual language of Metaphor: piggy ban
comics can illustrate abstract concepts, languages, and procedures Analogy: piggy bank store money
in programming in effective and creative ways. Story: Jane put $1 to piggy bank
• Concept: Comics is a unique medium that can leverage the BOOLEAN / CONDITIO
power of storytelling, metaphors, and analogies. Fig. 2 shows Idea: either true or fals
Jane putting $1 to her piggy bank. Here, piggy bank is a metaphor Metaphor: birthday or not-birthda
for variable that stores something ($1 in this case). Jane putting -1
Analogy: if birthday, extra cand
money into it is analogous to a value being assigned to a vari- Story: if birthday, get 2 extra candies and
able in semantics. On top of storytelling, metaphor, and analogy,
-2
share 2 candies with sister instead of 1 candy
comics adds visual representations to the mix. Thus, it can ar-
guably provide (or leverage) the best of both worlds, offering
cognitive benefits visual representations possess. Furthermore, it Figure 2: Part of the concept section (Fig. 1A)
can also address the limitations of metaphors and analogies, as
comics can leverage visuals to constrain interpretations and mini-
Loop repeats while condition is true For example, we can express “endless looped time” as
mize the risk of confusion often cited as limitations of metaphors 1: Dormammu, I have
can be illustrated and explained by using comics in a creative way. 3: Dormammu, I have
}
repeat
For instance, Fig. 3 shows how comics can be used to scaffold come to bargain!