Abstract

Nowadays, C programming is essential for university students to study various programming languages, algorithms, and computer architecture. Previously, we have developed Java programming learning assistant system (JPLAS) for studying Java programming. JPLAS provides several types of exercise problems to cover different study stages, including the element fill-in-blank problem (EFP). An EFP instance asks students to fill in the blank elements in the given source code. The correctness of the answer is marked through string matching. In this paper, we study the EFP for C programming learning assistant system (CPLAS), by extending our works for JPLAS. To automatically generate a feasible EFP instance, the graph-based blank element selection algorithm is newly designed and implemented for C programming. For evaluations, we generate 19 EFP instances using C source codes for basic grammar concepts, and fundamental data structures and algorithms, and assign them to 42 students in a Myanmar university. The solving results confirm the effectiveness of EFP in detecting the students who may have difficulty in studying C programming and the hard topics for them.

Highlights

  • Nowadays, C programming has still been considered to be the most fundamental programming language

  • To automatically generate an element fill-in-blank problem (EFP) instance for C, the blank element selection algorithm is newly designed and implemented for C programming where the conditions for selecting blank elements are redefined. This algorithm consists of the four steps: 1) it analyzes the C source code using the original parser, 2) it generates a constraint graph by selecting each candidate blank element in the code as a vertex and connecting any pair of vertices by an edge such that their incident elements cannot be blanked simultaneously for unique correct answers, 3) it derives the compatibility graph by taking the complement of the constraint graph, and 4) it seeks a maximal clique of the compatibility graph to find a maximal set of blank elements with unique answers

  • EFP for Basic Grammar Concepts First, we evaluate the EFP using source codes for basic grammar concepts for C programming

Read more

Summary

INTRODUCTION

C programming has still been considered to be the most fundamental programming language. In the EFP instance, the original element in the source code for any blank must be the unique correct answer, to avoid confusions among novice students. To automatically generate an EFP instance for C, the blank element selection algorithm is newly designed and implemented for C programming where the conditions for selecting blank elements are redefined This algorithm consists of the four steps: 1) it analyzes the C source code using the original parser, 2) it generates a constraint graph by selecting each candidate blank element in the code as a vertex and connecting any pair of vertices by an edge such that their incident elements cannot be blanked simultaneously for unique correct answers, 3) it derives the compatibility graph by taking the complement of the constraint graph, and 4) it seeks a maximal clique of the compatibility graph to find a maximal set of blank elements with unique answers. A teacher only needs to select source codes

RELATED WORKS
Element Definition in EFP for C
Parser
BLANK ELEMENT SELECTION ALGORITHM
Edge Generation for Constraint Graph
EVALUATION
EFP for Data Structures and Algorithms
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call