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.
and understand their behaviors to be familiar to the programming paradigm. Unfortunately, effective tools to support independent code reading study at home have not been well designed. Heretofore, we have proposed the value trace problem (VTP) for Java programming. A VTP instance consists of one source code, several questions, and the correct answers to them. Each question asks the value of a critical variable or output message in the source code. The correctness of any student answer is checked instantly by string matching at the answer interface for self-study. In this paper, we present the value trace problem (VTP) for code reading self-study of C programming. 42 VTP instances are generated using simple C source codes on basic grammar concepts and fundamental data structures & algorithms in textbooks and websites. In addition, for hard instances on pointer and algorithms, the devices of hints, multiple choice questions, and references are provided to improve their solution performances. For evaluations, we requested 49 undergraduate students in Japan, China, and Myanmar to independently solve them at home. Their average correct answer rate reached 94.29%, where our devices for hard instances improved it by 33.26%. Thus, the effectiveness of our proposal is confirmed in motivating self-study of C programming to novice students.
Purpose To advance Java programming educations, the authors have developed a Web-based Java programming learning assistant system (JPLAS). It offers the element fill-in-blank problem (EFP) for novice students to study Java grammar and basic programming skills by filling in the missing elements in a source code. An EFP instance can be generated by selecting an appropriate code, and applying the blank element selection algorithm. As it is expected to cover broad grammar topics, a number of EFP instances have been generated. This paper aims to propose a recommendation function to guide a student solving the proper EFP instances among them. Design/methodology/approach This function considers the difficulty level of the EFP instance and the grammar topics that have been correctly answered by the student, and is implemented at the offline answering function of JPLAS using JavaScript so that students can use it even without the Internet connections. Findings To evaluate the effectiveness of the proposal, 85 EFP instances are prepared to cover various grammar topics, and are assigned to a total of 92 students in two universities in Myanmar and Indonesia to solve them using the recommendation function. Their solution results confirmed the effectiveness of the proposal. Originality/value The concept of the difficulty level for an EFP instance is newly defined for the proper recommendation, and the accuracy in terms of the average numbers of answer submission times among the students is verified.
Presently, C++ programming has been taught in many universities around the world as the first object-oriented programming language for undergraduate students to start studying programming concepts and computer architecture. However, many of them may struggle in studying C++ programming due to the nature in the formal language. Thus, hands-on self-study tools can be effective. In previous, we have developed Java programming learning assistant system (JPLAS) for assisting self-study of Java programming. JPLAS offers the value trace problem (VTP) for novice students to study Java programming through code reading study. In a VTP instance, actual values of important variable or standard output messages in a given source code are questioned, where the correctness of each answer is checked through string matching. In this paper, we investigate the effectiveness of VTP for hands-on self-study of C++ programming by novice students. We generated 37 VTP instances for basic grammar concepts using source codes in textbooks or websites for C++ programming, and asked 46 students in three universities in three countries to solve them using the answer interface for JPLAS. The results suggest that most of the students are satisfactory, but some students need cares at early programming study stage.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.