Insight type intelligent tutoring method, system and equipment for programming learning and medium
By collecting multimodal behavioral data in real time and combining it with learner state models, the system identifies deadlocks in programming learning, generates proactive intervention strategies, solves the problem that existing systems cannot proactively understand learners' difficulties, and improves learning efficiency and motivation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-27
- Publication Date
- 2026-03-13
AI Technical Summary
Existing programming learning support systems fail to proactively identify potential learning impasses that learners are stuck in, leading to prolonged periods of stagnation, accumulated frustration, and low learning efficiency.
By collecting learners' multimodal behavioral data in the programming environment in real time, and combining domain knowledge and learner state models, we can identify learning deadlocks and generate intervention strategies. We can also proactively generate intervention information related to learners' programming information to help them break through the deadlock.
It achieves a shift from passive response to proactive intervention, supports early intervention, reduces learning frustration, cultivates learners' ability to independently identify problems, possesses adaptive and evolutionary capabilities, and improves learning efficiency and motivation.
Smart Images

Figure CN121661895A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer-aided education technology, and in particular to an insightful intelligent tutoring method and system for programming learning. Background Technology
[0002] Programming is a core skill in computer science education. However, beginners often encounter difficulties due to abstract concepts and complex logic. While existing online learning platforms and tools offer abundant resources, they are passively provided rather than actively guided in terms of resource usage.
[0003] Traditional Intelligent Tutoring Systems (ITS) attempt to simulate human tutors, but they are limited by their inability to perceive changes in the learner's learning process and thus struggle to deeply understand the learner's subtle cognitive progress. In recent years, the application of Large Language Models (LLMs) has offered new possibilities for tutoring programming learning; these models can understand code, generate explanations, and engage in dialogue. However, most current LLM-based tutoring tools remain essentially "passive," meaning they only respond when learners explicitly ask questions or submit code for evaluation.
[0004] This passive model has a significant drawback: it misses the crucial opportunity to intervene when learners are initially struggling. When learners hesitate, repeatedly make ineffective minor code modifications, or stray further down the wrong path, the passive system cannot detect or intervene, potentially causing learners to remain stuck for extended periods, leading to accumulated frustration, severely impacting learning efficiency, and ultimately weakening learning motivation.
[0005] Therefore, there is an urgent need in this field for a new programming learning support technology that can shift from passive response to proactive insight in order to address the technical pain point of existing technologies that cannot anticipate and intervene in learning deadlocks in advance.
[0006] In view of this, the present invention is hereby proposed. Summary of the Invention
[0007] The purpose of this invention is to provide an insightful intelligent tutoring method, system, device, and medium for programming learning. This method proactively senses learners' behavioral patterns and analyzes their learning status in real time. Upon identifying a potential learning impasse, it proactively initiates interactive guidance—a key feature of the insightful intelligent tutoring model. This model helps enhance learners' ability to independently identify and solve problems, thereby addressing the limitations of existing programming learning support systems that often rely on passive responses.
[0008] The objective of this invention is achieved through the following technical solution: An insightful intelligent tutoring approach for programming learning, comprising: Step 1: Collect learners' multimodal behavioral data in the programming environment in real time; Step 2: Based on the multimodal behavioral data collected in real time in Step 1 and combined with domain knowledge, use the learner state model to analyze the learner's behavioral patterns and determine whether the learner is in a learning deadlock state. If so, proceed to Step 3; otherwise, proceed to Step 1. Step 3: If it is determined that the learner is in a learning impasse, an intervention strategy is generated. Step 4: Based on the intervention strategy generated in Step 3, proactively generate intervention information related to the learning context of the learner who is in a learning impasse and present it to the learner to help the learner break through the learning impasse.
[0009] An insightful intelligent tutoring system for programming learning, used to implement the method described in this invention, includes: The module comprises a perception module, a thinking and decision-making module, and an action and interaction module; among which, The module comprises a perception module, a thinking and decision-making module, and an action and interaction module; among which, The perception module can collect learners' multimodal behavioral data in the programming environment in real time; The thinking and decision-making module is communicatively connected to the perception module. It can receive multimodal behavioral data collected by the perception module and combine domain knowledge with the learner state model to analyze the learner's behavioral patterns, determine whether the learner is in a learning deadlock state, and generate an intervention strategy when it is determined that the learner is in a learning deadlock state. The action and interaction module is communicatively connected to the thinking and decision-making module. When the thinking and decision-making module determines that the learner is in a learning impasse, it can proactively generate intervention information related to the learner's programming information context based on the intervention strategy generated by the thinking and decision-making module and present it to the learner to help the learner break through the learning impasse.
[0010] A processing apparatus, comprising:
[0011] At least one memory for storing one or more programs;
[0012] At least one processor is capable of executing one or more programs stored in the memory, such that when the processor executes one or more programs, the processor can implement the method of the present invention.
[0013] A readable storage medium storing a computer program that, when executed by a processor, enables the implementation of the methods described in this invention.
[0014] Compared with existing technologies, the insightful intelligent tutoring method, system, device, and medium for programming learning provided by this invention have the following beneficial effects: (1) A paradigm shift from passive to active has been achieved: By collecting multimodal behavioral data of learners in the programming environment in real time and combining it with domain knowledge, behavioral pattern analysis based on learner state model can proactively identify whether learners are in learning difficulties, rather than passively waiting for help, thus achieving real-time protection of the learning process.
[0015] (2) Support early intervention and reduce learning frustration: By analyzing learners’ behavior patterns in real time, it is possible to intervene in time before learners fall into deep confusion, effectively maintaining learners’ flow state and learning motivation.
[0016] (3) Emphasize process guidance and cultivate metacognitive ability: The focus of the intervention is to guide learners to reflect on their cognitive process, that is, how to think, rather than just correcting the code result, that is, what it is, which helps to cultivate learners' ability to discover and solve problems independently.
[0017] (4) Possessing adaptive and evolutionary capabilities: Through reflection and learning steps, it can learn from past intervention experiences, continuously optimize the accuracy of its insights and the effectiveness of its guidance, and achieve personalized and adaptive teaching. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 A flowchart illustrating an insightful intelligent tutoring method for programming learning provided in an embodiment of the present invention.
[0020] Figure 2 This is a schematic diagram of the architecture of an insightful intelligent tutoring system for programming learning provided in an embodiment of the present invention.
[0021] Figure 3 The flowchart illustrates the specific processing steps of the insightful intelligent tutoring system for programming learning provided in this embodiment of the invention. Detailed Implementation
[0022] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the specific content of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments, which do not constitute a limitation of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of the present invention.
[0023] First, the following explanations are provided for the terms that may be used in this article: The term "and / or" means that either or both can be achieved simultaneously. For example, X and / or Y means that it includes both "X" or "Y" as well as the three cases of "X and Y".
[0024] The terms "comprising," "including," "containing," "having," or other similar semantic descriptions should be interpreted as non-exclusive inclusion. For example, including a technical feature element (such as raw material, component, ingredient, carrier, dosage form, material, size, part, component, mechanism, device, step, process, method, reaction conditions, processing conditions, parameter, algorithm, signal, data, product or article of manufacture, etc.) should be interpreted as including not only the expressly listed technical feature element, but also other technical feature elements that are not expressly listed and are well-known in the art.
[0025] The term "composed of" excludes any technical features not expressly listed. When used in a claim, it closes the claim to exclude all technical features other than those expressly listed, except for associated conventional impurities. If the term appears only in a clause of a claim, it limits the claim to the elements expressly listed in that clause; elements recited in other clauses are not excluded from the overall claim.
[0026] Unless otherwise explicitly specified or limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this document according to the specific circumstances.
[0027] The terms “center,” “longitudinal,” “lateral,” “length,” “width,” “thickness,” “upper,” “lower,” “front,” “back,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inner,” “outer,” “clockwise,” and “counterclockwise” indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience and simplification of description and do not imply that the device or component referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this document.
[0028] The solution provided by this invention will be described in detail below. Contents not described in detail in the embodiments of this invention are prior art known to those skilled in the art. Where specific conditions are not specified in the embodiments of this invention, they shall be performed according to conventional conditions in the art or conditions recommended by the manufacturer. Reagents or instruments used in the embodiments of this invention whose manufacturers are not specified are all conventional products that can be purchased commercially.
[0029] like Figure 1 As shown, this invention provides an insightful intelligent tutoring method for programming learning, comprising: Step 1: Collect learners' multimodal behavioral data in the programming environment in real time; Step 2: Based on the multimodal behavioral data collected in real time in Step 1 and combined with domain knowledge, use the learner state model to analyze the learner's behavioral patterns and determine whether the learner is in a learning impasse. If so, proceed to Step 3; otherwise, repeat Step 1 until the tutoring session is completed. Step 3: If it is determined that the learner is in a learning impasse, an intervention strategy is generated. Step 4: Based on the intervention strategy generated in Step 3, proactively generate intervention information related to the learning context of the learner who is in a learning impasse and present it to the learner to help the learner break through the learning impasse.
[0030] Preferably, in the above method, the multimodal behavioral data includes one or more of the following: code editing data, code execution result data, interaction data, and operation time data.
[0031] Preferably, in step 2 of the above method, behavioral pattern analysis is performed using a predefined learner state model to determine whether the learner is in a learning impasse, including: A learning impasse can be identified by detecting at least one of the following behavioral patterns: recurring patterns of the same type of error, frequent and ineffective code modification patterns, prolonged stagnation at key problem-solving junctures, and patterns where the code implementation path deviates significantly from the preset standard path.
[0032] Preferably, in step 2 of the above method, the generated intervention strategy includes: the timing of the intervention, the form of the intervention, and the type of intervention content.
[0033] Preferably, in step 4 of the above method, the intervention information is a heuristic question generated by invoking a large language model and combining the learner's current code and the learning deadlock state.
[0034] Preferably, the above method further includes: Step 5: Evaluate the changes in learner behavior after presenting the intervention information to determine the intervention effect; Step 6: Update the learner state model based on the intervention effect.
[0035] The learner state model used in the above method is a dynamic judgment mechanism model that combines real-time analysis with the finite state machine of the thinking and decision-making module. Its core lies in structuring and regularizing the judgment process of the learner state, thereby achieving stable, interpretable, and efficient deadlock identification. Specifically, this learner state model includes a real-time progress analysis submodule and a state update submodule. The real-time progress analysis submodule, in conjunction with the finite state machine of the thinking and decision-making module, achieves two collaborative working stages: (1) The real-time progress analysis submodule continuously compares the learner's current code with the standard problem-solving steps stored in the memory and knowledge modules to output a preliminary, coarse-grained status signal. This comparison can be done through static code analysis, abstract syntax tree (AST) comparison, or by calling an auxiliary large language model (LLM), such as "code has a compilation error", "logic deviates from step three", "progressing normally", etc. (2) The finite state machine of the thinking and decision-making module communicates with the real-time progress analysis submodule: Taking the initial coarse-grained state signal output by the real-time progress analysis submodule as input, the coarse-grained state signal is decomposed, features are extracted and semantics are enhanced through the multi-dimensional state refinement rules and dynamic decision-making logic built into the finite state machine (FSM) to generate a refined fine-grained state signal. This fine-grained state signal can accurately locate the core of the problem (such as "the compilation error is due to a syntax mismatch: missing semicolon", "the core reason for the logical deviation from step three: incorrect setting of loop boundary conditions", "subtask two that is progressing normally and is currently in step three: implementation of the data preprocessing module"). At the same time, the finite state machine completes adaptive state transition based on the fine-grained state signal, and dynamically adjusts the decision threshold by combining the learner's historical behavior profile and the task difficulty coefficient. It becomes the final decision-maker for judging the learning deadlock (such as three consecutive fine-grained signals pointing to the same type of logical error and no correction trend), triggering the intervention time and selecting the intervention strategy. (3) The state update submodule is connected to the reflection and learning module and can update the learner state model according to the intervention results determined by the reflection and learning module.
[0036] like Figure 2 As shown, embodiments of the present invention also provide an insightful intelligent tutoring system for programming learning, used to implement the above-described method, comprising: The module comprises a perception module, a thinking and decision-making module, and an action and interaction module; among which, The perception module can collect learners' multimodal behavioral data in the programming environment in real time; The thinking and decision-making module is communicatively connected to the perception module. It can receive multimodal behavioral data collected by the perception module and combine domain knowledge with a predefined learner state model to analyze the learner's behavioral patterns, determine whether the learner is in a learning deadlock state, and generate an intervention strategy when the learner is determined to be in a learning deadlock state. The action and interaction module is communicatively connected to the thinking and decision-making module. When the thinking and decision-making module determines that the learner is in a learning impasse, it can proactively generate intervention information related to the learner's programming information context based on the intervention strategy generated by the thinking and decision-making module and present it to the learner to help the learner break through the learning impasse.
[0037] Preferably, the system further includes: a memory and knowledge module, which is communicatively connected to the thinking and decision-making module, and is capable of storing domain knowledge and the learner state model, providing support for the thinking and decision-making module to perform behavioral pattern analysis on the learner and determine whether the learner is in a learning deadlock state.
[0038] Preferably, the system further includes a reflection and learning module, which is communicatively connected to the action and interaction module and the thinking and decision-making module, respectively. This module is capable of evaluating changes in the learner's behavior after the intervention information is presented to determine the intervention effect, and updating and optimizing the learner's state model based on the intervention results.
[0039] Preferably, in the above system, the multimodal behavioral data includes one or more of the following: code editing data, code execution result data, interaction data, and operation time data; The thinking and decision-making module uses a predefined learner state model to analyze the learner's behavioral patterns and determine whether the learner is in a learning impasse, including: Whether a learner is in a learning impasse is determined by detecting at least one of the following behavioral patterns: recurring patterns of the same type of error, high-frequency and ineffective code modification patterns, prolonged stagnation at key problem-solving nodes, and patterns where the code implementation path deviates significantly from the preset standard path.
[0040] The intervention strategies generated by the thinking and decision-making module include: the timing of the intervention, the form of the intervention, and the type of intervention content; The action and interaction module, based on the intervention strategy generated by the thinking and decision-making module, interacts by calling a large language model and generates heuristic questions as intervention information by combining the learner's current code and the current learning impasse.
[0041] The present invention further provides a processing apparatus, comprising: At least one memory for storing one or more programs; At least one processor is capable of executing one or more programs stored in the memory, such that when the processor executes one or more programs, the processor can implement the methods described above.
[0042] The present invention also provides a readable storage medium storing a computer program that, when executed by a processor, can implement the above-described method.
[0043] To more clearly demonstrate the technical solution and its effects provided by the present invention, the following detailed description of the solution provided by the embodiments of the present invention is provided with reference to specific examples.
[0044] Example 1 like Figure 1 As shown, this embodiment provides an insightful intelligent tutoring method for programming learning, which is a proactive insight tutoring method for programming learning based on hierarchical intelligent agents. The method includes the following steps: Step 1, Perception Step: Real-time collection of learners' multimodal behavioral data in the programming environment; Step 2, Analyze and decide: Combine the domain knowledge in the domain knowledge base, analyze the multimodal behavioral data in real time through the learner state model, and determine whether the learner is in a learning deadlock state. If the learner is determined to be in a learning deadlock state, generate an intervention strategy. Step 3, Active Intervention Step: Based on the intervention strategy obtained in Step 2, actively generate intervention information related to the learner's programming information context and present it to the learner to help the learner break through the learning deadlock.
[0045] Furthermore, the method also includes step 4 after step 3: a reflective learning step: evaluating the intervention effect of the intervention information on the learner's subsequent behavior, and updating the learner's state model according to the intervention effect.
[0046] Example 2 Reference Figure 2 This embodiment provides an insightful intelligent tutoring system for programming learning. It is a proactive insight-based tutoring system for programming learning based on hierarchical intelligent agents, and can be deployed in a typical client-server architecture. The client is a web application providing an online programming environment; the server carries the core intelligent agent logic of this invention.
[0047] The system includes: a perception module, a memory and knowledge module, a thinking and decision-making module, an action and interaction module, and a reflection and learning module; among them, The perception module, serving as the system's data input, is responsible for comprehensively and in real-time collecting learners' multimodal behavioral data through a front-end event listener and a back-end log service. In this embodiment, this data specifically includes: Code editing data: By listening to change events in the code editor (such as Monaco Editor), the system obtains records of additions, deletions, and modifications to the learner's code. This can be captured through code version differences (diff).
[0048] Execution and Error Data: Capture the learner's action of clicking the "Run" or "Submit" button, and record the returned compilation errors, runtime error messages, and the pass / fail status of preset test cases.
[0049] User interaction data: Records learners' interactions with the user interface (UI), such as the number of times they view prompts, their historical conversations with the AI teaching assistant, and mouse hovering over specific UI elements.
[0050] Time data: Calculate and record the learner's inactivity time between two effective code edits, the time spent solving specific steps, etc.
[0051] The Memory and Knowledge module serves as the system's persistent storage and knowledge hub. It stores relevant data in databases (such as SQLite and PostgreSQL) and files, and provides this data to the Thinking and Decision-Making module as needed. This module primarily handles the persistent storage and management of data, which is then invoked by the Thinking and Decision-Making module during runtime. It is responsible for storing and managing two core types of data: Domain Knowledge Base: Stores structured knowledge related to programming problems. For example, for each programming problem, it stores the standardized, step-by-step problem-solving logic (i.e., "problem-solving milestones"), as well as common error types associated with each step. The Thinking and Interaction module will then provide this data to the Action and Interaction module to guide and assist users in learning the relevant knowledge.
[0052] Learner Status Model: This model creates a profile for each learner, dynamically recording and updating their personal information and learning data. This includes: Learning trajectory: The complete sequence of behaviors a learner uses to solve each problem.
[0053] User Persona: A structured description of a learner’s abilities, styles, and knowledge gaps, generated by the Reflection and Learning module (e.g., “difficulty handling recursive boundary conditions”, “positive response to heuristic questions”).
[0054] The Thinking and Decision-Making module, acting as the system's "brain," is responsible for calling and running the learner state model stored in the Memory and Knowledge modules. Its core task is to identify learning deadlock states and formulate intervention strategies. Specifically, its core is a Finite State Machine (FSM). This FSM takes the initial coarse-grained state signal output from the real-time progress analysis submodule of the learner state model as its initial input. Through built-in multi-dimensional state refinement rules and dynamic decision-making logic, it refines the signal, generating fine-grained state signals that accurately pinpoint the core of the problem. This fine-grained state signal is then combined with key data such as historical behavioral profiles and task difficulty coefficients from the learner state model to complete adaptive state transitions. In this embodiment, the FSM includes at least the following states: (1) Normal state: The initial state, indicating that the learner does not show obvious signs of difficulty.
[0055] (2) Error Detected state: When the system first detects an error signal (such as code compilation failure), it enters this state and starts a timer.
[0056] (3) Error Persistent: If the error duration exceeds a preset threshold (e.g., 30 seconds) in the "Error Detection State", and during this period, the perception module detects that the learner has code modification behavior (indicating that the learner is trying to solve the problem rather than leaving), then the state transitions to this state.
[0057] (4) ChatTriggered State: When the system is in the "Error Persistence State" and meets a "cooling-off" condition (e.g., more than 5 minutes have passed since the last active intervention), the system state transitions to this state. Entering this state will immediately send an intervention command to the action and interaction module.
[0058] (5) Cooldown State: After the intervention command is sent, the state immediately enters this state and a cooldown timer is started. During this period, even if other conditions are met, active intervention will not be triggered again to avoid causing too much disturbance to the user. After the cooldown time ends, the state returns to the "normal state". When the learner's code error is corrected, the state machine will reset back to the "normal state" regardless of which error-related state it is currently in.
[0059] The Action and Interaction module acts as the system's "arms" and "mouth," responsible for executing intervention commands issued by the Thinking and Decision-Making module. Its workflow is as follows: (21) Receive instructions: Receive intervention instructions from the Thinking and Decision Module.
[0060] (22) Context Aggregation: Upon receiving the instruction, immediately aggregate a complete learning context package from the perception module and the memory and knowledge module. This package includes at least: a description of the current problem, the learner's latest complete code, and the type of deadlock diagnosed by the thinking and decision-making module.
[0061] (23) System Instruction Construction: Construct a system instruction that is invisible to the learner and is used to constrain and guide the behavior of the Large Language Model (LLM). For example, the instruction could be: "[SYSTEM] Identity: Socratic programming tutor. Task: The user is having difficulty handling 'stack boundary conditions'. Do not provide direct answers or code. Please generate an encouraging opening and pose a question that guides the user to think about 'what should be checked before performing a pop operation'."
[0062] (24) LLM Invocation and Presentation: The aggregated context package and system instructions are sent to the LLM service. After receiving the heuristic and conversational response generated by the LLM, it is presented to the learner through the front-end UI (such as a chat panel), thereby proactively initiating a guided dialogue.
[0063] The Reflection and Learning module serves as the system's "review" and "growth" mechanism, responsible for enabling the system's self-adaptation and evolution. Its functions include: (1) Effectiveness evaluation: After an active intervention, learners' subsequent behavior is continuously monitored. The effectiveness of the intervention is evaluated by analyzing indicators such as the time it takes for learners to solve problems and the number of subsequent errors.
[0064] (2) User Profile Update: The evaluation results of a single intervention, along with the learner's behavioral patterns throughout the problem-solving process (such as time spent, error type statistics, and frequency of prompt usage), will be comprehensively analyzed. The analysis results will be used to update the learner's user profile in the Memory and Knowledge module. For example, the updated description might be: "This user has a moderate level of knowledge in the 'Data Structures' domain and shows weaknesses in 'Algorithm Complexity'."
[0065] (3) (Optional) Strategy optimization: Over a longer time dimension, the system can statistically analyze the success rate of different intervention strategies (such as questioning and prompting) for learners with different profiles or different types of deadlocks, thereby dynamically adjusting the priority of intervention strategies in the thinking and decision-making module to achieve adaptive optimization of teaching strategies.
[0066] Through the close collaboration of the above five modules, the system of this invention realizes a complete closed loop of "perception-analysis-decision-action-reflection", thereby transforming a passive programming tool into an intelligent learning partner that can proactively gain insight and provide process guidance.
[0067] The learner state model used in this embodiment achieves a dynamic judgment mechanism by combining "real-time analysis" with "finite state machines". Its core lies in structuring and regularizing the judgment process of the learner state, thereby achieving stable, interpretable, and efficient deadlock identification.
[0068] Specifically, the implementation of this learner state model consists of two collaborative phases:
[0069] (1) Real-time progress analysis: The learner state model embeds a "real-time progress analysis submodule," which continuously compares the learner's current code with the standard problem-solving steps (provided by the domain knowledge base) stored in the memory and knowledge modules to output a preliminary, coarse-grained state signal. This comparison can be accomplished through static code analysis, abstract syntax tree (AST) comparison, or by calling an auxiliary large language model (LLM), such as "code contains compilation errors," "logic deviates from step three," "progressing normally," etc.
[0070] (2) Finite State Machine Decision: The coarse-grained state signal output by the real-time progress analysis submodule embedded in the learner state model is used as input to drive the finite state machine (FSM) inside the thinking and decision-making module to perform state transitions; by combining the learner's historical behavior profile and task difficulty coefficient provided by the learner state model, the finite state machine determines whether the learner is in a "learning deadlock state" and decides whether to intervene, that is, the finite state machine acts as the final decision-maker.
[0071] In this embodiment, the identification of the learner's deadlock state is based on the detection of one or more of the following modes: (1) Pattern of repeated errors of the same type: In a short period of time, the learner's code repeatedly produces the same or similar types of compile / runtime errors.
[0072] (2) High-frequency and ineffective code modification pattern: learners make frequent and minor modifications to the same piece of code, but the test results do not improve, which is a typical "trial and error" behavior.
[0073] (3) The pattern of prolonged stagnation at key problem-solving nodes: At key logical nodes in problem-solving, learners do not engage in any effective code editing for a long time, far exceeding the average thinking time for that node.
[0074] (4) Pattern where the code implementation path deviates significantly from the preset standard path: The learner's code implementation path deviates significantly from all known effective problem-solving paths in the domain knowledge base.
[0075] Once the thinking and decision-making module identifies the aforementioned deadlock pattern, it will immediately generate an intervention strategy. The strategy can include the timing of the intervention, the form of the intervention (such as pop-ups or highlighting), and the type of intervention content (such as question-based or prompt-based).
[0076] like Figure 3 As shown, the specific processing flow of the system in this embodiment is as follows: Step S1: The perception module continuously collects multimodal behavioral data of learners; Step S2: The Thinking and Decision-Making module receives multimodal behavioral data and interacts with the Memory and Knowledge module. Combining domain knowledge, it uses the learner state model to analyze the learner's behavioral patterns in real time. Based on the analysis, it determines whether the learner is in a learning impasse. If so, proceed to Step S3; otherwise, return to Step S1 and continue real-time data collection. Step S3: The Thinking and Decision-Making module generates intervention strategies.
[0077] Step S4: The Action and Interaction module implements the intervention strategy and proactively presents intervention information to learners.
[0078] Step S5: The Reflection and Learning module monitors and evaluates the intervention effect after the intervention information is presented.
[0079] Step S6: Based on the intervention effect, the Reflection and Learning module updates and optimizes the learner state model and intervention strategy of the Thinking and Decision-Making module, and the process returns to step S1.
[0080] Example 3 This embodiment provides an insightful intelligent tutoring method for programming learning, used to tutor a student solving a "valid brackets" problem, including the following steps: Step 1, Perception: The system's perception module detected that the student encountered 5 IndexError runtime errors within 3 minutes in the logic of handling the pop() operation when the stack is empty, and each code modification was only a minor adjustment. Step 2, Decision: The Thinking and Decision module identifies that this behavior matches the "repeated error pattern" and "high-frequency invalid modification pattern", and judges that the student is stuck on the "stack boundary condition handling" problem. Step 3: The system decides to initiate a question-based intervention.
[0081] Step 4, Action: The Action and Interaction module pops up a dialog box next to the student's programming interface, displaying the guiding question generated by the LLM: "It seems the program is having trouble trying to remove an element from an empty stack. What conditions are typically checked before performing a pop operation?" Step 3, Reflection: After seeing the problem in the intervention information, the student modified the code, adding an `if stack:` check before `pop`, and the problem was solved. The Reflection and Learning module recorded the success of this intervention and strengthened the weight of the strategy of "using question-based intervention for boundary condition errors".
[0082] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0083] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims. The information disclosed in the background section is intended only to enhance the understanding of the overall background technology of the present invention and should not be construed as an admission or implication in any way that such information constitutes prior art known to those skilled in the art.
Claims
1. An insight-based intelligent tutoring method for programming learning, characterized in that, include: Step 1: Collect learners' multimodal behavioral data in the programming environment in real time; Step 2: Based on the multimodal behavioral data collected in real time in Step 1 and combined with domain knowledge, use the learner state model to analyze the learner's behavioral patterns and determine whether the learner is in a learning deadlock state. If so, proceed to Step 3; otherwise, proceed to Step 1. Step 3: If it is determined that the learner is in a learning impasse, an intervention strategy is generated. Step 4: Based on the intervention strategy generated in Step 3, proactively generate intervention information related to the learning context of the learner who is in a learning impasse and present it to the learner to help the learner break through the learning impasse.
2. The insight-based intelligent tutoring method for programming learning according to claim 1, characterized in that, The multimodal behavioral data includes one or more of the following: code editing data, code execution result data, interaction data, and operation time data.
3. The insightful intelligent tutoring method for programming learning according to claim 1 or 2, characterized in that, In step 2, behavioral pattern analysis is performed using the learner state model to determine whether the learner is in a learning impasse, including: The learner is identified as being in a learning impasse by detecting at least one of the following behavioral patterns: recurring patterns of the same type of error, high-frequency and ineffective code modification patterns, prolonged stagnation at key problem-solving nodes, and patterns where the code implementation path deviates significantly from the preset standard path. In step 3, the generated intervention strategy includes: the timing of the intervention, the form of the intervention, and the type of intervention content; In step 4, the intervention information is a heuristic question generated by invoking a large language model and combining the learner's current code and the current learning impasse.
4. The insightful intelligent tutoring method for programming learning according to claim 1 or 2, characterized in that, The method further includes: Step 5: Evaluate the changes in learner behavior after presenting the intervention information to determine the intervention effect; Step 6: Update the learner state model based on the intervention effect.
5. An insightful intelligent tutoring system for programming learning, characterized in that, To implement the method according to any one of claims 1-4, comprising: The module comprises a perception module, a thinking and decision-making module, and an action and interaction module; among which, The perception module can collect learners' multimodal behavioral data in the programming environment in real time; The thinking and decision-making module is communicatively connected to the perception module. It can receive multimodal behavioral data collected by the perception module and combine domain knowledge with the learner state model to analyze the learner's behavioral patterns, determine whether the learner is in a learning deadlock state, and generate an intervention strategy when it is determined that the learner is in a learning deadlock state. The action and interaction module is communicatively connected to the thinking and decision-making module. When the thinking and decision-making module determines that the learner is in a learning impasse, it can proactively generate intervention information related to the learner's programming information context based on the intervention strategy generated by the thinking and decision-making module and present it to the learner to help the learner break through the learning impasse.
6. The insightful intelligent tutoring system for programming learning according to claim 5, characterized in that, Also includes: The memory and knowledge module, which is communicatively connected to the thinking and decision-making module, can store the learner's state model and store domain knowledge through a domain knowledge base, providing support for the thinking and decision-making module to analyze the learner's behavioral patterns and determine whether the learner is in a learning stalemate.
7. The insightful intelligent tutoring system for programming learning according to claim 5, characterized in that, Also includes: The reflection and learning module is communicatively connected to the action and interaction module and the thinking and decision-making module, respectively. It can evaluate the changes in the learner's behavior after the intervention information is presented to determine the intervention effect, and update the learner's state model based on the intervention results.
8. The insightful intelligent tutoring system for programming learning according to any one of claims 5-7, characterized in that, The multimodal behavioral data includes one or more of the following: code editing data, code execution result data, interaction data, and operation time data; The thinking and decision-making module uses a predefined learner state model to analyze the learner's behavioral patterns and determine whether the learner is in a learning impasse, including: Whether a learner is in a learning impasse is determined by detecting at least one of the following behavioral patterns: recurring patterns of the same type of error, high-frequency and ineffective code modification patterns, prolonged stagnation at key problem-solving nodes, and patterns where the code implementation path deviates significantly from the preset standard path. The intervention strategies generated by the thinking and decision-making module include: the timing of the intervention, the form of the intervention, and the type of intervention content; The action and interaction module, based on the intervention strategy generated by the thinking and decision-making module, interacts by calling a large language model and generates heuristic questions as intervention information by combining the learner's current code and the current learning impasse.
9. A processing device, characterized in that, include: At least one memory for storing one or more programs; At least one processor is capable of executing one or more programs stored in the memory, such that when the one or more programs are executed by the processor, the processor can perform the method according to any one of claims 1-4.
10. A readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it can implement the method described in any one of claims 1-4.