Abstract—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.
Index Terms—C programming, CPLAS, mistake correction problem, automatic generation, answer interface.
Yanhui Jing, N. Funabiki, S. T Aung, X. Lu, and A. A. Puspitasari are with the Department of Information and Communication Systems, Okayama University, Okayama, Japan (e-mail: email@example.com, firstname.lastname@example.org).
H. H. S. Kyaw is with Division of Advanced Information Technology and Computer Science, Tokyo University of Agriculture and Technology, Tokyo, Japan (e-mail: email@example.com).
W.-C. Kao is with Department of Electrical Engineering National Taiwan Normal University, Taipei, Taiwan (e-mail: firstname.lastname@example.org).