Bug Fixing versus Code Reading: Which Is Better for Algorithm Learning?

Yuki Kuramochi, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In algorithm learning, it is necessary to read the example code of the algorithm. However, code reading lacks a clear termination condition, so there are two problems: 1) learners tend to end learning with insufficient understanding and 2) it is difficult for learners to maintain their motivation for learning. As an alternative to code reading, herein we propose a method to read and fix code containing bugs. We created a system and recruited 40 subjects for the evaluation experiments. A group (fixing bugs to learn Tower of Hanoi) had significantly better test scores (p-value: 0.0332) compared to the other group (reading code to learn Sieve of Eratosthenes). However, when the two groups were combined and analyzed, no significant difference was found. Since a ceiling effect was observed from the confirmation questions of the Sieve of Eratosthenes and the overall score was higher for Group A, and there is a possibility of bias both between questions and between groups, more rigorous experiments should be conducted in the future.

Original languageEnglish
Title of host publicationTALE 2021 - IEEE International Conference on Engineering, Technology and Education, Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages218-225
Number of pages8
ISBN (Electronic)9781665436878
DOIs
Publication statusPublished - 2021
Event2021 IEEE International Conference on Engineering, Technology and Education, TALE 2021 - Wuhan, China
Duration: 2021 Dec 52021 Dec 8

Publication series

NameTALE 2021 - IEEE International Conference on Engineering, Technology and Education, Proceedings

Conference

Conference2021 IEEE International Conference on Engineering, Technology and Education, TALE 2021
Country/TerritoryChina
CityWuhan
Period21/12/521/12/8

Keywords

  • code reading
  • mutation analysis
  • programming education

ASJC Scopus subject areas

  • Computer Science Applications
  • Engineering (miscellaneous)
  • Media Technology
  • Education

Fingerprint

Dive into the research topics of 'Bug Fixing versus Code Reading: Which Is Better for Algorithm Learning?'. Together they form a unique fingerprint.

Cite this