Refining code to make it better is important in learning programming. To support this refinement activity, previous studies proposed a quality indicator using robot programming and a mechanism for ranking these indicators. The ranking function shares others code, however, limits the sharing of codes to those that are close to learners' level. In this way, a platform has been developed that allows step-by-step learning by sharing codes that are close to the learners' level. In this paper, we have used the platform in an actual programming class for university students who are learning programming. From the experiment, the learning effect of this platform will be clarified.
In software development, it is essential to take advantage of unknown components such as built-in functions and external libraries. However, it is difficult for novice users to select, use, and combine the necessary components to build the desired functionality. In this paper, we propose and introduce a new component selection phase and a pseudo data flow diagram construction to the component combination problem we have proposed so far, and develop a system to support the acquisition of the ability to utilize components.
Learning to confirm the behavior of variables from the source code and interpreting the function from that behavior is considered effective in understanding the relationship between the source code and the function. Interpreting functions requires to think about the constraints which variables of behavior. In this study, we propose a learning method for thinking about the constraints of behavior from the source code and develop a support system that facilitates interpretation of functions. Specifically, the learner thinks about what kind of function from the source code that about constraints of behavior.
In order to understand the problem, the learner needs to recognize his or her own errors and make trial-and-error errors. The authors have designed two types of error visualization using mathematical representation transformations for vectors. In this paper, in order to redesign the two types of error visualization to be more reasonable, the current visualization is analyzed against the heuristics of a robust simulator for each error case. Based on the results, we redesign the two visualizations to be more reasonable.