Programming knowledge tracking method based on solution capability enhancement
By multi-dimensionally encoding students' programming information and combining it with a programming state model, the problem of low prediction accuracy of programming knowledge tracking models in existing technologies in complex tasks is solved, and more accurate programming performance prediction and personalized guidance are achieved.
Patent Information
- Application Number
- CN202510618925.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-09-19
AI Technical Summary
Existing programming knowledge tracking models have low prediction accuracy in complex programming tasks, fail to fully capture students' mastery of programming knowledge, ignore actual understanding ability, and do not model different answer questions.
By obtaining students' programming information for perceptual encoding, including joint encoding of test knowledge points, multi-association representation encoding of test questions and open code representation encoding, and inputting it into the programming state model based on enhanced solving ability, prediction is performed using the progressive knowledge updating module, global solving ability decoding module, local solving ability positioning module and programming performance prediction module.
It improves the accuracy of predicting students' programming performance, provides personalized programming guidance, optimizes teaching effects and learning experience, and improves the accuracy of programming knowledge tracking.
Smart Images

Figure CN120673654A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of knowledge tracing technology, and in particular relates to a programming knowledge tracing method based on enhanced solution-solving capability. Background Art
[0002] With the current trend of universal programming education, cultivating students' programming skills has become a trend. In recent years, programming knowledge tracking has primarily focused on changes in learners' programming states during the problem-solving process. Numerous studies have begun to utilize deep learning techniques to model students' programming proficiency. Therefore, studying how to mine individual learning characteristics from this fine-grained behavioral data and characterize the individual heterogeneity of programming learners at multiple levels has important research significance and application value for improving the accuracy of programming knowledge tracking predictions.
[0003] Existing programming knowledge tracking models can be roughly divided into three categories: Bayesian-based programming knowledge tracking models, recurrent neural network-based programming knowledge tracking models, and edit distance-based programming knowledge tracking models. Bayesian-based programming knowledge tracking models use user interaction modeling with real-time feedback and utilize hidden Markov models to model the learner's potential knowledge state as a set of binary variables, each representing whether or not a particular knowledge skill is understood. Because Bayesian-based programming knowledge tracking models primarily make inferences based on answering questions and lack the ability to model code features, their performance in complex programming tasks is limited. Recurrent neural network-based programming knowledge tracking models only use a single code feature as input and do not consider key information such as the corresponding question and knowledge points.
[0004] The relevant technology is limited to a single exercise of students and does not develop modeling based on students' different test answers, resulting in a disconnection from real-life programming scenarios, thereby ignoring other factors (such as actual comprehension ability). It fails to fully capture the students' dynamic changes in programming knowledge over time and has low accuracy in predicting students' programming performance. Summary of the Invention
[0005] This application aims to solve at least one of the technical problems existing in the prior art. To this end, this application proposes a programming knowledge tracking method based on enhanced solution-solving ability, which improves the accuracy of student programming performance prediction.
[0006] In a first aspect, the present application provides a programming knowledge tracing method based on enhanced solving capability, the method comprising:
[0007] Obtaining student programming information, the programming information including programming questions, programming question concepts, student response information, and answer codes corresponding to the programming questions, where the number of programming questions is a positive integer greater than 1;
[0008] Performing perceptual coding based on the programming information, wherein the perceptual coding includes test question knowledge point joint coding, test question multi-association representation coding, and open code representation coding;
[0009] The perceptual coding is input into a trained programming state model based on enhanced solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solving ability decoding module, a local solving ability positioning module and a programming performance prediction module.
[0010] According to one embodiment of the present application, the joint coding of test question knowledge points includes:
[0011] Obtaining concept-response information based on programming test concepts and student response information;
[0012] Obtaining question-response information based on programming test questions and student response information;
[0013] The concept-response information and question-response information are input into a long short-term memory network to obtain a joint encoding of test question knowledge points.
[0014] According to one embodiment of the present application, the multi-association representation encoding of the test question includes:
[0015] Input programming questions into the graph attention network to obtain question-question correlation;
[0016] Input the programming test questions into the multi-layer perceptron to obtain the difficulty score of the test questions;
[0017] Input the programming test questions and the knowledge points corresponding to the programming test questions into the dot product attention network to obtain the test question-knowledge point correlation;
[0018] The question-question correlation, question difficulty score and question-knowledge point correlation are fused to obtain a question multi-correlation representation code.
[0019] According to one embodiment of the present application, the open code representation encoding includes:
[0020] Obtain an abstract syntax tree from the answer code corresponding to the programming test question through the data flow graph;
[0021] Perform data dependency analysis based on the abstract syntax tree to obtain the structural characteristics of the solution code;
[0022] The answer code and the structural features of the answer code are input into the Graph Code BERT model to obtain an open code representation encoding.
[0023] According to one embodiment of the present application, inputting the perceptual code into a constructed programming state model based on enhanced solving ability to obtain a student's programming performance prediction result includes:
[0024] Inputting the perceptual code into a progressive knowledge updating module to obtain the probability that the student will correctly respond to the programming test question;
[0025] Inputting the perceptual code into a global problem-solving ability decoding module to obtain the student's global programming ability;
[0026] Inputting the perceptual code into a local problem-solving ability positioning module to obtain the student's local problem-solving ability;
[0027] The possibility of the student correctly responding to the programming test question, the student's global programming ability and the student's local problem-solving ability are input into a programming performance prediction module to obtain the student's programming performance prediction result.
[0028] According to one embodiment of the present application, the possibility of the student correctly responding to the programming test question, the student's global programming ability, and the student's local problem-solving ability are input into the programming performance prediction module to obtain the student's programming performance prediction result, including:
[0029] Obtaining the student's overall problem-solving ability based on the student's global programming ability and the student's local problem-solving ability;
[0030] Based on the likelihood of the student correctly responding to the programming test question and the student's overall problem-solving ability, a prediction result of the student's programming performance is obtained.
[0031] According to one embodiment of the present application, the training process of the programming state model based on the enhanced solving capability includes:
[0032] Build a programming state model with presets based on enhanced solver capabilities;
[0033] Obtain programming information of different students as a dataset;
[0034] Based on the loss function, a preset programming state model based on enhanced solving capability is trained according to the data set to obtain the programming state model based on enhanced solving capability, wherein the loss function is constructed based on a binary cross entropy loss function and a mutual information loss function.
[0035] In a second aspect, the present application provides a programming knowledge tracking device based on enhanced solution-solving capability, the device comprising:
[0036] an acquisition module, configured to acquire student programming information, wherein the programming information includes programming questions, programming question concepts, student response information, and answer codes corresponding to the programming questions, wherein the number of the programming questions is a positive integer greater than 1;
[0037] An encoding module, configured to perform perceptual encoding based on the programming information, wherein the perceptual encoding includes test question knowledge point joint encoding, test question multi-association representation encoding, and open code representation encoding;
[0038] A prediction module is used to input the perceptual coding into a trained programming state model based on enhanced solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solving ability decoding module, a local solving ability positioning module and a programming performance prediction module.
[0039] In a third aspect, the present application provides an electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the computer program, the programming knowledge tracking method based on enhanced solving capability as described in the first aspect above is implemented.
[0040] In a fourth aspect, the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the programming knowledge tracking method based on enhanced solution capability as described in the first aspect above.
[0041] In a fifth aspect, the present application provides a chip comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the programming knowledge tracking method based on enhanced solving capability as described in the first aspect.
[0042] In a sixth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the programming knowledge tracking method based on enhanced solution capability as described in the first aspect above.
[0043] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become obvious from the description below, or will be learned through practice of the present application.
[0044] The present invention provides a programming knowledge tracking method based on enhanced solution capability, which has the following advantages over the prior art:
[0045] Beneficial effects:
[0046] (1) The present invention obtains students' programming information and inputs it into a trained programming state model, combines the progressive knowledge update module, the global solving ability decoding module, the local solving ability positioning module and the programming performance prediction module to obtain the students' programming performance prediction results, uses the students' recent programming status to dynamically evaluate and predict future performance, models the students' knowledge space through the progressive knowledge update module, and effectively integrates the problem-solving process information from the global and local time and space dimensions, thereby improving the accuracy of the students' programming performance prediction, providing personalized programming guidance for students, providing strong support for personalized education and problem design, and optimizing the teaching effect and learning experience.
[0047] (2) The present invention inputs the probability of students correctly responding to programming questions, their global programming ability, and their local problem-solving ability into the programming performance prediction module, and combines this with their overall problem-solving ability to obtain the student's programming performance prediction result. Based on both global and local perspectives, the method not only focuses on important local interactions, but also establishes a long-sequence dependency to preserve the complete trend of ability changes, effectively improving the comprehensive assessment of students' programming ability. By analyzing students' global programming ability and local problem-solving ability, the method can more accurately predict students' programming performance, characterize the individual heterogeneity of programming learners at multiple levels, and improve the accuracy of programming knowledge tracking and prediction.
[0048] (3) The present invention constructs a preset programming state model based on enhanced solving ability, obtains programming information of different students as a data set, and combines binary cross entropy loss function and mutual information loss function for training, thereby effectively improving the accuracy and predictive ability of the programming state model. By adding mutual information loss constraints, the stability and consistency of solving ability modeling are enhanced, which can more accurately evaluate students' performance in the programming learning process and improve the model's sensitivity to students' programming ability and predictive accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0050] Figure 1 1 is a flowchart of a programming knowledge tracking method based on enhanced solution-solving capability provided by an embodiment of the present application;
[0051] Figure 2 1 is a schematic diagram of the structure of a programming state model based on enhanced solving capability provided by an embodiment of the present application;
[0052] Figure 3 Schematic diagram of the dual-channel attention network provided by the embodiment of the present application;
[0053] Figure 4Schematic diagram of the structure of a programming knowledge tracking device based on enhanced solution-solving capability provided by an embodiment of the present application;
[0054] Figure 5 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.
[0056] The terms "first," "second," and the like in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of this application can be implemented in an order other than that illustrated or described herein, and that the objects distinguished by "first," "second," and the like are generally of the same type, and do not limit the number of objects; for example, the first object can be one or more. In addition, the term "and / or" in the specification and claims refers to at least one of the connected objects, and the character " / " generally indicates that the objects connected are in an "or" relationship.
[0057] Below, in conjunction with the accompanying drawings, the programming knowledge tracking method based on enhanced solution-solving capability, the programming knowledge tracking device based on enhanced solution-solving capability, the electronic device and the readable storage medium provided in the embodiments of the present application are described in detail through specific embodiments and their application scenarios.
[0058] Among them, the programming knowledge tracking method based on enhanced solving capability can be applied to a terminal, and can be specifically executed by hardware or software in the terminal.
[0059] The terminal includes, but is not limited to, a portable communication device such as a mobile phone or tablet computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad). It should also be understood that, in some embodiments, the terminal may not be a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad).
[0060] In the following embodiments, a terminal including a display and a touch-sensitive surface is described. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, a mouse, and a joystick.
[0061] The embodiment of the present application provides a programming knowledge tracking method based on enhanced solution-solving capability. The execution subject of the programming knowledge tracking method based on enhanced solution-solving capability can be an electronic device or a functional module or functional entity in the electronic device that can implement the programming knowledge tracking method based on enhanced solution-solving capability. The electronic devices mentioned in the embodiment of the present application include but are not limited to mobile phones, tablets, computers, cameras and wearable devices, etc. The programming knowledge tracking method based on enhanced solution-solving capability provided in the embodiment of the present application is explained below using an electronic device as an example of the execution subject.
[0062] Recurrent neural networks and their variants (such as LSTM and GRU) have been widely used in the field of knowledge tracing due to their strong sequence modeling capabilities. Programming knowledge tracing models based on recurrent neural networks use LSTM to directly learn students' practice sequences, automatically extracting dynamic changes in knowledge states. They have achieved superior predictive performance compared to Bayesian-based programming knowledge tracing models on various datasets. However, they do not consider key information such as the corresponding questions and knowledge points in the code.
[0063] A core characteristic of programming learning is its procedural nature, meaning students continually modify their code to correct errors as they solve problems. Consequently, some studies have attempted to assess knowledge acquisition by comparing the differences between student-submitted code and the correct answers. Edit distance, a common method for measuring code differences, is widely used to track programming knowledge. However, this method is also limited to a single student exercise and does not model the diverse range of student responses, resulting in a disconnect with real-world programming scenarios.
[0064] While existing programming knowledge tracking models have made progress in various areas, they generally suffer from a key limitation: they primarily focus on students' final programming results while ignoring the rich behavioral data generated during the learning process. This results in low accuracy in predicting learners' programming performance. Existing methods fail to consider dynamic information such as code modification history, compilation errors, and number of attempts during programming exercises, failing to fully reflect students' problem-solving strategies and ability development trajectories.
[0065] Figure 1 This is a flow chart of a programming knowledge tracking method based on enhanced solution capability provided by an embodiment of the present application, such as Figure 1 As shown, the programming knowledge tracing method based on enhanced solving capability includes: step 110, step 120 and step 130.
[0066] Step 110: Obtain student programming information, where the programming information includes programming questions, programming question concepts, student response information, and answer codes corresponding to the programming questions. The number of programming questions is a positive integer greater than 1.
[0067] It is easy to understand that the programming question concept is the knowledge point concept corresponding to the programming question, and the student response information is the student's response to the programming question.
[0068] Step 120: Perform perceptual coding based on the programming information, wherein the perceptual coding includes test question knowledge point joint coding, test question multi-association representation coding, and open code representation coding;
[0069] Furthermore, perceptual coding is performed based on programming information, and the knowledge points involved in programming test questions are jointly encoded to comprehensively consider the multiple knowledge point information contained in a single test question. Secondly, a programming test question representation is constructed, and multi-dimensional related information is integrated to obtain a more refined representation. Finally, the open data such as the answer code and comments corresponding to the programming test questions submitted by students are vectorized to enrich the feature representation of knowledge tracking. Perceptual coding includes joint coding of test question knowledge points, test question multi-related representation coding and open code representation coding.
[0070] (1) Joint coding of test questions and knowledge points: Joint coding of test questions and knowledge points is a method that uses question information to supplement concepts, thereby obtaining adjusted and amplified concept coding. Question-response information is obtained by embedding questions and responses, and concept-response information is obtained by embedding concepts and responses. Finally, the two types of information are input into a long-short-term memory network to obtain joint coding of knowledge points.
[0071] (2) Test question multi-association representation encoding: Test question multi-association representation encoding is a test question representation method based on attention network that includes multi-association representation of knowledge points, test questions, and difficulty. By calling the pyirt8 tool library maintained by the open source community to quantify the inherent difficulty attributes of each test question, K-Means is used to construct a test question difficulty stratification system. The test question-concept association is obtained by applying cross-attention to the test question and concept. The test question is input into the graph attention network to obtain the test question-test question association. The test question is weighted by attention difficulty to obtain the test question difficulty score information. Finally, the test question-concept association, test question-test question association, and test question difficulty score are weighted and summed to obtain the test question multi-association representation encoding.
[0072] (3) Open code representation encoding: Open code representation encoding is a method of converting code into a representation that can be understood and processed by computers. The two main steps of open code representation include data flow graph extraction and code representation based on GraphCodeBert. A data flow graph is a graph structure used to represent data dependencies in a program. First, the source code is subjected to lexical analysis and syntactic analysis to generate an abstract syntax tree. Based on the abstract syntax tree, data dependency analysis is performed to identify the dependencies between variables. Based on the results of the data dependency analysis, a data flow graph is constructed. Data flow information can reflect the execution logic of the code, but the code text still contains key information such as grammatical structure and problem-solving strategies. GraphCodeBERT makes up for this shortcoming. GraphCodeBERT uses bimodal input, including code text sequence and code structure information. After calculation through the Transformer layer, the context-aware embedding of the code can be obtained. By adjusting the attention mask matrix, the focus range between variables and code tags is limited to ensure that the model only focuses on semantically relevant data flow relationships.
[0073] Step 130: Input the perceptual code into a trained programming state model based on enhanced solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solving ability decoding module, a local solving ability positioning module, and a programming performance prediction module.
[0074] Finally, the perceptual encoding is input into the trained programming state model based on enhanced problem-solving ability to obtain the student's programming performance prediction results. The programming state model includes the following modules:
[0075] (1) Progressive knowledge updating module: By combining students' historical behaviors, including exercise sequence, response time, number of repetitions, and characteristics of the current programming task, the module dynamically adjusts students' knowledge mastery based on sequence modeling technology.
[0076] (2) Global problem-solving ability decoding module: Combining students’ multiple programming behaviors, it captures the long-range dependency between code features and behavior sequences through a spatiotemporal awareness attention mechanism, thereby modeling students’ programming abilities.
[0077] (3) Local problem-solving ability positioning module: Inspired by constructivist learning theory and following the principle of “active gain”, a dual-channel attention network is designed from the perspectives of acquisition and decay to simulate students’ cognitive laws in the problem-solving process. In addition, this module uses a recurrent neural network to capture the temporal evolution of problem-solving ability and short-term dependencies.
[0078] (4) Programming performance prediction module: The knowledge level of the student after the i-th learning interaction is obtained through the programming performance prediction module. Global solving capability gl t+1 and local solution capability lo t+1 ,The programming performance prediction module generates the final prediction results by ,jointly considering the knowledge level and solving ability and ,enhances the stability and consistency of solving ability modeling through ,mutual information loss constraints.
[0079] According to the programming knowledge tracking method based on enhanced problem-solving ability provided by the embodiment of the present application, by obtaining the student's programming information and inputting it into a trained programming state model, the student's programming performance prediction result is obtained by combining the progressive knowledge update module, the global problem-solving ability decoding module, the local problem-solving ability positioning module and the programming performance prediction module. The student's recent programming state is used for dynamic evaluation and prediction of future performance. The student's knowledge space is modeled through the progressive knowledge update module, and the problem-solving process information is effectively integrated from the global and local spatiotemporal dimensions. This improves the accuracy of the student's programming performance prediction, can provide students with personalized programming guidance, provide strong support for personalized education and problem design, and optimize teaching effects and learning experience.
[0080] In some embodiments, the joint coding of test question knowledge points includes:
[0081] Obtaining concept-response information based on programming test concepts and student response information;
[0082] Obtaining question-response information based on programming test questions and student response information;
[0083] The concept-response information and question-response information are input into a long short-term memory network to obtain a joint encoding of test question knowledge points.
[0084] It is easy to understand that for time step t, programming concept c t and student response information a t Embedded at the concept level to obtain concept-response information Programming test questions t and student response information a t Embedded at the question level, obtaining question-response information N is the size of the embedding vector.
[0085] Although it contains conceptual information, the information it provides is coarse. Therefore, in order to effectively capture the complex relationship between concepts and questions, a joint encoding is designed to supplement concepts with question information to obtain adjusted and amplified concept encoding. The joint encoding of test question knowledge points includes historical data encoding and dynamic test question state generation. The joint encoding of test question knowledge points focuses on encoding historical data from time step 1 to t. This data inherently carries sequential properties. To skillfully manage this temporal information, a long short-term memory network is used to generate a dynamic test question state. This state is encapsulated as historical information, namely the joint encoding of test question knowledge points. The calculation formula for the joint encoding of test question knowledge points is as follows:
[0086]
[0087] Among them, Q c Indicates the joint coding of test question knowledge points, Represents concept-response information, Indicates question-response information.
[0088] In this embodiment, by acquiring programming test concepts, programming test questions and student response information, concept-response information and question-response information are obtained, and input into the long short-term memory network for joint encoding of test question knowledge points. This can more accurately capture students' performance and mastery in the learning process, can more accurately capture students' response patterns to different programming concepts and questions, can more comprehensively and accurately evaluate students' mastery of programming knowledge, and enhance students' personalized performance.
[0089] In some embodiments, the multi-association representation encoding of the test question includes:
[0090] Input programming questions into the graph attention network to obtain question-question correlation;
[0091] Input the programming test questions into the multi-layer perceptron to obtain the difficulty score of the test questions;
[0092] Input the programming test questions and the knowledge points corresponding to the programming test questions into the dot product attention network to obtain the test question-knowledge point correlation;
[0093] The question-question correlation, question difficulty score and question-knowledge point correlation are fused to obtain a question multi-correlation representation code.
[0094] A K-Means clustering algorithm was used to construct a tiered difficulty system for test questions. Using a feature space partitioning method within an unsupervised learning framework, the programming test set was dynamically divided into five gradient levels: easy, relatively easy, moderate, relatively difficult, and difficult. During implementation, the optimal spatial distribution of cluster centroids was determined through iterative optimization, resulting in statistically significant differences in the difficulty of questions at each level within the interval [-2.33, 2.33] (p < 0.001). This ultimately resulted in a five-level difficulty spectrum with practical teaching guidance. The formula for calculating the difficulty score of each question is as follows:
[0095]
[0096] Among them, diff i Indicates the difficulty level that the K-Means algorithm classifies question i into, that is, the difficulty score of the question. Represents the difficulty vector of question i, u j Represents concept c j The center of mass, N(c j ) represents the number of test questions in the j-th concept category.
[0097] Since test questions usually involve multiple knowledge points, and different knowledge points have different degrees of influence on the test questions, the attention mechanism can be used to dynamically weight the knowledge point information of the test questions to make the test question representation more targeted. i The associated knowledge point set is K i ={k1,k2,…,k m}, score(e i ,c j ) uses dot product attention calculation to highlight knowledge points that are more relevant to the test questions. The calculation formula for the test question-knowledge point correlation is as follows:
[0098]
[0099] in, Indicates the correlation between test questions and knowledge points, α j Indicates score(e i ,c j )’s Softmax normalized weight, c j represents concept j, score(e i ,c j ) represents the attention score of test item j and concept j.
[0100] In addition to knowledge point associations, the similarity between test questions also influences the effectiveness of knowledge tracking. For example, test questions that examine the same knowledge point but have different presentations may have similar problem-solving strategies. Therefore, we construct a test question graph based on question-question similarity and model it using a graph attention network. This question representation automatically aggregates information from similar questions, improving the robustness of the representation. The formula for calculating question-question association is as follows:
[0101]
[0102] in, Indicates the question-question correlation, e i Represents the test question i vector, e j represents the adjacent question vector of question i vector, β ij is the attention weight of the adjacent question vector, W is the learnable transformation matrix, a is the attention parameter vector, and || represents the concatenation operation.
[0103] The difficulty of a test question is a key factor affecting the accuracy of knowledge tracking predictions. To incorporate difficulty information into the test question representation, it can be considered an additional feature of the test question and modeled in conjunction with attention weighting. The formula for calculating the test question difficulty score is as follows:
[0104]
[0105] Among them, diff i Indicates the difficulty score of the test question, f(diff i ) represents a multi-layer perceptron MLP, which is used to adjust the scale of the test question representation so that high-difficulty test questions have stronger discrimination when modeling. i represents the test question i vector, Indicates the difficulty score of the test question.
[0106] The multi-association representation encoding of the test questions is obtained by integrating the test question-knowledge point, test question-test question, and test question difficulty score information. The calculation formula is as follows:
[0107]
[0108] Among them, Q next represents the multi-association representation encoding of the test question, λ1, λ2, λ3 are adjustable hyperparameters used to balance the contribution of different factors, Indicates the correlation between test questions and knowledge points, Indicates the question-question correlation, Indicates the difficulty score of the test question.
[0109] In this embodiment, programming test questions are input into the graph attention network to obtain the test question-test question correlation, the test questions are input into the multi-layer perceptron to obtain the test question difficulty score, the programming test questions and the corresponding knowledge points are input into the dot product attention network to obtain the test question-knowledge point correlation, and this information is fused to obtain the test question multi-correlation representation encoding, which effectively improves the expression ability of the correlation between programming test questions and knowledge points. Through multi-dimensional joint encoding, it can more comprehensively reflect the students' programming learning situation, provide personalized guidance, and better improve students' programming ability.
[0110] In some embodiments, the open code representation encoding includes:
[0111] Obtain an abstract syntax tree from the answer code corresponding to the programming test question through the data flow graph;
[0112] Perform data dependency analysis based on the abstract syntax tree to obtain the structural characteristics of the solution code;
[0113] The answer code and the structural features of the answer code are input into the Graph Code BERT model to obtain an open code representation encoding.
[0114] It is easy to understand that in programming knowledge tracing, code representation is a key step in transforming diverse unstructured codes into machine-understandable forms. Open code representation coding includes data flow graph extraction and code representation based on GraphCodeBert.
[0115] A data flow graph is a graph structure used to represent data dependencies in a program. The purpose of data flow graph extraction is to extract data dependencies from the source code for subsequent code representation. Data flow graph extraction first performs lexical analysis and syntactic analysis on the source code to generate an AST (Abstract Syntax Tree). The AST is a tree representation of the source code that can reflect the structural information of the code. Based on the AST, data dependency analysis is performed to identify the dependencies between variables and obtain the structural characteristics of the solution code. Specifically, for each variable, its definition and usage locations are analyzed, and the dependencies between variables are established. Based on the results of the data dependency analysis, a data flow graph is constructed. The nodes in the data flow graph represent variables or operations, and the edges represent data dependencies.
[0116] While the structural features of the code can reflect the execution logic of the code, the code text still contains key information such as grammatical structure and problem-solving strategies. GraphCodeBERT addresses this shortcoming. GraphCodeBERT uses bimodal input, including code text sequences and code structure information. After calculations in the Transformer layer, a context-aware embedding of the code is obtained, namely the open code representation. The calculation formula for encoding the open code representation is as follows:
[0117]
[0118] Among them, z τ ∈R d represents the embedding representation of the τth source code, CLS is the start tag, SEP is used to separate different sequences, sc represents the source code sequence, w represents the corresponding comment text, and v is the structural feature of the answer code.
[0119] In this embodiment, the solution code corresponding to the programming test question is input into the data flow graph to obtain an abstract syntax tree, and data dependency analysis is performed based on the abstract syntax tree to obtain the structural characteristics of the solution code. The solution code and its structural characteristics are input into the Graph Code BERT model to obtain an open code representation encoding, which effectively improves the code comprehension ability of the programming test question. By combining the structural characteristics of the code with the data dependency relationship, the comprehensive evaluation of the student's code quality is enhanced.
[0120] In some embodiments, inputting the perceptual code into a constructed programming state model based on enhanced solving ability to obtain a student's programming performance prediction result includes:
[0121] Inputting the perceptual code into a progressive knowledge updating module to obtain the probability that the student will correctly respond to the programming test question;
[0122] Inputting the perceptual code into a global problem-solving ability decoding module to obtain the student's global programming ability;
[0123] Inputting the perceptual code into a local problem-solving ability positioning module to obtain the student's local problem-solving ability;
[0124] The possibility of the student correctly responding to the programming test question, the student's global programming ability and the student's local problem-solving ability are input into a programming performance prediction module to obtain the student's programming performance prediction result.
[0125] It is easy to understand that by capturing students' knowledge evolution, dynamic changes in abilities and problem-solving strategies in the process of solving programming problems, we can achieve fine-grained modeling of programming abilities. Figure 2is a structural diagram of a programming state model based on enhanced solving capability provided by an embodiment of the present application, such as Figure 2 As shown in the figure, the programming state model based on the enhanced solving ability includes a test question and knowledge point joint encoding module, whose main function is to use problem information to supplement concepts to obtain adjusted and amplified concept encoding, a test question multi-association representation module, whose main function is to construct a multi-association representation of test questions, knowledge points and difficulty, an open code representation module, whose main function is to convert the structure and semantic information of the code into a machine-understandable representation, a progressive knowledge update module, whose main function is to capture the dynamic changes of students' knowledge during programming practice, a global solving ability decoding module, whose main function is to capture the long-range dependency relationship between code features and behavior sequences, thereby modeling students' programming ability, a local solving ability positioning module, whose main function is to model the time evolution of solving ability on the basis of maintaining long sequence dependencies and focusing on key behavior interactions, and a programming performance prediction module, whose main function is to predict whether students can correctly answer the next programming question.
[0126] The progressive knowledge update module dynamically adjusts students' knowledge mastery based on sequence modeling technology by combining students' historical behaviors, including exercise sequence, response time, number of repetitions, and characteristics of the current programming task, and ultimately outputs a prediction of the probability that students will correctly respond to the problem.
[0127] For example, the progressive knowledge update module models the students' progressive knowledge evolution in three steps, from simple to complex, and from early to late stages. Constructivist learning theory believes that learning is an active process, and students use their existing knowledge and experience as a starting point for actively constructing new knowledge and experience. Therefore, the progressive knowledge update module continuously updates students' knowledge proficiency level based on their existing knowledge level according to time steps. Specifically, first, the historical information Q c and potential information Q next is decoded to construct each student's level of conceptual mastery at each time step where n c Indicates the number of concepts, L cj ∈[0, 1] represents the student's mastery level of the j-th concept over time, and the calculation formula is as follows:
[0128]
[0129] Among them, L c Indicates the level of mastery of concepts over time, σ is the sigmoid activation function, represents the concatenation operation, and MLP is a multi-layer perceptron.
[0130] Secondly, whether students can correctly answer questions depends not only on their mastery of the concepts but also on their understanding of the problem. Problem characteristics, such as difficulty and discrimination, also influence students' problem-solving. Therefore, to simulate the in-depth interaction between concepts and underlying problems during students' problem-solving, inspired by the classic 2PLM (two-parameter logistic model) in IRT, we uniquely integrate the degree of concept mastery and problem characteristics to obtain the student's problem-solving level. The calculation formula is as follows:
[0131]
[0132] α=σ(MLP α (q t+1 ))
[0133] β=σ(MLP β (q t+1 ))
[0134] in, It represents the student's ability to solve the j-th problem, MLP is a multi-layer perceptron, α j ∈[0,1] represents the discrimination of a specific problem under the j-th concept, L cj Indicates the mastery level of the j-th concept, β j ∈[0, 1] represents the difficulty of a specific problem under the j-th concept.
[0135] Finally, after determining their problem-solving strategy, students begin writing down their answers. The Progressive Knowledge Update module categorizes behaviors related to concept mastery into two types: guessing and missteps. By summing the probabilities of the two conditions, we can derive the probability that the student correctly responded to the question. The calculation formula for the Progressive Knowledge Update module is as follows:
[0136]
[0137] L a =L q *(1-S)+(1-L q )*G
[0138]
[0139] in, represents the probability that the student will correctly respond to the programming test question at time t+1, L a It indicates students’ actual problem-solving ability considering guesses and mistakes when doing problems. t+1 represents the t+1th predicted question, S indicates that although the student was able to solve the problem, he answered a question incorrectly, G indicates when the student guessed correctly but did not solve the problem correctly, σ is the sigmoid activation function, N is the sequence length, and Qc represents the joint coding of test knowledge points, Q next Represents the multi-association representation of the test question.
[0140] The global problem-solving ability decoding module combines students' multiple programming behaviors and captures the long-range dependencies between code features and behavior sequences through a spatiotemporal awareness attention mechanism, thereby outputting students' global programming ability.
[0141] First, the code-response interaction data contains the student’s answer information for the current test question, including source code, answer accuracy, answer comments, etc. In the source code representation sequence [z1, z2,…, z i-1 ] Based on the student response, the code-response interaction embedding sequence is obtained The calculation formula is as follows:
[0142]
[0143] in, It is represented as a single code-response interaction embedding, where 0 = [0, 0, ... 0] represents a zero feature vector, and its dimension is the same as the question embedding z at time i. i The same, both are d. Represents the splicing operation. If the student correctly answers the test question z at time i i , that is, r i =1, then the zero vector is spliced into the test embedding z i Otherwise, the zero vector is spliced to the question embedding z i in front of.
[0144] To fully capture useful information about programming ability from code-response interaction sequences, a global attention mechanism is used in the global problem-solving ability decoding module. This is because the global attention mechanism focuses differently on different words in code and text data. Programming exam code is complex, specialized, and logically structured, and key statements in the code of programming exam answers reflect a student's programming proficiency. Therefore, the attention mechanism dynamically focuses on long-term impacts across time steps. Furthermore, students' problem-solving ability is nonlinear and can show jumps in growth. The self-attention mechanism dynamically focuses on key points and assigns higher weights to key interactions, enabling more accurate modeling of students' problem-solving ability.
[0145] Specifically, the code-response sequence As the query, key and value vector space of the self-attention network, the attention score is calculated and weighted summed with the value vector space. The global solving ability gl is obtained by comprehensively considering the different effects of the previous behavior sequence on the student's solving ability at the current moment. i , the calculation formula is as follows:
[0146]
[0147] MHSA(Y)=Concat(H1,H2,…,H h )W o
[0148]
[0149] Among them, gl i The student’s global solution ability after the i-th interaction, Y∈R n×d represents a code-response interaction sequence, n is the sequence length, and d is the embedding dimension; is the query, key, and value projection matrix of the i-th head, h is the number of attention heads, and W o ∈R d×d is the output projection matrix.
[0150] The local problem-solving ability positioning module simulates students' cognitive laws in problem solving and captures the temporal evolution and short-term dependence of problem-solving ability through a dual-channel attention network and a recurrent neural network, and finally outputs the students' local problem-solving ability.
[0151] first, Figure 3 This is a schematic diagram of the structure of the dual-channel attention network provided by the embodiment of the present application. Figure 3 As shown in the figure, the code-response interaction sequence Y is mapped into the query, key, and value vector space of the dual-channel attention network. Then, the question difficulty term λ, the practice gain parameter term γ, and the forgetting decay parameter term θ are introduced, and the scaled dot product method is used to obtain the attention score. The weighted sum of the corresponding attention score and the value matrix is used to focus on remote important interactions, simulating the cognitive laws of students in the problem-solving process. The calculation formula of the student's knowledge level is as follows:
[0152]
[0153] in, represents the student's knowledge level after the i-th interaction, α local express The normalization coefficient of Softmax, represents the attention score based on forgetting and practice gain at time j∈[1,t], d represents the embedding dimension, W Q ∈R d ×d 、W K ∈R 2d×d 、W V ∈R 2d×dare the mapping matrices of query, key, and value respectively, θ is the parameter to be trained by the model, λ is a scalar indicating the difficulty of the test question, γ represents the practice gain parameter, and θ represents the forgetting decay parameter.
[0154] The dual-channel influence network scientifically optimizes weight distribution based on cognitive laws, locates key interactions and outputs vectors Next, in order to follow the temporal properties of the code-response interaction sequence, a recursive structure is used to store and update the student's learning state, modeling the evolution of the student's local ability over time. Finally, the performance of the model is enhanced by residual connections, layer normalization ensures stability and accelerates convergence, and the local solution capability vector lo is obtained. i The calculation formula of local solving ability is as follows:
[0155]
[0156] Among them, lo i represents the local solving capability vector, Indicates the student's partial ability, residual(·) is LayerNorm(·) is the residual transformation of the result, h0 is the initial hidden state of the recurrent neural network, which is usually set to a zero vector.
[0157] In this embodiment, perceptual coding is fed into a progressive knowledge updating module, a global solving ability decoding module, and a local solving ability positioning module, combined with the student's probability of correct response in programming tests, global programming ability, and local solving ability, to generate a prediction of the student's programming performance. By leveraging mechanisms such as progressive knowledge updating, global solving ability decoding, and local solving ability positioning, the dynamic evolution of the student's problem-solving process is dynamically modeled. This better captures the dynamic changes in knowledge during programming practice, as well as the long-range and short-range dependencies between code features and behavioral sequences. This further improves the predictive accuracy of the programming state model, providing a more accurate learning state assessment method for programming education.
[0158] In some embodiments, inputting the likelihood of the student correctly responding to the programming test question, the student's global programming ability, and the student's local problem-solving ability into a programming performance prediction module to obtain a student programming performance prediction result includes:
[0159] Obtaining the student's overall problem-solving ability based on the student's global programming ability and the student's local problem-solving ability;
[0160] Based on the likelihood of the student correctly responding to the programming test question and the student's overall problem-solving ability, a prediction result of the student's programming performance is obtained.
[0161] It is easy to understand that in order to obtain students' comprehensive and reliable programming problem-solving ability, the mutual information between the problem-solving abilities extracted by two different methods is calculated to improve the stability and refinement of the problem-solving ability. Based on the global and local problem-solving abilities, the student's total problem-solving ability SA is calculated. t+1 , to ensure the effective integration of the two ability information in the modeling process, the calculation formula of the student's total problem-solving ability is as follows:
[0162]
[0163] Among them, SA t+1 Represents the student's overall problem-solving ability status at time t+1.
[0164] Finally, we calculate the knowledge mastery status prediction and the problem-solving ability status prediction. The model's prediction depends on programming knowledge and problem-solving ability. By continuously adjusting the trainable parameter α during the training process for weighted fusion, the calculation formula for the student's programming performance prediction result is as follows:
[0165]
[0166] in, represents the probability prediction of the student answering the question correctly at time t+1, represents the knowledge mastery status prediction, represents the prediction of the solving capability state, Q next represents the multi-correlation representation of the test question, FFN(·) is the linear transformation function, α is the trainable parameter, σ is the sigmoid activation function, and W * ∈R d 、b * ∈R are weight and bias terms respectively.
[0167] In this example, the student's likelihood of correctly responding to programming questions, their global programming ability, and their local problem-solving ability are input into the programming performance prediction module, and combined with their overall problem-solving ability to generate a prediction of their programming performance. This approach, based on both global and local perspectives, not only focuses on important local interactions but also establishes long-term dependencies to preserve complete trends in ability change. This effectively enhances the comprehensive assessment of students' programming abilities. By analyzing their global and local problem-solving abilities, it enables more accurate predictions of their programming performance, characterizing the individual heterogeneity of programming learners at multiple levels and improving the accuracy of programming knowledge tracking and prediction.
[0168] In some embodiments, the training process of the programming state model based on the enhanced solver capability includes:
[0169] Build a programming state model with presets based on enhanced solver capabilities;
[0170] Obtain programming information of different students as a dataset;
[0171] Based on the loss function, a preset programming state model based on enhanced solving capability is trained according to the data set to obtain the programming state model based on enhanced solving capability, wherein the loss function is constructed based on a binary cross entropy loss function and a mutual information loss function.
[0172] It should be noted that the loss function consists of binary cross entropy loss and mutual information loss. First, the model prediction result is minimized. and students' real responses t The binary cross entropy loss between them is used to continuously train and optimize the various parameters of the model until the loss value converges. During the model training process, the model parameters are updated by backpropagating the loss. The calculation formula of the binary cross entropy loss function is as follows:
[0173]
[0174] Among them, r t represents the true label at time t, represents the predicted positive probability at time t, is the binary cross entropy loss function.
[0175] In order to enhance the stability of the solving ability, the mutual information loss between the global and local solving abilities is calculated during the model training process to continuously optimize the model parameters and reduce redundant information. The calculation formula of the mutual information loss function is as follows:
[0176]
[0177] Among them, (gl i ,lo i ) is a positive sample pair, obeying the joint distribution P(gl i ,lo i ) sampling, (gl′ i ,lo i ) is a negative sample pair, where gl′ i It is a disrupted gl i , obeys the marginal distribution P(gl i )P(lo i )sampling, is the mutual information loss function.
[0178] The loss function is the weighted sum of binary cross entropy loss and mutual information loss. The calculation formula of the loss function is as follows:
[0179]
[0180] Among them, λ is a hyperparameter used to control the weight of mutual information loss. is the loss function.
[0181] In this embodiment, by constructing a preset programming state model based on enhanced solving ability, obtaining programming information of different students as a data set, and combining the binary cross entropy loss function and the mutual information loss function for training, the accuracy and predictive ability of the programming state model are effectively improved. By adding the mutual information loss constraint, the stability and consistency of the solving ability modeling are enhanced, which can more accurately evaluate the performance of students in the programming learning process, and improve the model's sensitivity to students' programming ability and predictive accuracy.
[0182] The programming knowledge tracking method based on enhanced solution-solving capability provided in the embodiments of the present application can be executed by a programming knowledge tracking device based on enhanced solution-solving capability. In the embodiments of the present application, the programming knowledge tracking method based on enhanced solution-solving capability is executed by a programming knowledge tracking device based on enhanced solution-solving capability as an example to illustrate the programming knowledge tracking device based on enhanced solution-solving capability provided in the embodiments of the present application.
[0183] The embodiment of the present application also provides a programming knowledge tracking device based on enhanced solution capability, such as Figure 4 As shown, the programming knowledge tracking device based on enhanced solving capability includes: an acquisition module 410 , an encoding module 420 and a prediction module 430 .
[0184] An acquisition module 410 is configured to acquire student programming information, wherein the programming information includes programming questions, programming question concepts, student response information, and solution codes corresponding to the programming questions, wherein the number of programming questions is a positive integer greater than 1;
[0185] An encoding module 420 is configured to perform perceptual encoding based on the programming information, wherein the perceptual encoding includes test question knowledge point joint encoding, test question multi-association representation encoding, and open code representation encoding;
[0186] The prediction module 430 is used to input the perceptual coding into a trained programming state model based on enhanced solution-solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solution-solving ability decoding module, a local solution-solving ability positioning module, and a programming performance prediction module.
[0187] According to the programming knowledge tracking method based on enhanced problem-solving ability provided by the embodiment of the present application, by obtaining the student's programming information and inputting it into a trained programming state model, the student's programming performance prediction result is obtained by combining the progressive knowledge update module, the global problem-solving ability decoding module, the local problem-solving ability positioning module and the programming performance prediction module. The student's recent programming state is used for dynamic evaluation and prediction of future performance. The student's knowledge space is modeled through the progressive knowledge update module, and the problem-solving process information is effectively integrated from the global and local spatiotemporal dimensions. This improves the accuracy of the student's programming performance prediction, can provide students with personalized programming guidance, provide strong support for personalized education and problem design, and optimize teaching effects and learning experience.
[0188] The programming knowledge tracking device based on the enhanced solving ability provided by the embodiment of the present application can achieve Figures 1 to 3 To avoid repetition, the various processes implemented in the embodiment of the programming knowledge tracking method based on enhanced solving ability are not described here.
[0189] In some embodiments, as Figure 5 As shown, an embodiment of the present application further provides an electronic device 500, comprising a processor 501, a memory 502, and a computer program stored in the memory 502 and executable on the processor 501. When the program is executed by the processor 501, the various processes of the above-mentioned embodiment of the programming knowledge tracking method based on enhanced solving capability are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0190] It should be noted that the electronic devices in the embodiments of the present application include the mobile electronic devices and non-mobile electronic devices mentioned above.
[0191] An embodiment of the present application also provides a non-transitory computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the various processes of the above-mentioned embodiment of the programming knowledge tracking method based on enhanced solution capability, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0192] The processor is the processor in the electronic device in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0193] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the above-mentioned programming knowledge tracking method based on enhanced solution capability.
[0194] The processor is the processor in the electronic device in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0195] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, which is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-mentioned embodiment of the programming knowledge tracking method based on enhanced solving capability, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0196] It should be understood that the chip mentioned in the embodiments of the present application can also be called a device-level chip, a device chip, a chip device, or an on-chip device chip, etc.
[0197] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, it should be noted that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the opposite order according to the functions involved. For example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0198] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, or network device, etc.) to execute the programming knowledge tracking method based on enhanced solution capability of each embodiment of the present application.
[0199] In the description of this application, "first feature" and "second feature" may include one or more such features.
[0200] In the description of this application, “plurality” means two or more.
[0201] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.
[0202] Throughout this specification, reference to terms such as "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
[0203] Although the embodiments of the present application have been shown and described, those skilled in the art will appreciate that various changes, modifications, substitutions, and variations may be made to the embodiments without departing from the principles and intent of the present application, and that the scope of the present application is defined by the claims and their equivalents.
Claims
1. A programming knowledge tracking method based on enhanced solving capability, characterized in that: The method comprises: Obtaining student programming information, the programming information including programming questions, programming question concepts, student response information, and answer codes corresponding to the programming questions, where the number of programming questions is a positive integer greater than 1; Performing perceptual coding based on the programming information, wherein the perceptual coding includes test question knowledge point joint coding, test question multi-association representation coding, and open code representation coding; The perceptual coding is input into a trained programming state model based on enhanced solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solving ability decoding module, a local solving ability positioning module and a programming performance prediction module.
2. The programming knowledge tracing method based on enhanced solving capability according to claim 1, characterized in that: The joint coding of the test question knowledge points includes: Obtaining concept-response information based on programming test concepts and student response information; Obtaining question-response information based on programming test questions and student response information; The concept-response information and question-response information are input into a long short-term memory network to obtain a joint encoding of test question knowledge points.
3. The programming knowledge tracing method based on enhanced solving capability according to claim 1, characterized in that: The test question multi-association representation coding includes: Input programming questions into the graph attention network to obtain question-question correlation; Input the programming test questions into the multi-layer perceptron to obtain the difficulty score of the test questions; Input the programming test questions and the knowledge points corresponding to the programming test questions into the dot product attention network to obtain the test question-knowledge point correlation; The question-question correlation, question difficulty score and question-knowledge point correlation are fused to obtain a question multi-correlation representation code.
4. The programming knowledge tracing method based on enhanced solving capability according to claim 1, characterized in that: The open code representation coding includes: Obtain an abstract syntax tree from the answer code corresponding to the programming test question through the data flow graph; Perform data dependency analysis based on the abstract syntax tree to obtain the structural characteristics of the solution code; The answer code and the structural features of the answer code are input into the Graph Code BERT model to obtain an open code representation encoding.
5. The programming knowledge tracing method based on enhanced solving capability according to claim 1, characterized in that: Inputting the perceptual code into the constructed programming state model based on enhanced solving ability to obtain the student's programming performance prediction result includes: Inputting the perceptual code into a progressive knowledge updating module to obtain the probability that the student will correctly respond to the programming test question; Inputting the perceptual code into a global problem-solving ability decoding module to obtain the student's global programming ability; Inputting the perceptual code into a local problem-solving ability positioning module to obtain the student's local problem-solving ability; The possibility of the student correctly responding to the programming test question, the student's global programming ability and the student's local problem-solving ability are input into a programming performance prediction module to obtain the student's programming performance prediction result.
6. The programming knowledge tracing method based on enhanced solving capability according to claim 5, characterized in that: The possibility of the student correctly responding to the programming test question, the student's global programming ability, and the student's local problem-solving ability are input into the programming performance prediction module to obtain the student's programming performance prediction result, including: Obtaining the student's overall problem-solving ability based on the student's global programming ability and the student's local problem-solving ability; Based on the likelihood of the student correctly responding to the programming test question and the student's overall problem-solving ability, a prediction result of the student's programming performance is obtained.
7. The programming knowledge tracing method based on enhanced solving capability according to claim 1, characterized in that: The training process of the programming state model based on the enhanced solving capability includes: Build a programming state model with presets based on enhanced solver capabilities; Obtain programming information of different students as a dataset; Based on the loss function, a preset programming state model based on enhanced solving capability is trained according to the data set to obtain the programming state model based on enhanced solving capability, wherein the loss function is constructed based on a binary cross entropy loss function and a mutual information loss function.
8. A programming knowledge tracking device based on enhanced solution-solving capability, implemented by the programming knowledge tracking method based on enhanced solution-solving capability according to any one of claims 1 to 7, characterized in that: The device comprises: an acquisition module, configured to acquire student programming information, wherein the programming information includes programming questions, programming question concepts, student response information, and answer codes corresponding to the programming questions, wherein the number of the programming questions is a positive integer greater than 1; An encoding module, configured to perform perceptual encoding based on the programming information, wherein the perceptual encoding includes test question knowledge point joint encoding, test question multi-association representation encoding, and open code representation encoding; A prediction module is used to input the perceptual coding into a trained programming state model based on enhanced solving ability to obtain a student's programming performance prediction result. The programming state model includes a progressive knowledge update module, a global solving ability decoding module, a local solving ability positioning module and a programming performance prediction module.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the programming knowledge tracing method based on enhanced solving capability according to any one of claims 1 to 7 is implemented.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the programming knowledge tracing method based on enhanced solution capability according to any one of claims 1 to 7 is implemented.