PhD candidate Sangho Suh uses comic strips to teach coding

Wednesday, December 16, 2020

Cheriton School of Computer Science PhD candidate Sangho Suh and his colleagues have found a way to use comic strips to teach coding to novice learners.

Coding strips use comics to present programming concepts in a more accessible way. They chose comics because it is a medium well known for its ability to explain complicated concepts and processes effectively through visual storytelling.

image depicting the design process used

Three high-level stages are used in the design process, with trigger and scenario cards supporting transition from concept to story, and design cards supporting transition from story to coding strip.

This work is different from that of others that has looked at using comics to introduce coding, as it provides corresponding code. Providing code allows novice learners to see how it can map to meaningful action in their lives. This helps them understand the concept and code intuitively.

“There are a lot of challenges associated with engaging students who are learning to code because they find it to be abstract and difficult,” explained Sangho Suh, lead author of this research. “Our work shows that teachers can use coding strips to address this challenge.”

photo of Sangho Suh as a comic strip

Sangho Suh is a PhD candidate in the Human-Computer Interaction Lab, advised by Professor Edith Law. He is interested in improving the way we understand and communicate abstract concepts and ideas. He tries to address this in his research by studying how to design, create, and use techniques and interactive systems that support dynamic interplay between the concrete and abstract levels of abstraction.

The researchers first studied how to design coding strips. They identified programming concepts and designed coding strips to formulate the design process. They then created a design board, an empty canvas with five sections corresponding to the steps in the design process —

  1. List important properties of a programming concept
  2. Select one property and write stories that illustrate it
  3. Choose one of the stories and write its corresponding code
  4. Identify an appropriate set of design patterns for comics
  5. Use them to produce the comic strip

The researchers then conducted two design workshops with a group of undergraduate and graduate students, and the other with high school computer science teachers, to evaluate the design process and tools, and gauge their interest in using coding strips.

comic depicting bubble sort algorithm

Bubble sort is a simple sorting algorithm that works by repeatedly swapping adjacent elements if they are in wrong order. The pass through the list is repeated until the list is sorted, in this case from shortest to tallest person. The algorithm is named for the way smaller or larger elements “bubble” to the top of the list.

“Participants praised the potential of coding strips to engage, motivate, and interest students in learning to code,” said Cheriton School of Computer Science Professor Edith Law, a co-author on the study.

Their study, Coding Strip: A Pedagogical Tool for Teaching and Learning Programming Concepts through Comics, was recently presented by Sangho at VL/HCC 2020, the IEEE Symposium on Visual Languages and Human-Centric Computing.

In a follow-up study, Sangho taught a Waterloo undergraduate computer science course and tested four use cases of coding strips. They include using coding strips to introduce concepts and codes, review, and practice coding. The researchers found that students thoroughly enjoyed learning with coding strips and benefitted from these use cases in various ways. This work, Using Comics to Introduce and Reinforce Programming Concepts in CS1, was recently accepted and will be presented at a premier computing education conference, ACM Special Interest Group on Computer Science Education.

The researchers set up a coding strip website to make coding strips, design tools, and publications available for download for teachers and students interested in creating and using coding strips.

  1. 2021 (2)
    1. January (2)
  2. 2020 (73)
    1. December (7)
    2. November (6)
    3. October (4)
    4. September (5)
    5. August (4)
    6. July (7)
    7. June (4)
    8. May (11)
    9. April (13)
    10. March (3)
    11. February (3)
    12. January (6)
  3. 2019 (90)
    1. December (3)
    2. November (8)
    3. October (6)
    4. September (9)
    5. August (7)
    6. July (8)
    7. June (10)
    8. May (5)
    9. April (11)
    10. March (6)
    11. February (10)
    12. January (7)
  4. 2018 (82)
  5. 2017 (50)
  6. 2016 (27)
  7. 2015 (41)
  8. 2014 (32)
  9. 2013 (46)
  10. 2012 (17)
  11. 2011 (20)