A Proposal of Mistake Correction Problem for Debugging Study in C Programming Learning Assistant System

Yanhui Jing, Nobuo Funabiki, Soe Thandar Aung, Xiqin Lu, Annisa Anggun Puspitasari, Htoo Htoo Sandi Kyaw, Wen Chung Kao

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)


—Currently, C programming is taught as the first programming language in many universities around the world due to the easy-to-learn and middle-level nature. However, the confusing concepts of keywords and unfamiliar formality make it difficult for students to study. Therefore, we have previously developed C programming learning assistance system (CPLAS) for self-studies of novice students. CPLAS offers several types of exercise problems with the automatic answer marking by string matching. In this paper, we propose a mistake correction problem (MCP) for code debugging study as a new problem type in CPLAS. MCP requests to answer every mistaken element and its correction in a given corrupt source code. We list up reserved words and common library functions in C programming for candidates of mistaken elements, and implement the MCP instance generation algorithm. To help solving MCP instances by a student, we implement the answer interface that shows the line number of each mistake, the corrupt code and answer forms in parallel, and the hint of suggesting the first character of each answer. For evaluations of the proposal, we generate 20 instances with 91 mistakes for basic grammars, and assign them to 18 university students in Japan, China, and Indonesia. Their answer results confirm the effectiveness of MCP.

Original languageEnglish
Pages (from-to)1158-1163
Number of pages6
JournalInternational Journal of Information and Education Technology
Issue number11
Publication statusPublished - 2022 Nov 1


  • C programming
  • answer interface
  • automatic generation
  • mistake correction problem

ASJC Scopus subject areas

  • Education
  • Computer Science Applications


Dive into the research topics of 'A Proposal of Mistake Correction Problem for Debugging Study in C Programming Learning Assistant System'. Together they form a unique fingerprint.

Cite this