Recently, the demand for programming education is increasing worldwide. Enhancing intelligent tutoringsystems (ITSs) in programming education is therefore very important. For a computer to intelligently support suchlearning, it is desirable that it be adaptive to individual learning. In ITS research, learning effectiveness is enhancedby (A) controlling features of the question or problem to be asked by indexing based on characteristics of targetdomains, or by (B) making appropriate interventions such as feedback by grasping problem-solving processes basedon explainable problem-solving models.
It is important to reuse knowledge acquired through problem-solving in programming. To reuse knowledge, itis effective to first understand differences between knowledge items and then to organize that knowledge. In programming,requirements become a problem to be solved. Requirements are defined separately in the software engineeringfield as functional requirements and non-functional requirements. Functional requirements are requirements for whatis satisfied, while non-functional requirements are characteristics for satisfying the functional requirements such asinterface or security. The purpose of this study is to organize the knowledge related to this process by regarding theachievement of functional requirements as problem-solving in programming.
Assuming that problem-solving is directed toward acquisition of knowledge required for a solution, descriptionsof the programming knowledge itself lead to indexing of the problem. Some studies have utilized function–behavior–structure aspects, combining each aspect to handle knowledge in parts and using them for knowledge descriptions.We have considered that the problem-solving process in this programming can be explained according tothe definition of function–behavior–structure aspects. Therefore, we proposed a model of parts based on function–behavior–structure aspects. And, we further proposed a model of the problem-solving process of parts.
In order to verify the effectiveness of feedback by the proposed models, an evaluation experiment was performedin comparison with the feedback by our previous system. Feedback by the proposed models is that can begenerated based on “parts management” function and “grasp behavior of structure” function of the ITS functions thatcan be realized by the proposed model.
Experiment results are suggested that the proposed models can provide more appropriate feedback that can berealized in the system, suggesting that effective support can be realized through learning of parts under the proposedmodels.
In this research, by defining programming knowledge as parts, we approach various elements related to programmingthat have previously been considered tacit and clarify and organize each element independently of theprogramming language used. In this way, we try to construct a model of the problem-solving process using partsfrom the viewpoint of learning and formalize tacit knowledge.