This paper has been accept to the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) 2020. Here’s a link to that 😊 Coding Strip: A Pedagogical Tool for Learning and Teaching Programming Concepts through Comics

Context

Under Sangho Suh and Dr.Edith Law, I worked in the Human-Computer Interaction Lab at the University of Waterloo as an undergraduate researcher on the project, coding strips. Coding strips uses the visual language of comics to convey abstract computer science concepts.

Sangho’s research is partly based on Data Comics, a research project focusing on creating comics to simplify and understand datasets. They make use of design patterns, which define and categorize data more efficiently to create data visualizations comics.

The Comic Generation Process

To get from comic to code, we go through three rough phases. In essence, our entire process would to be turn code to rough visualizations and then to comics.

The three phases can be further broken down into many smaller sub-phases.

We needed to minimize the number of steps needed to reach the final product. Using these steps, Sangho created a brainstorming template for our comic generation. This template allows for rapid generation of computing concepts into comics.

Rapid Comic Generation

My next step was to create as many code-to-comic constructs as possible in order to contrive some sort of pattern to extract later. Computing constructs were divided into 7 different categories.

Below are just some examples of code-to-comic ideas I helped create under each category. Each comic took around 45 minutes to 1 hour from conceptualization to the final outcome. Some results of our rapid comic generation covering topics related to iteration over an array, merge sort, stacks, queues and dictionaries

Creating Design Patterns from Comics​​​​​​​

After we noticed some repeating patterns, my next task was to observe common themes and reoccurring comic motifs in all 7 categories. These commonalities were a prelude to “Design Patterns”, which were simply solution templates to common problems.

A simple example are visualizations related to sorting. I noticed that quantitative characteristics such as height and size could be used to easily illustrate comparison-based algorithms.

Creating Coding Strip Cards​​​​​​​

After the design patterns were established, we needed to present them in a readable and friendly manner. Sangho decided to group different patterns based on different methods of comic creation.

Under Sangho’s advisory, I created 3x3 inch explanation cards based on the 5 categories. Each different category was represented by a different color. We also included Category titles on each card. Simple illustrations were also created to help users better understand each pattern.

Card Designs

Below are some screenshots of some high-fidelity iterations on the design pattern cards.

Conducting Research Studies​​​​​​​

Studies were conducted to test out the effectiveness of the design patterns and comic development process. Both studies targeted middle to secondary school teachers. In each study, the participants consisted of 8 teachers of all educational background. They were asked to form groups of 2-3 to brainstorm, ideate and come up with different computer science concepts to transform into comics. In addition, they were given the design patterns to aide in the process.

The first concept would be given by the facilitators, whereas the participants were free to choose any computational construct they wanted. They were asked to utilize the step by step process Sangho had developed.

Observations and Future Considerations​​​​​​​

Some interesting observations made throughout the study included:

The topic of inclusion and comic scenarios (avoiding gender biased scenarios) ○ Teachers who were non native English speakers seemed hesitant to write ○ Some groups laid out all the available design patterns and chose suitable cards by process of elimination ○ Many found the number of cards available overwhelming. ○ Sticky notes were very useful in laying out the different steps in narratives for the comics

In the future, levels (easy to hard) should be introduced to each set of patterns so that participants are not overwhelmed by the volume of cards. In addition, the amount of text used to explain each construct should also be condensed. Cards should be printed out at a larger size for better readability.