Programming knowledge tracking method and related apparatus
By constructing a knowledge point hierarchy graph and a joint loss function, combined with a large language model and a self-verifying algorithm, the problems of sparse knowledge point relationships and neglect of hierarchical structure in programming knowledge tracing are solved, enabling accurate assessment of learners' knowledge status and personalized learning support.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XI AN JIAOTONG UNIV
- Filing Date
- 2025-09-18
- Publication Date
- 2026-06-26
Smart Images

Figure CN121235058B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of artificial intelligence and data science technology, and relates to a programming knowledge tracking method and related apparatus. Background Technology
[0002] With the rapid development of the mobile internet, the education sector has entered the digital age, with various online learning platforms and intelligent tutoring systems emerging in large numbers. These technologies provide learners with abundant learning resources and diverse learning pathways. However, effectively monitoring and evaluating learners' knowledge status (i.e., their mastery of knowledge points) during the learning process remains a significant challenge for online education. Knowledge tracing (KT) aims to build a model of learners' knowledge status by analyzing their historical learning data, including answer records and learning paths, thereby assessing their mastery of knowledge points and predicting their future performance. Specifically, in the context of online programming education, knowledge tracing is specialized into Programming Knowledge Tracing (PKT). PKT analyzes learners' online programming records to assess their knowledge status and predict the probability of them correctly answering the next question.
[0003] The information on programming exercises and learner answer codes (including knowledge point information from code compilation and execution information) is crucial for programming knowledge tracing tasks. First, in online programming learning scenarios, learner answer codes and their compilation and execution information reflect how and effectively learners utilize course knowledge points. Obtaining this relationship helps capture learners' thinking patterns and assess their knowledge mastery. However, current programming knowledge tracing research extracts textual or structural information from learner code as a whole, without considering the knowledge point relationships contained within the code and its compilation and execution information. Second, the relationship between programming exercises and knowledge points reflects the knowledge points tested in the exercises, serving as a vital basis for knowledge tracing models to predict answer results and assess knowledge mastery. However, current programming knowledge tracing datasets contain a limited number of labeled knowledge points for exercises, and only label the main knowledge points tested, ignoring other knowledge points. These neglected knowledge points also affect the programming knowledge tracing model's assessment of learners' knowledge status and predictions of future performance. Traditional knowledge point recognition uses pattern matching or deep neural network techniques, which require a large amount of labeled data and are difficult to recognize knowledge points with irregular formats and high levels of abstraction, such as dynamic programming and quick sort.
[0004] The hierarchical structure of knowledge points helps programming knowledge tracing models to deeply explore the relationships between knowledge points and accurately model the evolution of learners' knowledge states. However, current programming knowledge tracing research only constructs knowledge points into planar graph structures (GKT) or exercise-knowledge point relationship graphs (such as HGKT, PDKT, SGKT, and Bi-CLKT) to extract relationships between knowledge points or exercise-knowledge point relationships, while ignoring the hierarchical structure of knowledge points. Following the cognitive pattern of human thinking from concrete to abstract, knowledge points in programming courses can be divided into different levels, with different relationships and information transmission methods within and between levels. Summary of the Invention
[0005] The purpose of this invention is to overcome the shortcomings of the existing technology in current programming knowledge tracking research, such as sparse and unbalanced relationship between exercises and knowledge points, insufficient utilization of programming process information, and flat modeling of knowledge point relationships, which make it impossible to effectively assess the learner's knowledge status. This invention provides a programming knowledge tracking method and related apparatus.
[0006] To achieve the above objectives, the present invention employs the following technical solution:
[0007] In a first aspect, this invention provides a programming knowledge tracking method, comprising: acquiring learner learning sequence information and programming exercises to be predicted; acquiring learner time-dimensional knowledge state information based on the learner's learning sequence information according to an evaluation model; acquiring the relationship between answer codes and knowledge points based on the learner's learning sequence information, and acquiring learner knowledge point hierarchical knowledge state information by combining a knowledge point hierarchy graph; fusing the learner's time-dimensional knowledge state information and knowledge point hierarchical knowledge state information to obtain and, based on the learner's knowledge state latent vector, acquiring the learner's knowledge point mastery evaluation vector; wherein, the loss function of the evaluation model is a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss; acquiring the relationship between the programming exercises to be predicted and knowledge points based on the programming exercises to be predicted; and obtaining the learner's predicted answer result for the programming exercises to be predicted based on the learner's knowledge point mastery evaluation vector and the relationship between the programming exercises to be predicted and knowledge points.
[0008] Optionally, obtaining the learner's temporal knowledge state information based on the learner's learning sequence information includes: the learning sequence information includes several interactive information items arranged in chronological order; wherein, the interactive information includes programming exercises, answer codes, and answer results; using a pre-trained CodeBERT model, embedding vectors for programming exercises and answer codes are obtained; the learner's temporal knowledge state information is obtained through the following formula:
[0009]
[0010] in, For learners at all times Time-dimensional knowledge status information; This indicates vector concatenation; For learners at all times Programming exercises embedded in vectors; For learners at all times The answer code is embedded in the vector; For learners at all times The answer result.
[0011] Optionally, obtaining the relationship between answer codes and knowledge points based on the learner's learning sequence information includes: extracting answer codes and code compilation and execution information from the learner's learning sequence information, using a mind-tree-driven self-verification algorithm combined with a large language model to identify knowledge points in the answer codes, and obtaining the relationship between answer codes and knowledge points; wherein, the mind-tree-driven self-verification algorithm includes: decomposing the task into subtasks based on the mind-tree concept, using a self-consistency method combined with a large language model to obtain the task results of the subtasks, and verifying the task results of the subtasks based on reductio ad absurdum combined with a large language model; the step of obtaining the relationship between answer codes and knowledge points based on the learner's learning sequence information includes: extracting answer codes and code compilation and execution information from the learner's learning sequence information, using a mind-tree-driven self-verification algorithm combined with a large language model to obtain the task results of the subtasks, and using a reductio ad absurdum method combined with a large language model to verify the task results of the subtasks; The process of obtaining the relationship between programming exercises and knowledge points includes: using a mind tree-driven self-verification algorithm, combined with a large language model, to identify knowledge points in the programming exercises to be predicted, thus obtaining the relationship between the programming exercises and knowledge points; and combining the knowledge point hierarchy graph to obtain the learner's knowledge point hierarchy dimension knowledge state information includes: constructing a knowledge point hierarchy graph and using a hierarchy graph learning algorithm to obtain the representation of knowledge points at each level; and obtaining the knowledge point representation vectors at each level of the answer code based on the relationship between the answer code and the knowledge points, and then concatenating and fusing them to obtain the learner's knowledge point hierarchy dimension knowledge state information.
[0012] Optionally, constructing the knowledge point hierarchy graph includes: dividing knowledge points into statement layers, structure layers, and algorithm layers according to abstraction levels, and defining intra-layer associations and inter-layer inclusion relationships to obtain the knowledge point hierarchy graph; obtaining the knowledge point representations of each layer using a hierarchical graph learning algorithm includes: obtaining the inter-layer adjacency matrix and intra-layer adjacency matrix of each layer based on the knowledge point hierarchy graph; obtaining the initial representations of knowledge points at each layer using a pre-trained CodeBERT model; and, based on the initial representations of knowledge points at each layer and the inter-layer adjacency matrix and intra-layer adjacency matrix of each layer, modeling the semantic associations between knowledge points within each layer using a graph convolutional network, and performing cross-layer information transfer based on preset hierarchical dependencies between layers. The process involves transmitting and employing a bottom-up, hierarchical aggregation strategy to fuse local features of knowledge points into a global representation, resulting in knowledge point representations at each level. The step of combining the relationship between the answer code and knowledge points with these hierarchical knowledge point representations to obtain knowledge point representation vectors for each level of the answer code, and then concatenating and fusing them, includes: constructing and normalizing a relationship matrix between the answer code and knowledge points; obtaining a normalized relationship matrix between the answer code and knowledge points; dividing the matrix according to levels; obtaining normalized relationship matrices between the answer code and knowledge points at each level; multiplying these matrices with the corresponding knowledge point representations at each level; obtaining knowledge point representation vectors for each level of the answer code; and concatenating and fusing them to obtain the learner's knowledge point hierarchical dimension knowledge state information.
[0013] Optionally, the step of fusing the learner's time-dimensional knowledge state information and knowledge point-level knowledge state information to obtain and, based on the learner's knowledge state latent vector, acquires the learner's knowledge point mastery assessment vector. This includes: inputting the learner's time-dimensional knowledge state information and knowledge point-level knowledge state information into a time-dimensional recurrent neural network and a spatial recurrent neural network respectively for sequence information extraction to obtain a time-dimensional latent state vector and a spatial latent state vector; concatenating the time-dimensional latent state vector and the spatial latent state vector to obtain the learner's knowledge state latent vector and mapping it to obtain the learner's knowledge point mastery assessment vector.
[0014] Optionally, the joint loss function for:
[0015]
[0016]
[0017]
[0018]
[0019]
[0020] in, Tracking loss of programming knowledge; Constraining losses based on the level of knowledge mastery; For a moment The actual answer result; For a moment The predicted answer result; Constraining losses based on the mastery of knowledge points within a given time step. Constraining losses based on the mastery of knowledge points within a time step; and Indicates the knowledge point number; Indicates time Knowledge points in the answer code Is the usage correct? If correct, then... If it is wrong ; Indicates the learner at any given time Knowledge points They have a high level of mastery; Indicates the learner at any given time Knowledge points They have a high level of mastery; For probability; Represents a set of knowledge point pairs, for Learners at all times The answer code correctly used the knowledge points. The knowledge point was used incorrectly. ; and For weight hyperparameters.
[0021] Optionally, the step of evaluating the relationship between the learner's knowledge point mastery and the programming exercise to be predicted, and obtaining the learner's predicted answer to the programming exercise, includes obtaining the learner's predicted answer to the programming exercise by the following formula. :
[0022]
[0023] in, This means multiplying all elements of the vector. for function; A vector for assessing learners' mastery of knowledge points; For Mask operations; This is a relation vector constructed based on the relationship between the programming exercises to be predicted and the knowledge points; and This is a hyperparameter.
[0024] In a second aspect, the present invention provides a programming knowledge tracking system, comprising: a data acquisition module for acquiring learner learning sequence information and programming exercises to be predicted; a situation assessment module for acquiring learner time-dimensional knowledge state information based on the learner's learning sequence information and an assessment model; acquiring the relationship between answer codes and knowledge points based on the learner's learning sequence information, and acquiring learner knowledge point hierarchical knowledge state information by combining the knowledge point hierarchy graph; fusing the learner's time-dimensional knowledge state information and knowledge point hierarchical knowledge state information to obtain and, based on the learner's knowledge state latent vector, acquiring the learner's knowledge point mastery assessment vector; wherein the loss function of the assessment model is a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss; a relationship analysis module for acquiring the relationship between the programming exercises to be predicted and knowledge points based on the programming exercises to be predicted; and a result prediction module for obtaining the learner's predicted answer result for the programming exercises to be predicted based on the learner's knowledge point mastery assessment vector and the relationship between the programming exercises to be predicted and knowledge points.
[0025] In a third aspect, the present invention provides a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described programming knowledge tracing method.
[0026] In a fourth aspect, the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described programming knowledge tracing method.
[0027] Compared with the prior art, the present invention has the following beneficial effects:
[0028] This invention presents a programming knowledge tracking method that obtains the relationship between answer codes and knowledge points based on learners' learning sequence information. Combined with a knowledge point hierarchy diagram, it accurately captures learners' knowledge point hierarchy-level knowledge state information, successfully solving the problem of flattened knowledge point relationship modeling and significantly improving the effectiveness and interpretability of programming knowledge tracking. Simultaneously, it designs a dual-dimensional knowledge state tracking method, comprehensively capturing learners' knowledge state information contained in learning records from both the time dimension and the knowledge point hierarchy dimension (i.e., the spatial dimension). Furthermore, the loss function of the evaluation model is designed as a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss. By designing the knowledge point mastery constraint loss, it effectively solves the problem that current programming knowledge tracking methods cannot establish a direct correlation between code knowledge point mastery and learners' knowledge state, thus leading to the incomplete capture and utilization of programming process information. Ultimately, it effectively improves the accuracy of programming knowledge tracking methods in modeling learners' learning processes. Based on a precise grasp of learners' knowledge states, it can provide strong support for adaptive education, realize personalized learning path planning, and help learners master programming knowledge more efficiently.
[0029] Furthermore, a mind-tree-driven self-verification algorithm is employed, combined with a large language model to identify knowledge points in the answer code. This effectively utilizes the text understanding capabilities of the large language model and combines self-consistency and reductio ad absurdum to improve the accuracy and reliability of knowledge point identification in exercises and code, thus resolving the problem of sparse and unbalanced relationships between answer code and knowledge points. Simultaneously, by collaboratively considering code compilation and execution information, the algorithm fully utilizes procedural information, improving the refinement and accuracy of knowledge tracing. Attached Figure Description
[0030] Figure 1 This is a flowchart of the programming knowledge tracing method according to an embodiment of the present invention.
[0031] Figure 2 This is a schematic diagram illustrating the principle of extracting the relationship between answer codes and knowledge points, as well as the relationship between programming exercises and knowledge points, in an embodiment of the present invention.
[0032] Figure 3 This is a block diagram of the programming knowledge tracking system according to an embodiment of the present invention. Detailed Implementation
[0033] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0034] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0035] The present invention will now be described in further detail with reference to the accompanying drawings:
[0036] See Figure 1 In one embodiment of the present invention, a programming knowledge tracing method is provided, specifically a programming knowledge tracing method based on knowledge point identification and hierarchical modeling, comprising the following steps:
[0037] S1: Obtain learner's learning sequence information and programming exercises to be predicted;
[0038] S2: Based on the evaluation model, the learner's time-dimensional knowledge state information is obtained according to the learner's learning sequence information; the relationship between the answer code and knowledge point is obtained according to the learner's learning sequence information, and combined with the knowledge point hierarchy graph, the learner's knowledge point hierarchy-dimensional knowledge state information is obtained; the learner's time-dimensional knowledge state information and knowledge point hierarchy-dimensional knowledge state information are fused to obtain and, based on the learner's knowledge state latent vector, the learner's knowledge point mastery evaluation vector is obtained; wherein, the loss function of the evaluation model is a joint loss function constructed based on the knowledge point mastery constraint loss and the programming knowledge tracking loss;
[0039] S3: Obtain the relationship between the programming exercises to be predicted and the knowledge points based on the programming exercises to be predicted;
[0040] S4: Evaluate the relationship between the learner's knowledge points and the programming exercise to be predicted, based on the learner's mastery of the knowledge points, to obtain the learner's predicted answer to the programming exercise to be predicted.
[0041] This invention presents a programming knowledge tracking method that obtains the relationship between answer codes and knowledge points based on learners' learning sequence information. Combined with a knowledge point hierarchy diagram, it accurately captures learners' knowledge point hierarchy-level knowledge state information, successfully solving the problem of flattened knowledge point relationship modeling and significantly improving the effectiveness and interpretability of programming knowledge tracking. Simultaneously, it designs a dual-dimensional knowledge state tracking method, comprehensively capturing learners' knowledge state information contained in learning records from both the time dimension and the knowledge point hierarchy dimension (i.e., the spatial dimension). Furthermore, the loss function of the evaluation model is designed as a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss. By designing the knowledge point mastery constraint loss, it effectively solves the problem that current programming knowledge tracking methods cannot establish a direct correlation between code knowledge point mastery and learners' knowledge state, thus leading to the incomplete capture and utilization of programming process information. Ultimately, it effectively improves the accuracy of programming knowledge tracking methods in modeling learners' learning processes. Based on a precise grasp of learners' knowledge states, it can provide strong support for adaptive education, realize personalized learning path planning, and help learners master programming knowledge more efficiently.
[0042] In one possible implementation, obtaining the learner's temporal knowledge state information based on the learner's learning sequence information includes: the learning sequence information includes several interactive information items arranged in chronological order; wherein, the interactive information includes programming exercises, answer codes, and answer results; using a pre-trained CodeBERT model, embedding vectors for programming exercises and answer codes are obtained; the learner's temporal knowledge state information is obtained through the following formula:
[0043]
[0044] in, For learners at all times Time-dimensional knowledge status information; This indicates vector concatenation; For learners at all times Programming exercises embedded in vectors; For learners at all times The answer code is embedded in the vector; For learners at all times The answer result.
[0045] Interpretive, it uses learners' learning sequence information to extract learners' temporal knowledge state information. Learning sequence information is the interactive information generated by learners during the learning process, including programming exercises, answer codes, and answer results. Indicates the learner at any given time Exercise embedding vectors, Indicates the learner at any given time The code embedding vectors. The embedding vectors of programming exercises and answer codes are obtained by processing the text of programming exercises and answer codes using a pre-trained CodeBERT model. This indicates the time. The answer result is all 1s when correct and all 0s when incorrect.
[0046] In one possible implementation, obtaining the relationship between the answer code and knowledge points based on the learner's learning sequence information includes: extracting the answer code and code compilation and execution information from the learner's learning sequence information; using a mind tree-driven self-verification algorithm combined with a large language model to identify knowledge points in the answer code to obtain the relationship between the answer code and knowledge points; wherein, the mind tree-driven self-verification algorithm includes: decomposing the task into subtasks based on the mind tree concept, using a self-consistency method combined with a large language model to obtain the task results of the subtasks, and verifying the task results of the subtasks based on reductio ad absurdum combined with a large language model.
[0047] In one possible implementation, obtaining the relationship between the programming exercise to be predicted and the knowledge points based on the programming exercise to be predicted includes: using a mind tree-driven self-verification algorithm, combined with a large language model, to identify the knowledge points of the programming exercise to be predicted, thereby obtaining the relationship between the programming exercise to be predicted and the knowledge points.
[0048] Explanatory, see Figure 2 To address the issues of sparse and uneven relationships between answer codes and knowledge points, and between programming exercises and knowledge points, as well as insufficient utilization of information from the programming process, this paper utilizes a large language model to augment the data on these relationships. First, based on the concept of mind trees, the task of identifying knowledge points in exercises is decomposed into sub-tasks of overall exercise analysis and knowledge point identification. Similarly, the task of identifying knowledge points in code is decomposed into sub-tasks of overall code analysis, knowledge point existence judgment, and knowledge point mastery judgment. Then, based on the concept of self-consistency, multiple answer results are generated for each sub-task, and the large language model is used to evaluate the quality of these results. A voting mechanism is then used to select the correct answer. Finally, based on the principle of reductio ad absurdum, contradictory descriptions of sub-task results are constructed, and the large language model is used for analysis, judgment, and selection to verify the correctness of the results.
[0049] In one possible implementation, obtaining the learner's knowledge point hierarchical knowledge state information by combining the knowledge point hierarchy graph includes: constructing a knowledge point hierarchy graph and using a hierarchy graph learning algorithm to obtain the knowledge point representations at each level; obtaining the knowledge point representation vectors at each level of the answer code by combining the knowledge point representations at each level with the relationship between the answer code and the knowledge points, and then concatenating and fusing them to obtain the learner's knowledge point hierarchical knowledge state information.
[0050] In one possible implementation, constructing the knowledge point hierarchy graph includes: dividing knowledge points into statement layer, structure layer and algorithm layer according to the level of abstraction, and defining the relationships within the layers and the inclusion relationships between layers to obtain the knowledge point hierarchy graph.
[0051] To address the issue of modeling the relationships between knowledge points in a flattened manner, a hierarchical diagram of knowledge points in programming courses is constructed, as follows: First, based on the laws of thought and the hierarchical theory in cognitive science, programming course knowledge points are divided into statement layer, structure layer, and algorithm layer in a manner from concrete to abstract. The statement layer contains knowledge points at the granularity of syntactic unit operations, such as arithmetic operations and logical operations; the structure layer contains knowledge points related to code organization paradigms, such as stacks, heaps, and loop structures; and the algorithm layer contains knowledge points at the problem-solving strategy level, such as divide and conquer and dynamic programming. Second, there are inclusion relationships (E_inter) and association relationships (E_intra) between and within knowledge points at different levels. The specific descriptions of these two relationships are as follows:
[0052] Hierarchical containment relationships: It has the properties of asymmetry (Equation (1)), reflexivity (Equation (2)) and nontransitivity (Equation (3)), where Represents a set of knowledge points. Indicates the hierarchy of knowledge points. , and Indicates the index of the knowledge point at each level. Indicates the first The number of knowledge points in each layer. The inclusion relationship here indicates that lower-level knowledge points are the foundation for higher-level knowledge points, and higher-level knowledge points are comprehensive applications of lower-level knowledge points. For example, quicksort. While loop Logical operations, from logical operations to While loops and then to quicksort, represent a progressive process from concrete to abstract, from basic to applied. This aligns with learners' programming knowledge learning path, from combining basic syntax to implementing control flow, and then to designing complex algorithms. It is also a concrete manifestation of the laws of human cognition and thinking.
[0053] (1)
[0054] (2)
[0055] (3)
[0056] Hierarchical relationships: It possesses the properties of symmetry (Equation (4)), reflexivity (Equation (5)), and non-transitivity (Equation (6)). , The association here indicates that certain knowledge points at the same level share common characteristics, and learning and mastering one knowledge point can be partially transferred to related knowledge points. For example, increment operations. Arithmetic operations, divide and conquer Dynamic Programming Recursion refers to the relationship between operators, as well as the relationship between dynamic programming and divide-and-conquer recursion.
[0057] (4)
[0058] (5)
[0059] (6)
[0060] In one possible implementation, the step of using a hierarchical graph learning algorithm to obtain the representation of knowledge points at each level includes: obtaining the inter-level adjacency matrix and the intra-level adjacency matrix of each level based on the hierarchical graph of knowledge points; obtaining the initial representation of knowledge points at each level using a pre-trained CodeBERT model; and, based on the initial representation of knowledge points at each level and the inter-level adjacency matrix and the intra-level adjacency matrix of each level, modeling the semantic association between knowledge points within each level using a graph convolutional network, performing cross-level information transmission between levels based on a preset hierarchical dependency relationship, and using a bottom-up hierarchical aggregation strategy to fuse the local features of knowledge points into a global representation, thereby obtaining the representation of knowledge points at each level.
[0061] Interpretive, a hierarchical graph learning algorithm is used to learn and obtain knowledge point representations containing structural information, specifically as follows: First, based on the knowledge point hierarchical graph, the adjacency matrix of knowledge point relationships is obtained, including the adjacency matrix between levels. and hierarchical inner adjacency matrix Simultaneously, a pre-trained CodeBERT model is used to obtain initial representations of knowledge points. Then, a hierarchical graph neural network (HGNN) architecture is used to achieve multi-level knowledge representation learning: within a hierarchy, semantic relationships between knowledge points are modeled using graph convolutional networks (GCN); between layers, cross-layer information transfer is performed based on pre-defined hierarchical dependencies, employing a bottom-up hierarchical aggregation strategy to gradually fuse local features of basic knowledge points (such as relational operations) into global representations of higher-order knowledge points (such as algorithmic logic). Finally, a hierarchical knowledge point vector representation is generated, simultaneously encoding the hierarchical distribution of knowledge granularity and cross-layer interaction patterns. The specific learning process is as follows:
[0062] Within the hierarchy, formulas (7), (10), and (13) are used for graph information mining, where ( This indicates the graph convolutional neural network used in each layer. Indicates the layer number within the GCN network. This indicates the total number of GCN layers used in each layer of the hierarchy diagram. Indicates the first Layer knowledge points after the first The representation vector obtained after layer GCN processing. Cross-layer information transfer is performed using formulas (8), (9), (11), and (12). and ( ) is a learnable parameter. Let be the degree vector of the inter-layer adjacency matrix, where the calculation method for each element is given in formula (14). This means adding 1 to each element in the degree vector, because the feature information of the node itself is preserved during inter-layer information propagation, and this needs to be calculated during normalization. This means that the vector is diagonalized, and the normalization of the features is achieved by multiplying the diagonalized matrix and the feature matrix. , , This represents the initial representation matrix for graph learning of knowledge points at each layer. and For the intermediate matrix, , and This represents the initial representation matrix of each knowledge point. .
[0063] (7) (8) (9) (10)
[0064] (11)
[0065] (12)
[0066] (13)
[0067] (14)
[0068] In one possible implementation, the step of obtaining the knowledge point representation vectors of each level of the answer code based on the relationship between the answer code and the knowledge points, and then splicing and fusing them, includes: constructing and normalizing the relationship matrix between the answer code and the knowledge points, obtaining the normalized relationship matrix between the answer code and the knowledge points, dividing it according to levels, obtaining the normalized relationship matrix between the answer code and the knowledge points of each level, multiplying it with the corresponding knowledge point representations of each level, obtaining the knowledge point representation vectors of each level of the answer code, and then splicing and fusing them to obtain the learner's knowledge point level dimension knowledge state information.
[0069] Interpretively, the knowledge point representation vectors obtained using the hierarchical graph learning algorithm are combined with the relationship between the answer code and the knowledge points to obtain the knowledge representation vector of the answer code at each level. These vectors reflect the learner's thinking characteristics and knowledge state at each knowledge point level. Formula (15) normalizes the matrix of relationship between the answer code and the knowledge points, and then formula (16) is used to obtain the knowledge point representation vector corresponding to each level of the code. A code-knowledge point relationship matrix. This represents the normalized matrix showing the relationship between answer codes and knowledge points. This represents the matrix showing the relationship between the answer code and the knowledge point for each level, which is divided according to the knowledge point hierarchy. This represents the hierarchical knowledge point representation matrix of the code at each level. After learning the graph representation, we obtain knowledge point representation vectors. The row vectors in the matrix are the hierarchical knowledge point representation vectors for each code. , This represents the moment in the learning sequence corresponding to the code.
[0070] (15)
[0071] (16)
[0072] In one possible implementation, the step of fusing the learner's time-dimensional knowledge state information and knowledge point hierarchical knowledge state information to obtain, and based on the learner's knowledge state latent vector, the acquisition of the learner's knowledge point mastery evaluation vector includes: inputting the learner's time-dimensional knowledge state information and knowledge point hierarchical knowledge state information into a time-dimensional recurrent neural network and a spatial recurrent neural network respectively for sequence information extraction to obtain a time-dimensional latent state vector and a spatial latent state vector; concatenating the time-dimensional latent state vector and the spatial latent state vector to obtain the learner's knowledge state latent vector and mapping it to obtain the learner's knowledge point mastery evaluation vector.
[0073] For explanation, see Equations (17) and (18), learner's time-dimensional knowledge state information. and knowledge point hierarchy and knowledge status information ,in, Indicates the time.
[0074] (17)
[0075] (18)
[0076] The learner's time-dimensional knowledge state information and knowledge point-level knowledge state information are respectively input into the time-dimensional recurrent neural network. and spatial recurrent neural networks By extracting sequence information, the learner's time step can be obtained. Hidden state vectors in time and space dimensions and . and All use the classic long short-term memory network architecture, and the calculation process is shown in formula (19). (For example). and These are the weight matrix and bias vector of the forget gate. , as well as , These are the weight matrix and bias vector of the input gate, respectively. This indicates element-wise multiplication. and These are the weight matrix and bias vector of the output gate, respectively. and They are respectively Activation function and Activation function That is, the updated time. The hidden state vector.
[0077] (19)
[0078] Obtain the time hidden state vector and spatial hidden state vector Then, concatenating the two vectors yields the time step. Latent vector of learner knowledge state combining temporal learning behavior and knowledge topology features See formula (20). It serves as an important basis for subsequent assessments of learners' mastery of knowledge points.
[0079] (20)
[0080] The learner's knowledge state latent vector is transformed from Dimension mapping to Dimension, i.e., the assessment vector of the learner's mastery of knowledge points. The calculation process is shown in formula (21), where... and Let represent the learnable parameter matrix and vector, respectively. express Activation function. Each element takes a value in the range [0,1], representing the probability of mastering the corresponding knowledge point, i.e. the mastery of the knowledge point. The closer the value is to 1, the better the mastery.
[0081] (twenty one)
[0082] In one possible implementation, the joint loss function for:
[0083]
[0084]
[0085]
[0086]
[0087]
[0088] in, Tracking loss of programming knowledge; Constraining losses based on the level of knowledge mastery; For a moment The actual answer result; For a moment The predicted answer result; Constraining losses based on the mastery of knowledge points within a given time step. Constraining losses based on the mastery of knowledge points within a time step; and Indicates the knowledge point number; Indicates time Knowledge points in the answer code Is the usage correct? If correct, then... If it is wrong ; Indicates the learner at any given time Knowledge points They have a high level of mastery; Indicates the learner at any given time Knowledge points They have a high level of mastery; For probability; Represents a set of knowledge point pairs, for Learners at all times The answer code correctly used the knowledge points. The knowledge point was used incorrectly. ; and For weight hyperparameters.
[0089] To explain this, a joint loss function is designed, adding a knowledge point mastery constraint loss to the knowledge tracing prediction loss. Addressing the current problem that programming knowledge tracing cannot establish a direct correlation between code knowledge point mastery and the learner's knowledge state, resulting in insufficient capture and utilization of procedural information, a knowledge point mastery constraint loss is designed as follows: Knowledge points used in the answer code can be categorized as correct or incorrect. The correct or incorrect use of a knowledge point directly reflects the learner's mastery of that knowledge point. Based on this assumption, the following three judgments can be obtained:
[0090] If learners are at all times Submitted code Chinese knowledge points The use of this is entirely correct, so the learner is always... Knowledge points The level of mastery is likely to be better than that of learners at any given time. Knowledge points The level of mastery, regardless of the learner's current state. Submitted code Chinese knowledge points How is it used? Formalized as... , Indicates the learner at any given time Knowledge points The degree of mastery.
[0091] If learners are at all times Submitted code Chinese knowledge points The use of [this] is incorrect, so learners should [do something] at all times. Knowledge points The level of mastery is likely to be lower than that of learners at any given time. Knowledge points The level of mastery, regardless of the learner's current state. Submitted code Chinese knowledge points How is it used? Formalized as... .
[0092] If learners are at all times Submitted code Chinese knowledge points The usage is completely correct and applies to the knowledge points. The use of [this] is incorrect, so learners should [do something] at all times. Knowledge points The level of mastery is likely better than the level of knowledge points. The degree of mastery. Formalized as... .
[0093] Based on judgment and judgment Loss can be constrained by the understanding of time step knowledge. See formula (22), where Indicates time, Indicates the knowledge point number. Indicates time Knowledge points in the answer code Is the usage correct? If correct, then... ,otherwise .
[0094] (twenty two)
[0095] Based on judgment Loss can be constrained by the level of knowledge mastery within each time step. See formula (23). Wherein Indicates time, and This indicates the knowledge point number. Represents a set of knowledge point pairs, for Learners at all times The submitted code correctly used the knowledge points. The knowledge point was used incorrectly. .
[0096] (twenty three)
[0097] By combining the knowledge mastery constraints within and between time steps, the final knowledge mastery constraints can be obtained. See formula (24).
[0098] (twenty four)
[0099] The classic programming knowledge tracing task uses the predicted probability of learners correctly answering programming exercises at each time step. and the learner's actual answer to the exercise. The sum of the cross-entropies between them is used as the loss function, as shown in formula (25). and Representing time respectively The model outputs the actual responses and the predicted results. The smaller the loss function, the smaller the gap between the predicted results and the actual values, and the better the model's performance.
[0100] (25)
[0101] Considering the constraints of knowledge mastery, the loss function is jointly optimized by programming knowledge tracking loss and knowledge mastery constraint loss, and the joint loss function is shown in formula (26). and This is a weighted hyperparameter.
[0102] (26)
[0103] In one possible implementation, the step of evaluating the learner's knowledge point mastery and the relationship between the programming exercise to be predicted and the knowledge points to obtain the learner's predicted answer to the programming exercise to be predicted includes: obtaining the learner's predicted answer to the programming exercise to be predicted using the following formula. :
[0104]
[0105] in, This means multiplying all elements of the vector. for function; A vector for assessing learners' mastery of knowledge points; For Mask operations; This is a relation vector constructed based on the relationship between the programming exercises to be predicted and the knowledge points; and This is a hyperparameter.
[0106] Explanatoryly, the probability of a learner correctly answering a given exercise can be obtained by combining the mastery probability of each knowledge point with the knowledge point relationship of the exercise to be predicted. The calculation process is shown in formula (27), where... and These represent the knowledge point relationship vector of the exercise to be predicted and the algorithm prediction result, respectively. express function, This means multiplying all elements of the vector. For the Mask operation, the vector representing the relationship between the programming exercises to be predicted and the knowledge points is used here. Perform a masking operation. The elements in the middle are either 0 or 1, where 1 indicates that the programming exercise to be predicted tested the corresponding knowledge point, and 0 indicates that it did not. After the masking operation, the knowledge point mastery evaluation vector is generated. The system retains only the assessment results of the mastery of the knowledge points required for the programming exercises to be predicted, and sets the corresponding positions of the knowledge points that were not tested to 0. and These are hyperparameters used to adjust the mapping range of the probability of mastering the original knowledge points. When set... and When the knowledge points not tested in the predicted exercises are given, the calculation process is as follows: For the knowledge points tested in the programming exercises to be predicted, assume that the probability of mastering the original knowledge points is . The calculation process is as follows: The original probabilities were further dispersed and mapped with a 0.5 boundary, widening the gap between the original probabilities. After... and The processing reduces the impact of knowledge points not covered in the programming exercises to be predicted on the prediction results, while increasing the impact of the knowledge points that are covered on the prediction results, which helps to improve the prediction effect of the algorithm.
[0107] (27)
[0108] In one possible implementation, experiments were conducted using the proposed method on the publicly available programming knowledge tracing datasets Educoder, CodeWorkout, and BePKT. The Educoder dataset contains 9119 interaction records submitted by 608 learners across 6 programming tasks; the CodeWorkout dataset contains 125578 interaction records submitted by 506 learners across 50 programming tasks; and the BePKT dataset contains 75993 interaction records submitted by 906 learners across 600 programming tasks. The experiments compared the performance of the proposed method with classic knowledge tracing and programming knowledge tracing methods, including DKT, DKVMN, GKT, AKT, Code-DKT, and CSI-PKT. The evaluation metrics were ACC and AUC. The experimental results are shown in Table 1, demonstrating that the proposed method achieves optimal performance.
[0109] Table 1
[0110]
[0111] This invention presents a programming knowledge tracing method that, compared to existing methods, effectively utilizes the text understanding capabilities of large language models through a mind-tree-driven self-verification algorithm. Combined with self-consistency and reductio ad absurdum, it improves the accuracy and reliability of identifying exercise and code knowledge points, addressing the problem of sparse and unbalanced relationships between exercises and knowledge points. Simultaneously, it constructs a hierarchical knowledge point graph, mining relationships at three levels: statement, structure, and algorithm, resolving the issue of flattened knowledge point relationship modeling and improving the effectiveness and interpretability of the programming knowledge tracing model. Furthermore, it considers code compilation and execution information and adds a knowledge point mastery constraint loss to the traditional knowledge tracing prediction loss for joint optimization, thereby fully utilizing procedural information and improving the refinement and accuracy of learner knowledge status assessment.
[0112] The following are embodiments of the apparatus of the present invention, which can be used to execute embodiments of the method of the present invention. For details not disclosed in the apparatus embodiments, please refer to the embodiments of the method of the present invention.
[0113] See Figure 3 In another embodiment of the present invention, a programming knowledge tracking system is provided, which can be used to implement the above-mentioned programming knowledge tracking method. Specifically, the programming knowledge tracking system includes a data acquisition module, a situation assessment module, a relationship analysis module, and a result prediction module.
[0114] The system comprises the following modules: a data acquisition module for acquiring learners' learning sequence information and programming exercises to be predicted; a situation assessment module for acquiring learners' time-dimensional knowledge state information based on the learning sequence information and an assessment model; a module for acquiring the relationship between answer codes and knowledge points based on the learning sequence information and acquiring learners' knowledge point hierarchical knowledge state information by combining the knowledge point hierarchy graph; a module for merging learners' time-dimensional and hierarchical knowledge state information to obtain and, based on the learners' knowledge state latent vector, an assessment vector for learners' knowledge point mastery; and a loss function for the assessment model that is a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss. A relationship analysis module for acquiring the relationship between programming exercises to be predicted and knowledge points. Finally, a result prediction module for obtaining learners' predicted answers to programming exercises based on their knowledge point mastery assessment vector and the relationship between programming exercises and knowledge points.
[0115] All relevant content of each step involved in the aforementioned embodiments of the programming knowledge tracing method can be referenced to the functional description of the corresponding functional module of the programming knowledge tracing system in the embodiments of the present invention, and will not be repeated here.
[0116] The module division in this embodiment of the invention is illustrative and represents only one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional modules in the various embodiments of the invention can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0117] In another embodiment of the present invention, a computer device is provided, comprising a processor and a memory. The memory stores a computer program, which includes program instructions. The processor executes the program instructions stored in the computer storage medium. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions in the computer storage medium to achieve a corresponding method flow or corresponding function. The processor described in this embodiment of the present invention can be used for the operation of a programming knowledge tracing method.
[0118] In another embodiment of the present invention, a storage medium is provided, specifically a computer-readable storage medium (Memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the computer device and extended storage media supported by the computer device. The computer-readable storage medium provides storage space that stores the terminal's operating system. Furthermore, the storage space also stores one or more instructions suitable for loading and execution by a processor. These instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device. The processor can load and execute one or more instructions stored in the computer-readable storage medium to implement the corresponding steps of the programming knowledge tracing method in the above embodiments.
[0119] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0120] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0121] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0122] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0123] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention. Any modifications or equivalent substitutions that do not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.
Claims
1. A programming knowledge tracing method, characterized in that, include: Obtain learners' learning sequence information and programming exercises to be predicted; Based on the evaluation model, learners' knowledge status information in the time dimension is obtained according to their learning sequence information; Furthermore, it obtains the relationship between answer codes and knowledge points based on learners' learning sequence information, and combines the knowledge point hierarchy diagram to obtain learners' knowledge point hierarchy dimension knowledge state information; it integrates learners' time dimension knowledge state information and knowledge point hierarchy dimension knowledge state information to obtain and, based on learners' knowledge state latent vector, obtains learners' knowledge point mastery evaluation vector; wherein, the loss function of the evaluation model is a joint loss function constructed based on knowledge point mastery constraint loss and programming knowledge tracking loss; Based on the programming exercises to be predicted, obtain the relationship between the programming exercises to be predicted and the knowledge points; Based on the learner's mastery of knowledge points, the evaluation vector and the relationship between the programming exercise to be predicted and the knowledge points are used to obtain the learner's predicted answer to the programming exercise to be predicted; The step of obtaining the learner's time-dimensional knowledge state information based on the learner's learning sequence information includes: The learning sequence information includes several interactive information items arranged in chronological order; wherein, the interactive information includes programming exercises, answer codes, and answer results; Using a pre-trained CodeBERT model, we obtain the embedding vectors of programming exercises and the embedding vectors of answer codes; The learner's time-dimensional knowledge state information is obtained using the following formula: in, For learners at all times Time-dimensional knowledge status information; This indicates vector concatenation; For learners at all times Programming exercises embedded in vectors; For learners at all times The answer code is embedded in the vector; For learners at all times The answer result; The step of obtaining the relationship between answer codes and knowledge points based on the learner's learning sequence information includes: The algorithm extracts answer codes and code compilation and execution information from learners' learning sequence information. It then uses a mind tree-driven self-verification algorithm, combined with a large language model, to identify knowledge points in the answer codes and obtain the relationship between the answer codes and knowledge points. The mind tree-driven self-verification algorithm includes: decomposing the task into subtasks based on the mind tree concept, using a self-consistency method combined with a large language model to obtain the task results of the subtasks, and verifying the task results of the subtasks based on reductio ad absurdum combined with a large language model. The process of obtaining the relationship between the programming exercises to be predicted and the knowledge points based on the programming exercises to be predicted includes: A mind tree-driven self-verification algorithm is used, combined with a large language model to identify knowledge points in the programming exercises to be predicted, and to obtain the relationship between the programming exercises to be predicted and the knowledge points. The process of obtaining learner knowledge point hierarchy dimension knowledge status information by combining the knowledge point hierarchy diagram includes: Construct a knowledge point hierarchy graph and use a hierarchy graph learning algorithm to obtain the representation of knowledge points at each level; Based on the relationship between the answer code and the knowledge point, and combined with the knowledge point representation at each level, the knowledge point representation vectors at each level of the answer code are obtained and then concatenated and merged to obtain the learner's knowledge point level dimension knowledge state information.
2. The programming knowledge tracing method according to claim 1, characterized in that, The construction of the knowledge point hierarchy diagram includes: dividing knowledge points into statement layer, structure layer and algorithm layer according to the level of abstraction, and defining the relationships within the layers and the inclusion relationships between layers to obtain the knowledge point hierarchy diagram; The method of using hierarchical graph learning algorithm to obtain the representation of knowledge points at each level includes: Based on the knowledge point hierarchy graph, obtain the inter-level adjacency matrix and intra-level adjacency matrix of each level. Use a pre-trained CodeBERT model to obtain initial representations of knowledge points at each level; Based on the initial representation of knowledge points at each level and the inter-level and intra-level adjacency matrices of each level, semantic associations between knowledge points are modeled within the level using graph convolutional networks. Cross-level information transmission is carried out between levels based on preset hierarchical dependencies. A bottom-up hierarchical aggregation strategy is adopted to fuse the local features of knowledge points into a global representation, thus obtaining the representation of knowledge points at each level. The process of obtaining knowledge point representation vectors at each level of the answer code based on the relationship between the answer code and knowledge points, and then concatenating and fusing them, includes: Based on the relationship between answer codes and knowledge points, construct a matrix of answer codes and knowledge points and normalize it. Then, divide the normalized matrix of answer codes and knowledge points according to the hierarchy to obtain the normalized matrix of answer codes and knowledge points for each level. Multiply the matrix of answer codes and knowledge points for each level with the corresponding knowledge point representations to obtain the knowledge point representation vectors for each level of answer codes. Then, concatenate and fuse them to obtain the learner's knowledge point hierarchy dimension knowledge state information.
3. The programming knowledge tracing method according to claim 1, characterized in that, The fusion of learners' time-dimensional knowledge state information and knowledge point-level knowledge state information yields, and based on the learners' latent knowledge state vector, an evaluation vector for the learners' knowledge point mastery is obtained, including: The learner’s temporal knowledge state information and knowledge point hierarchical knowledge state information are respectively input into the temporal recurrent neural network and the spatial recurrent neural network for sequence information extraction, resulting in temporal hidden state vectors and spatial hidden state vectors. By concatenating the time-dimensional and spatial-dimensional latent state vectors, we obtain the learner's knowledge state latent vector, which is then mapped to obtain the learner's knowledge mastery assessment vector.
4. The programming knowledge tracing method according to claim 1, characterized in that, The joint loss function for: in, Tracking loss of programming knowledge; Constraining losses based on the level of knowledge mastery; For a moment The actual answer result; For a moment The predicted answer result; Constraining losses based on the mastery of knowledge points within a given time step. Constraining losses based on the mastery of knowledge points within a time step; and Indicates the knowledge point number; Indicates time Knowledge points in the answer code Is the usage correct? If correct, then... If it is wrong ; Indicates the learner at any given time Knowledge points They have a high level of mastery; Indicates the learner at any given time Knowledge points They have a high level of mastery; For probability; Represents a set of knowledge point pairs, for Learners at all times The answer code correctly used the knowledge points. The knowledge point was used incorrectly. ; and For weight hyperparameters.
5. The programming knowledge tracing method according to claim 1, characterized in that, The process of evaluating the relationship between the learner's knowledge mastery and the programming exercise to be predicted, based on the knowledge points, to obtain the learner's predicted answer to the programming exercise includes: The learner's predicted response to the programming exercise to be predicted is obtained using the following formula. : in, This means multiplying all elements of the vector. for function; A vector for assessing learners' mastery of knowledge points; For Mask operations; This is a relation vector constructed based on the relationship between the programming exercises to be predicted and the knowledge points; and This is a hyperparameter.
6. A programming knowledge tracking system, characterized in that, include: The data acquisition module is used to acquire learners' learning sequence information and programming exercises to be predicted; The assessment module is used to obtain learners' time-dimensional knowledge state information based on the assessment model and their learning sequence information; to obtain the relationship between answer codes and knowledge points based on the learners' learning sequence information, and to obtain learners' knowledge point hierarchical knowledge state information by combining the knowledge point hierarchy graph; and to obtain learners' knowledge point mastery assessment vector by fusing the learners' time-dimensional and knowledge point hierarchical knowledge state information and based on the learners' knowledge state latent vector. The loss function of the assessment model is a joint loss function constructed based on the knowledge point mastery constraint loss and the programming knowledge tracking loss. The relationship analysis module is used to obtain the relationship between the programming exercises to be predicted and the knowledge points based on the programming exercises to be predicted; The result prediction module is used to evaluate the relationship between the vector and the programming exercise to be predicted and the knowledge points based on the learner's mastery of the knowledge points, and to obtain the learner's predicted answer to the programming exercise to be predicted. The step of obtaining the learner's time-dimensional knowledge state information based on the learner's learning sequence information includes: The learning sequence information includes several interactive information items arranged in chronological order; wherein, the interactive information includes programming exercises, answer codes, and answer results; Using a pre-trained CodeBERT model, we obtain the embedding vectors of programming exercises and the embedding vectors of answer codes; The learner's time-dimensional knowledge state information is obtained using the following formula: in, For learners at all times Time-dimensional knowledge status information; This indicates vector concatenation; For learners at all times Programming exercises embedded in vectors; For learners at all times The answer code is embedded in the vector; For learners at all times The answer result; The step of obtaining the relationship between answer codes and knowledge points based on the learner's learning sequence information includes: The algorithm extracts answer codes and code compilation and execution information from learners' learning sequence information. It then uses a mind tree-driven self-verification algorithm, combined with a large language model, to identify knowledge points in the answer codes and obtain the relationship between the answer codes and knowledge points. The mind tree-driven self-verification algorithm includes: decomposing the task into subtasks based on the mind tree concept, using a self-consistency method combined with a large language model to obtain the task results of the subtasks, and verifying the task results of the subtasks based on reductio ad absurdum combined with a large language model. The process of obtaining the relationship between the programming exercises to be predicted and the knowledge points based on the programming exercises to be predicted includes: A mind tree-driven self-verification algorithm is used, combined with a large language model to identify knowledge points in the programming exercises to be predicted, and to obtain the relationship between the programming exercises to be predicted and the knowledge points. The process of obtaining learner knowledge point hierarchy dimension knowledge status information by combining the knowledge point hierarchy diagram includes: Construct a knowledge point hierarchy graph and use a hierarchy graph learning algorithm to obtain the representation of knowledge points at each level; Based on the relationship between the answer code and the knowledge point, and combined with the knowledge point representation at each level, the knowledge point representation vectors at each level of the answer code are obtained and then concatenated and merged to obtain the learner's knowledge point level dimension knowledge state information.
7. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the programming knowledge tracing method as described in any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the programming knowledge tracing method as described in any one of claims 1 to 5.