Online programming community learning support method and system based on generative artificial intelligence
By constructing a large language model based on generative artificial intelligence and combining visual and textual scaffolding, the problem of insufficient structured guidance for learners in open collaborative learning in online programming communities is solved. This enables dynamic display of the key logical structure of projects and utilization of community wisdom, thereby improving learning efficiency and creative ability.
Patent Information
- Application Number
- CN202510942899.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-07-09
AI Technical Summary
In online programming communities, beginners lack structured guidance in open collaborative learning, resulting in fragmented knowledge acquisition, low learning efficiency, and existing technologies fail to effectively demonstrate the key logical structure of projects and fully utilize the collective wisdom of the community.
We construct a large language model based on generative artificial intelligence. Through data preprocessing, interaction modules, scaffolding generation, and question-answering modules, combined with visual and textual scaffolding, we provide a dynamic display of the logical relationship between event triggering chains and computational concepts, and optimize the generated content using a community knowledge base.
It improved the quality and relevance of learners' interactions with the system, enhanced their understanding of projects and their ability to creatively adapt them, and boosted their learning efficiency and creative confidence.
Smart Images

Figure CN120450652B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of artificial intelligence assisted teaching, and particularly relates to an online programming community learning support method and system based on generative artificial intelligence. BACKGROUND
[0002] With the popularization of programming education, more and more beginners carry out self-learning through online programming communities (such as Scratch). Such communities provide a large number of open programming project resources, providing an important platform for beginners to learn computational thinking and programming practice. Users can quickly understand key programming concepts and develop computational thinking, such as event triggering, conditional judgment, and loop control, by creating on the basis of others' projects. However, while such communities promote the development of beginners' programming abilities, they also have the problem of insufficient guidance, which can easily cause fragmented knowledge acquisition, low learning efficiency, and difficulty in programming skill transfer. On the one hand, the lack of structured guidance can lead to chaotic learning paths, making it difficult for learners to gradually master complex concepts. On the other hand, learners often cannot accurately identify key events and their logical relationships when analyzing project code, leading to a lack of understanding of the overall structure of the project, which in turn affects subsequent adaptation and innovation.
[0003] Patent document CN117608555A discloses a programming assistance method supporting creativity and graphical programming, including the following steps: obtaining sketch data and description voice data describing the sketch data to construct a corresponding image material set; recording operation demand voice when programming the sketch data as instruction voice data to generate corresponding code blocks; selecting standard image materials in the material library according to programming requirements and recording corresponding operation demand voice to generate visual code; editing and combining the generated code blocks to output code text for implementing programming operations on standard image materials.
[0004] Patent document CN118860362A discloses a graphical creative programming support method for classroom environment, including the following steps: obtaining user interaction information through a pre-set large language model; extracting keywords in the interaction information according to the content involved in the teaching plan and encoding through the large language model to form a triple set; obtaining a standard code set and converting the image format to a pseudo code in text form through the large language model, forming a pseudo code set with the standard code set and the pseudo code; taking the teaching knowledge in the triple set and the code programming logic as nodes and the relationship as edges to construct a corresponding semantic relationship network; training the semantic relationship network with the triple set and the pseudo code set to obtain a generative model.
[0005] However, the above invention has three key limitations: first, existing solutions mainly target closed teaching scenarios or single-user creation scenarios, failing to address the challenges unique to open collaborative learning in online programming communities. The structured guidance mechanisms designed in these patents rely on teacher-predefined goals or complete input from a single user, and cannot adapt to the spontaneous and fragmented learning behaviors of users in a community environment. Second, existing technologies rely too much on the direct output of generative AI (such as automatically generated code or materials), but lack explicit visual representation of the key logical structure of the project. Although mind maps are used to associate nodes, their visualization is limited to the static correspondence between roles and code blocks, and they fail to dynamically display the logical relationship between event trigger chains and computational concepts, making it difficult for learners to grasp the overall architecture when adapting projects. Third, these systems do not fully utilize the collective wisdom of the community, neither establishing a community knowledge base to optimize the educational nature of generated content, nor providing a collaborative project adaptation framework based on visual representation, leaving beginners lacking effective support in the skill transfer process from understanding to innovation. SUMMARY
[0006] The purpose of the present invention is to provide an online programming community learning support method and system based on generative artificial intelligence, which can effectively improve the quality and relevance of the dialogue between learners and interactive systems, thereby providing a wider knowledge base for answering and more accurately addressing learners' questions.
[0007] To achieve the first purpose of the present invention, the following technical solution is provided: an online programming community learning support method based on generative artificial intelligence, comprising the following steps:
[0008] Input initial data to construct a knowledge set about programming ideas, the initial data including programming problems and corresponding reply texts published in an online programming community;
[0009] Based on the knowledge set, a large language model enhanced by retrieval is constructed, including a data preprocessing module, an interaction module, a scaffolding generation module, and a question and answer module;
[0010] The data preprocessing module preprocesses the functional description of the input project and the programming code blocks that complete the corresponding functions to construct the corresponding project information and the building block tree used to describe the relationship between each programming code block;
[0011] The interaction module is used to input the user's programming problem and understanding level, the understanding level including understood and not understood;
[0012] The scaffold generation module includes a visual scaffold and a text scaffold, the visual scaffold matches project information according to roles and results in a programming question to obtain corresponding role nodes and result nodes, and simultaneously matches behaviors in the programming question in a knowledge set to obtain similar programming ideas as context supplements of a large language model;
[0013] The programming ideas generated by the large language model after completing the context supplements are connected with the programming code block node chain constructed by the building block tree to connect the role nodes and the result nodes; the text scaffold generates corresponding explanation texts according to the programming ideas and the programming code blocks involved in the programming code block node chain;
[0014] The question and answer module includes a thinking question generator, the thinking question generator generates corresponding interactive questions according to the programming ideas, and judges whether the understanding degree of the user is correct according to the reply to the interactive questions to generate corresponding teaching instructions, the teaching instructions include completing learning and relearning.
[0015] The application enhances the understanding of the large language model for the target project by integrating the code building blocks and corpus information in the target project, thereby improving the quality and pertinence of the dialogue between the learner and the system.
[0016] Specifically, the knowledge set extracts keywords from the content in the initial data based on computing concepts, practices and creative ideas, and adopts a semantic embedding method to combine the extracted keywords.
[0017] Specifically, the building process of the building block tree is as follows:
[0018] The project.json file in the project is parsed, and the parsed project.json file is encoded according to the preset syntax rules to construct a corresponding abstract syntax tree;
[0019] Each leaf node of the abstract syntax tree corresponds to a word of a programming code block, and a building block tree for prompting the large language model is constructed.
[0020] Specifically, when the abstract syntax tree is constructed, the JSON format programming code block is converted into a corresponding AST format programming code block.
[0021] Specifically, each node in the building block tree includes a name of a programming code block, an input item and a field.
[0022] Specifically, the similar programming ideas include the first N statements obtained by matching behaviors in the programming question in the knowledge set.
[0023] Specifically, when the programming code block node chain is generated, the building block tree is traversed by using a depth-first search.
[0024] Specifically, the large language model further comprises a visualization module and an operation module, the visualization module is configured to visualize the generated role nodes, result nodes, programming code block node chains and explanation texts, and the operation module is configured to drag and / or link the logical order of the nodes in the project.
[0025] To achieve the second object of the present application, the following scheme is provided: an online programming community learning support system for implementing the steps of the above-mentioned online programming community learning support method based on generative artificial intelligence, comprising a data preprocessing unit, an interaction unit, a scaffold generation unit, a question and answer unit and a visualization unit.
[0026] The data processing unit is configured to input the function description of the project and the programming code blocks for completing the corresponding functions to construct the corresponding project information and the building block tree for describing the relationship between the programming code blocks.
[0027] The interaction unit is configured to input the programming problem and the understanding level of the user, and to drag and / or link the logical order of the nodes in the project.
[0028] The scaffold generation unit is configured to generate visual scaffolds and text scaffolds corresponding to the programming problem.
[0029] The question and answer unit is configured to generate interactive questions to determine whether the user understands the programming problem, and to generate corresponding teaching instructions.
[0030] The visualization unit is configured to visualize the generated role nodes, result nodes, programming code block node chains and explanation texts.
[0031] Compared with the prior art, the present application has the following advantages:
[0032] By analyzing various information in the target project, the understanding of the programming knowledge contained in the project by the large language model is enhanced, so that a wider knowledge range can be provided for answering and the problems of learners can be more accurately addressed. BRIEF DESCRIPTION OF DRAWINGS
[0033] Figure 1 The schematic diagram of the online programming community learning support method based on generative artificial intelligence provided by the present embodiment;
[0034] Figure 2 The schematic diagram of the generation process of the scaffold provided by the present embodiment;
[0035] Figure 3 The schematic diagram of the workflow of the large language model provided by the present embodiment;
[0036] Figure 4A schematic diagram of an online programming community learning support system provided for the present embodiment. DETAILED DESCRIPTION
[0037] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application and are not all the embodiments. The components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art without creative labor based on the embodiments in the present application belong to the scope of protection of the present application.
[0038] As Figure 1 shown, an online programming community learning support method provided for the present example actually includes two processes of project understanding and project re-creation. For the process of project understanding, the present embodiment provides a logical process composed of event nodes and computing concept nodes, so that learners can create flowcharts and better understand the content of the target project under the guidance of the system. The steps are as follows:
[0039] Input initial data to construct a knowledge set about programming ideas, the initial data including programming problems and corresponding reply texts published in an online programming community;
[0040] Construct a large language model generated in combination with retrieval enhancement based on the knowledge set, the large language model including a data preprocessing module, an interaction module, a scaffold generation module, and a question and answer module;
[0041] The data preprocessing module is used for preprocessing the functional description of an input project and the programming code block for completing the corresponding function, so as to construct corresponding project information and a building block tree for describing the relationship between the programming code blocks;
[0042] The interaction module is used for inputting a user's programming problem and understanding level, the understanding level including understood and not understood;
[0043] The scaffold generation module includes a visual scaffold and a text scaffold. The visual scaffold matches the project information according to the roles and results in the programming problem to obtain corresponding role nodes and result nodes, and matches the behavior in the programming problem in the knowledge set to obtain similar programming ideas as a context supplement of the large language model, so as to improve the understanding and generation ability of the model for the target programming task.
[0044] The programming thought generated by the large language model after completing the context supplement is used to construct a chain of programming code block nodes for connecting role nodes and result nodes; and the text scaffold generates corresponding explanatory text through the programming thought and the programming code blocks involved in the chain of programming code block nodes.
[0045] The question and answer module includes a thinking question generator that generates corresponding interactive questions according to the programming thought, and judges whether the user's understanding is correct according to the reply to the interactive question, to generate corresponding teaching instructions, including completing learning and relearning.
[0046] The above-mentioned large language model further includes a visualization module and an operation module, the visualization module is used to visualize the generated role nodes, result nodes, chains of programming code block nodes and explanatory texts, and the operation module is used to drag or / and link the logical order of each node in the project.
[0047] More specifically, the final large language model in this embodiment is named CoRemi.
[0048] More specifically, in order to make full use of programming knowledge in the community, this embodiment constructs a database containing constructive comments of the Scratch community, and introduces a retrieval-enhanced large language model-driven learning assistant to improve the educational relevance of its response content.
[0049] At the same time, three types of event nodes are proposed in the system to parse and decompose project content, namely: role, behavior, and result. The specific content of the event nodes and the computational concept nodes is generated by the large language model according to the project data. Subsequently, learners construct complete flowcharts by connecting these event nodes and computational concept nodes, for example, based on the static analysis data of a large number of projects, it is found that the proportions of condition, loop, variable, and Boolean block are 33%, 22%, 17%, and 7%, respectively. Only the most commonly used computational concepts are selected to reduce the cognitive burden of learners.
[0050] Among them, the role: extracts the role, project and site from the project as an element node, as the initiator or influencer of behavior.
[0051] Behavior: as a condition for initiating a series of subsequent episodes.
[0052] Result: represents the result of the behavior node.
[0053] Condition: detects whether a certain role (for another role) has performed a specific behavior, and if the condition is met, the subsequent behavior will be triggered.
[0054] Loop: refers to the repeated execution of a set of actions or instructions until a certain condition is met or the loop is broken, often used in conjunction with conditions.
[0055] Variable: refers to a numerical value or data that can change according to certain actions or conditions, often involving operations on variables to achieve adaptability.
[0056] Boolean expression: refers to determining whether both role A and role B satisfy a certain condition (and), or whether at least one party satisfies the condition (or); if the result is true, the corresponding behavior is triggered, otherwise no operation is performed.
[0057] This embodiment also proposes a visual text combined scaffolding mechanism to help learners solve the difficulties in flowchart construction and project re-creation, where the visualization part shows the flowchart of the key code logic, and the text part provides detailed code explanation.
[0058] As shown in Figure 2 , Figure 2 The dashed arrow in indicates the parent node. For data preprocessing modules, in order to enable large language models to understand the multi-modal information in the project and provide more reliable answers when learners construct visual flowcharts, the Scratch project is composed of code blocks, images, and audio resources, and the following process is proposed:
[0059] Abstract syntax tree generation: the system parses the "project.json" file in the project and generates an abstract syntax tree through predefined syntax rules. Since Scratch supports flexible naming of sprites, blocks, and variables, to avoid ambiguity, the basic syntax of JSON is directly used for parsing.
[0060] Building block tree: the leaf nodes of the abstract syntax tree generation correspond to each word in the input file. When traversing the abstract syntax tree generation, the system records block information and their relationships to generate a block tree for large language model prompting. Each node in the tree represents a block, which contains attributes such as name, input item, and field; the relationship between nodes is reflected in parent nodes, adjacent nodes, and child stacks. For example, the "green flag" block as a parent node is associated with the "forever" loop block, which may contain "next block" and "child stack" blocks.
[0061] Depth-first search and complexity evaluation: use depth-first search to traverse the block tree and analyze the project based on the computational thinking skill standards proposed by Dr. Scratch to evaluate the complexity of the project. The parsed project context is then used as the long-term memory input of the large language model to further enhance its understanding of community projects.
[0062] The complexity of the tree is evaluated as follows: according to Dr. Scratch's standard, the complexity of the tree is calculated (specifically, a depth-first traversal is performed to check each node, and then a score is calculated, for example, if it is a node related to computational concepts such as conditional logic, it will be +1) to obtain a complexity score.
[0063] In addition, in order to enhance the information richness and reliability provided by the visual-text scaffold, CoRemix uses comments and posts from the community as an external knowledge source to provide background information support for large language models to generate answers, and the specific process is as follows:
[0064] Building a Scratch knowledge base: First, we collected 23,567 comments and posts from 10,000 popular projects in the Scratch community.
[0065] Information extraction and preprocessing: Using the Qwen2.5-14B model, we extracted sentences related to computational concepts, practices, and creative ideas from comments and posts. In order to improve the information extraction quality of the large language model, we fine-tuned the Qwen2.5-14B model using Lora. In order to fine-tune the large language model, we manually collected 1000 data. For example, when a user asks "Has anyone known how to make a good item list for the game?", another user answers "You can use the List block to store items", we extract the sentence containing the keyword and its context. Filter sentences longer than 400 characters or shorter than 5 characters in the extraction results to eliminate extraction errors.
[0066] Semantic embedding and merging: Use semantic embedding methods to merge sentences with similar semantics, and after further manual review, a knowledge set consisting of 3,528 sentences is finally determined.
[0067] Retrieval-enhanced generation: During project understanding and project re-creation, when the user asks a question q, the system retrieves the top three sentences most relevant to the question from the knowledge base D = {d1, d2, d3, …, d n} to form the context R(q, D) = {dq1, dq2, dq3}; then pass these context information as auxiliary input to the generation model (LLM), so as to obtain more targeted and rich answers, that is, generate LLM(q, R(q, D)).
[0068] For example, Figure 3As shown, in actual operation, learners may encounter two main problems when constructing the visual flowchart: one is difficulty in establishing connections between event nodes, and the other is uncertainty about how to add new nodes. Therefore, in this cycle, when the learner issues a help request such as “how to connect the football and other event nodes together”, the system first provides an intuitive visual scaffold to show how the elements interact with each other; if the learner thinks he has understood, the “reflective question generator” will guide the learner to reflect further (for example, ask “is the condition ‘x’ necessary?”); if the learner is still unclear after several rounds of feedback, the system will enable the text scaffold to elaborate the underlying logic and provide detailed textual prompts, while highlighting the relevant role nodes and code blocks used in the project, so as to help the learner gradually master the application of computational concepts.
[0069] In addition, in this process, the learner can use the constructed flowchart to connect the generated events and images, and further improve the flowchart through visual-text scaffolding. Such structured flowchart not only provides a cognitive bridge for the learner, effectively breaking down complex programming tasks into small steps that are easy to handle, but also enables the learner to more easily convert abstract creative ideas into specific code implementation. For example, when the learner says “I want to add an energy ball to this football game”, CoRemix will generate two different energy ball descriptions and corresponding images based on the project context.
[0070] After the learner determines to select one of the nodes, the large language model further recommends the connection edges that can be used to build a new flowchart, and guides the learner to perform visual programming according to this flowchart, thereby realizing the personalized conversion of project ideas.
[0071] To this end, the embodiment also provides a construction type cycle mechanism, which makes the dialogue process dynamic through multi-stage visual and text scaffolding, and guides the learner to think deeply with appropriate questions. The specific process is as follows:
[0072] Chain thinking and answer generation: the system first uses chain thinking strategy to let the large language model generate an abstract answer, and then further generates a flowchart containing all code block control dependencies, denoted as generated_block= {block1, block2, …, block n}。
[0073] Visual feedback of flowchart: CoRemix uses the unique identifier of Scratch blocks to visually display the generated blocks, thereby constructing a flowchart. Based on the constructed flowchart, each node is presented in the form of a Scratch block, and the corresponding association between nodes is shown through arrows.
[0074] Thought-provoking question generation module: The system introduces a "thought-provoking question generator" module that relies on large language models and RAG technology to generate questions related to the current dialogue content and capable of triggering deep thinking.
[0075] Response checking and text scaffolding: In the construction cycle, the system checks the response of the learner for each time and determines whether to provide more detailed text scaffolding based on the construction of the learner's questioning protocol. If the learner's answer is still vague or not accurate enough, the system generates a text scaffold using a retrieval-enhanced large language model, which integrates high-quality resources from the community to provide detailed explanations and supplementary explanations to help the learner further deepen their understanding.
[0076] As shown in Figure 4 The embodiment also provides an online programming community learning support system for implementing the steps of the online programming community learning support method provided by the above-mentioned embodiment, which includes a data preprocessing unit, an interaction unit, a scaffold generation unit, a question and answer unit, and a visualization unit.
[0077] The data processing unit is configured to input the functional description of the project and the programming code block for completing the corresponding function to construct the corresponding project information and the block tree for describing the relationship between the programming code blocks.
[0078] The interaction unit is configured to input the programming problem and the understanding level of the user, and drag or / and link the logical order of each node in the project.
[0079] The scaffold generation unit is configured to generate visual scaffolding and text scaffolding corresponding to the programming problem.
[0080] The question and answer unit is configured to generate interactive questions to determine whether the user understands the programming problem and generate corresponding teaching instructions.
[0081] The visualization unit is configured to visually output the generated role nodes, result nodes, programming code block node chains, and explanatory texts.
[0082] More specifically, when learners use CoRemix to learn projects in the Scratch community, CoRemix will guide learners to understand the project. First, we parse the project through the visual language large model Qwen2.5-VL-7B. The Scratch project is composed of code blocks, images, and audio resources, and the model will extract event nodes and computational concept nodes from these contents. Learners need to drag these nodes, establish edges between them, and learn computational concepts from this process. During this process, learners can also record the corresponding event descriptions on the canvas. If learners encounter difficulties in building flowcharts, they can obtain support through dialogue agents, which are implemented by large language models enhanced by rag. After understanding the project, learners need to create a new project. In this process, learners can use the constructed flowchart to connect the generated events and images, and further improve the flowchart through visual-text scaffolding. This structured flowchart not only provides a cognitive bridge for learners, effectively breaking down complex programming tasks into small steps that are easy to handle, but also enables learners to more easily translate abstract creative ideas into specific code implementations. For example, when learners say "I want to add an energy ball to this soccer game," CoRemix will generate two different energy ball descriptions and corresponding images based on the project context; after the learner determines to select one of the nodes, the system further recommends the connection edges that can be used when building a new flowchart, and guides the learner to perform visual programming based on this flowchart, thereby realizing the personalized conversion of project ideas.
[0083] To better illustrate the technical effects of the scheme provided by the present application, 10 projects with comparable difficulty in computational thinking score dimensions were selected from the collected projects, and the code blocks and corpus data extracted by the project parsing module were used as the project context. In order to ensure fairness of comparison, the project description provided by beginners was also used as the baseline project context. Then, the two different project contexts were used to construct consistent prompts, so as to guide the large language model to generate answers, and the two generation methods were named "project-based large language model" and "beginner-based large language model" respectively.
[0084] The two large language models were required to generate three indicator items, aiming to reflect their understanding level of the project. The three indicators are:
[0085] Relationship: Description of the relationship between different events and their interaction logic in the project;
[0086] Project flow: Understanding of the overall operation flow of the project;
[0087] Application of computational concepts: Grasp and explanation of various computational concepts (e.g., conditional judgment, loop, etc.) applied in the project.
[0088] Subsequently, two experts with more than five years of relevant educational experience were invited to quantitatively evaluate the content generated by the two methods on a 7-point scale (1 representing "strongly disagree" and 7 representing "strongly agree"). The results, as shown in Table 1, show that "large language model based on project" outperforms the baseline "large language model based on beginner" in all evaluation dimensions. This result indicates that the project analysis module can make the large language model understand the project more comprehensively by integrating code blocks and corpus information, thereby improving the quality and relevance of the dialogue between the learner and the system.
[0089] .
[0090] In addition, the impact of the RAG module on the quality of the dialogue agent's generated answers was evaluated. Specifically:
[0091] Two educational experts wrote 10 questions based on the above 10 projects;
[0092] The answers to these questions were generated using both the ordinary large language model (as the baseline) and the retrieval-enhanced large language model;
[0093] Experts scored the generated answers from four dimensions: relevance, content richness, fluency, and educational value, also using a 7-point scale for evaluation.
[0094] The evaluation results, as shown in Table 2, show that RA-LLM is significantly better than the baseline model in terms of content richness and educational value, indicating that the knowledge base established based on community resources effectively enhances the background information support of the large language model, providing a broader knowledge base for answers and more accurately addressing learners' questions.
[0095] .
[0096] To verify the effectiveness of CoRemix in project comprehension and remixing activities, this study adopted an within-subjects design and compared the performance of participants in the CoRemix condition with that in the baseline condition using the Scratch community webpage. The study focused on three core issues: how visual flowcharts facilitate learners' comprehension of community projects? How does the system help learners master computational concepts through flowchart construction and visual-text scaffolding? And how does the creation of new nodes and relationships in visual flowcharts enhance remixing practices? Sixteen 9-12 year-old programming novices (M = 10.06 years) were recruited to complete two tasks, soccer game and race animation, in both CoRemix and baseline conditions. Each task included project exploration, remixing, project description, questionnaire, and 14 computational concept tests. Data were collected through screen recording and semi-structured interviews.
[0097] The results showed that CoRemix significantly improved learners' structured understanding of projects. The experimental group significantly outperformed the baseline group in key event identification (3.21 vs 2.63), project detail decomposition (3.65 vs 2.85), and logical relationship analysis (3.85 vs 3.21) dimensions (p < 0.05) (see Table 3). This was due to the flowchart's ability to break down complex events into multiple canvas visual units and establish logical chains through role-action-result nodes.
[0098] .
[0099] Participant P8 feedback: "It's easier to understand the running mechanism of complex projects through flowcharts." In terms of computational concept learning, the experimental group significantly improved their scores in abstraction, parallelism, synchronization, and data representation (p < 0.05), with the largest improvement in abstraction (1.62 vs 0.69), indicating that the dual guidance of visual-text scaffolding effectively facilitated concept internalization (see Table 4). Notably, when the system provided a code flowchart overview, 62.5% of learners actively reviewed the original project for verification, which confirmed the core mechanism of the meaningful learning theory.
[0100] .
[0101] In the remix support aspect, the experimental group added an average of 3.59 nodes and 6.79 relationship edges, and 91% of the participants used the system's recommended node association patterns. The creativity support questionnaire showed that CoRemix was significantly better than the baseline in the dimensions of exploration (5.81 vs 4.00), expression (5.93 vs 3.50), and immersion (5.93 vs 2.87) (p<0.01), indicating that the visualization framework reduced the creation threshold through real-time suggestions (see Table 5). In terms of cognitive load, although there was no statistical difference between the two groups (4.56 vs 3.68), the experimental group showed more stable attention maintenance during the 45-minute task, and 78% of the participants expressed that "the flowchart helped me to systematically realize the creativity." These findings confirm that decomposing projects into visual logical units and supplementing them with dynamic scaffolding can enhance learners' creative confidence and community participation willingness while maintaining cognitive load.
[0102] .
[0103] In addition, the terms "upper", "lower", "inner", "outer", "front", "back" are only for the purpose of description, and cannot be understood as indicating or implying relative importance. Unless otherwise specified, the relative steps, numerical expressions, and numerical values of the components and steps set forth in these embodiments do not limit the scope of the present application.
[0104] Of course, the above only describes specific embodiments of the present application, and is not intended to limit the scope of the present application. Any equivalent changes or modifications made to the structure, features, and principles described in the patent application scope of the present application shall be included in the patent application scope of the present application.
[0105] Finally, it should be noted that the above-described embodiments are only specific implementations of the present application, and are not intended to limit the technical solutions of the present application. The protection scope of the present application is not limited to this. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can make modifications or easily think of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed by the present application, or make equivalent substitutions for some of the technical features; and these modifications, changes or substitutions do not cause the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be limited to the protection scope of the claims.
Claims
1. A generative artificial intelligence-based online programming community learning support method, characterized by, The method comprises the following steps: Input initial data to construct a knowledge set about programming ideas, the initial data including programming problems and corresponding reply texts published by an online programming community; Based on the knowledge set, a large language model is constructed by combining retrieval enhancement generation, the large language model including a data preprocessing module, an interaction module, a scaffold generation module, and a question and answer module; The data preprocessing module preprocesses the function description of an input project and the programming code block for completing the corresponding function to construct corresponding project information and a building block tree for describing the relationship between the programming code blocks; The interaction module is used for inputting a user's programming problem and understanding level, the understanding level including understood and not understood; The scaffold generation module includes a visual scaffold and a text scaffold, the visual scaffold matching the project information according to the roles and results in the programming problem to obtain corresponding role nodes and result nodes, and simultaneously matching the behavior in the programming problem in the knowledge set to obtain similar programming ideas as context supplements of the large language model; The programming code block node chain for connecting the role nodes and the result nodes is constructed by the programming ideas generated by the large language model after completing the context supplements; and the text scaffold generates corresponding explanation texts by the programming code blocks involved in the programming ideas and the programming code block node chain; The question and answer module includes a thinking question generator, the thinking question generator generating corresponding interactive questions according to the programming ideas, and judging whether the user's understanding level is correct according to the reply to the interactive questions to generate corresponding teaching instructions, the teaching instructions including completing learning and relearning.
2. The generative artificial intelligence-based online programming community learning support method of claim 1, characterized by, The knowledge set extracts keywords from the content in the initial data based on computing concepts, practices, and creative ideas, and merges the extracted keywords by using a semantic embedding method. 3.The online programming community learning support method based on generative artificial intelligence of claim 1, wherein, The construction process of the building block tree is as follows: An abstract syntax tree is constructed by parsing a project.json file in a project and encoding the parsed project.json file according to preset syntax rules; Each leaf node of the abstract syntax tree is traversed to construct a building block tree for prompting the large language model.
4. The generative artificial intelligence-based online programming community learning support method of claim 3, characterized by, When constructing the abstract syntax tree, the JSON format programming code block is converted into the corresponding AST format programming code block.
5. The generative artificial intelligence-based online programming community learning support method of claim 1 or 3, characterized by, Each node in the building block tree includes the name, input item, and field of the programming code block. 6.The online programming community learning support method based on generative artificial intelligence of claim 1, wherein, The similar programming ideas include the first N statements obtained by matching the behavior in the programming problem in the knowledge set. 7.The online programming community learning support method based on generative artificial intelligence of claim 1, wherein, When generating the programming code block node chain, the building block tree is traversed by using a depth-first search. 8.The online programming community learning support method based on generative artificial intelligence of claim 1, wherein, The large language model further includes a visualization module and an operation module, the visualization module being used for visualizing the generated role nodes, result nodes, programming code block node chain, and explanation texts, and the operation module being used for dragging or / and linking the logical order of the nodes in the project.
9. An online programming community learning support system characterized by, Steps for implementing the online programming community learning support method based on generative artificial intelligence according to any one of claims 1-8, comprising a data preprocessing unit, an interaction unit, an operation unit, a scaffold generation unit, a question and answer unit, and a visualization unit; The data preprocessing unit is used to input the function description of the project and the programming code block for completing the corresponding function, so as to construct the corresponding project information and the building block tree for describing the relationship between each programming code block; The interaction unit is used to input the programming problem and the understanding degree of the user; The operation unit is used to drag or / and link the logical order of each node in the project; The scaffold generation unit is used to generate the visual scaffold and the text scaffold corresponding to the programming problem; The question and answer unit is used to generate an interactive question to determine whether the user understands the programming problem, and generate a corresponding teaching instruction; The visualization unit is used to visually output the generated role node, result node, programming code block node chain and explanation text.
Citation Information
Patent Citations
Programming auxiliary method and system supporting creativity and imaging
CN117608555A
Method and system for supporting graphical creative programming in classroom environment
CN118860362A
Knowledge graph-based large language model intelligent teaching-assistant question-answering system and implementation method thereof
CN119782452A
Semantic routing query question and answer method, system and equipment and medium
CN120067162A