Online programming community learning support method and system based on generative artificial intelligence

By building a large language model based on generative artificial intelligence, combining data preprocessing and visual output, the problem of learners lacking structured guidance in the online programming community is solved, and more efficient project understanding and creative implementation are achieved, improving learning efficiency and skill transfer.

CN120450652AActive Publication Date: 2025-08-08ZHEJIANG UNIV
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202510942899.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-09
Publication Date
2025-08-08
Estimated Expiration
2045-07-09

AI Technical Summary

Technical Problem

In the online programming community, beginners lack structured guidance in spontaneous and fragmented learning, and it is difficult to understand the key logical structure of the project and realize skill transfer. The existing technology fails to fully utilize the collective wisdom of the community and lacks the logical relationship between the event trigger chain and the computing concept of dynamic display.

Method used

Build a large language model based on generative artificial intelligence, including data preprocessing, interactive modules, scaffolding generation and question-and-answer modules. Through building block trees and visual output, improve the quality of dialogue between learners and systems, provide visual and text scaffolding guidance, and use the community knowledge base to enhance learning support.

Benefits of technology

It improves the pertinence and dialogue quality of learners' dialogue with the system, enhances the understanding of the project and creative realization ability, and improves learning efficiency and skill transfer effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120450652A_ABST
    Figure CN120450652A_ABST
Patent Text Reader

Abstract

The invention discloses an online programming community learning support method based on generative artificial intelligence. The method comprises the following steps: inputting initial data to construct a knowledge set about a programming thought; and based on the knowledge set, constructing a big language model generated in combination with retrieval enhancement, wherein the big language model comprises a data preprocessing module, an interaction module, a scaffold generation module and a question and answer module. The invention further provides an online programming community learning support system. The method provided by the invention can effectively improve the quality and pertinence of dialogue between the learner and the interactive system, so that a wider scope of knowledge can be provided for answering and questions of the learner can be more accurately coped with.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of artificial intelligence-assisted teaching, and in particular relates to an online programming community learning support method and system based on generative artificial intelligence. Background Art

[0002] With the increasing popularity of programming education, more and more beginners are engaging in independent learning through online programming communities, such as Scratch. These communities offer a vast library of publicly available programming projects, providing a valuable platform for beginners to learn computational thinking and programming practices. By building upon others' projects, users can quickly gain an understanding of key programming concepts and cultivate computational thinking skills, such as event triggering, conditional judgments, and loop control. However, while these communities promote the development of beginners' programming skills, they also suffer from insufficient guidance, which can lead to fragmented knowledge acquisition, inefficient learning, and difficulty transferring programming skills. On the one hand, the lack of structured guidance can lead to a confusing learning path, making it difficult for learners to gradually grasp complex concepts. On the other hand, when analyzing project code, learners often fail to accurately identify key events and the logical relationships between them, resulting in a lack of understanding of the overall project structure and hindering subsequent adaptation and innovation.

[0003] Patent document CN117608555A discloses a programming assistance method that supports creativity and graphics, including the following steps: obtaining sketch data and descriptive voice data describing the sketch data to construct a corresponding image material set; recording the operation requirement 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 entering the corresponding operation requirement voice to generate visual code, and editing and combining the generated code blocks to output code text for implementing programming operations on the standard image materials.

[0004] Patent document CN118860362A discloses a graphical creative programming support method for a classroom environment, comprising the following steps: obtaining user interaction information through a preset large language model; extracting keywords in the interaction information according to the content involved in the teaching plan and encoding them through the large language model to form a triple set; obtaining a standard code set, and converting it from image format to pseudocode in text form through the large language model, and forming a pseudocode set by combining the standard code set and the pseudocode; constructing a corresponding semantic relationship network using the teaching knowledge and code programming logic in the triple set as nodes and relationships as edges; and training the semantic relationship network using the triple set and the pseudocode set to obtain a generation model.

[0005] However, the aforementioned inventions suffer from three key limitations: First, existing solutions primarily target closed teaching scenarios or single-person authoring scenarios, failing to address the unique challenges of open, collaborative learning in online programming communities. The structured guidance mechanisms of these patented designs rely on pre-set goals by the teacher or complete input from a single user, failing to adapt to the spontaneous, fragmented learning behaviors of users in community settings. Second, existing technologies overly rely on the direct output of generative AI (such as automatically generated code or materials) but lack explicit visual representation of the project's key logical structure. While mind maps are used for node association, their visualization is limited to the static correspondence between roles and code blocks, failing to dynamically display the logical relationship between event trigger chains and computational concepts. This makes it difficult for learners to grasp the overall architecture when adapting projects. Third, these systems fail to fully leverage the collective wisdom of the community. They neither establish a community knowledge base to optimize the educational value of generated content nor provide a collaborative project adaptation framework based on visual representations, leaving beginners without effective support in the process of skill transfer from understanding to innovation. Summary of the Invention

[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 pertinence of the dialogue between learners and the interactive system, thereby providing a broader knowledge base for answers and more accurately responding to learners' questions.

[0007] In order to achieve the first object 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: Inputting initial data to build a knowledge set about programming ideas, wherein the initial data includes programming questions and corresponding answer texts posted in an online programming community; Building a large language model based on the knowledge set combined with retrieval enhancement generation, the large language model includes a data preprocessing module, an interaction module, a scaffolding generation module and a question-answering module; 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 a building block tree for describing the relationship between the programming code blocks; The interactive module is used to input the user's programming questions and understanding level, where the understanding level includes understood and not understood; The scaffolding generation module includes a visual scaffolding and a text scaffolding. The visual scaffolding matches the project information according to the roles and results in the programming problem to obtain corresponding role nodes and result nodes. At the same time, it matches the knowledge set according to the behavior in the programming problem to obtain similar programming ideas as a contextual supplement to the large language model. The programming ideas generated by the large language model after the context supplementation and the building block tree are used to construct a programming code block node chain for connecting the role node and the result node; the text scaffold generates corresponding explanatory text through the programming ideas and the programming code blocks involved in the programming code block node chain; The question-and-answer module includes a thinking question generator, which generates corresponding interactive questions based on programming ideas, and judges whether the user's understanding level is correct based on the responses to the interactive questions to generate corresponding teaching instructions, which include completing learning and relearning.

[0008] The present invention integrates the code building blocks and corpus information in the target project to enhance the large language model's understanding of the target project, thereby improving the quality and pertinence of the dialogue between the learner and the system.

[0009] Specifically, the knowledge set extracts keywords from the content of the initial data based on computing concepts, practices and creative ideas, and merges the extracted keywords using a semantic embedding method.

[0010] Specifically, the building block tree is constructed as follows: By parsing the project.json file in the project and encoding the parsed project.json file according to the preset grammar rules to build the corresponding abstract syntax tree; Traverse the words of each leaf node in the abstract syntax tree corresponding to the programming code block to build a building block tree for large language model prompts.

[0011] Specifically, when constructing the abstract syntax tree, the programming code block in the JSON format is converted into a programming code block in the corresponding AST format.

[0012] Specifically, each node in the building block tree includes the name of a programming code block, an input item, and a field.

[0013] Specifically, the similar programming ideas include the top N statements obtained by matching the behavior in the programming problem with the knowledge set.

[0014] Specifically, when generating a programming code block node chain, a depth-first search is used to traverse the building block tree.

[0015] Specifically, the large language model also includes a visualization module and an operation module. The visualization module is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts, and the operation module is used to drag and / or link the logical order of each node in the project.

[0016] In order to achieve the second object of the present invention, 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, which includes a data preprocessing unit, an interaction unit, a scaffolding generation unit, a question-answering unit, and a visualization unit; The data processing unit is used to input the functional description of the project and the programming code blocks that complete the corresponding functions, so as to construct the corresponding project information and a building block tree for describing the relationship between the programming code blocks; The interactive unit is used to input the user's programming questions and understanding level, and to drag and / or link the logical order of each node in the project; The scaffolding generation unit is used to generate a visual scaffolding and a text scaffolding corresponding to the programming problem; The question-answering unit is used to generate interactive questions to determine whether the user understands the programming problem and generate corresponding teaching instructions; The visualization unit is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts.

[0017] Compared with the prior art, the present invention has the following beneficial effects: By parsing various information in the target project, the large language model can enhance its understanding of the programming knowledge contained in the project, thereby providing a broader knowledge base for answers and responding to learners' questions more accurately. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 A schematic diagram of the online programming community learning support method based on generative artificial intelligence provided in this embodiment; Figure 2 A schematic diagram of the scaffold generation process provided in this embodiment; Figure 3 A schematic diagram of the workflow of the large language model provided in this embodiment; Figure 4 This is a schematic diagram of the online programming community learning support system provided in this embodiment. DETAILED DESCRIPTION

[0019] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The components of the embodiments of the present invention generally 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 invention provided in the drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0020] like Figure 1 As shown in the figure, this example provides an online programming community learning support method, which actually includes two processes: project understanding and project re-creation. For the project understanding process, this embodiment provides a logical process consisting of event nodes and computing concept nodes, so that learners can create a flowchart under the guidance of the system and better understand the content of the target project. The steps are as follows: Inputting initial data to build a knowledge set about programming ideas, wherein the initial data includes programming questions and corresponding answer texts posted in an online programming community; Building a large language model based on the knowledge set combined with retrieval enhancement generation, the large language model includes a data preprocessing module, an interaction module, a scaffolding generation module and a question-answering module; 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 a building block tree for describing the relationship between the programming code blocks; The interactive module is used to input the user's programming questions and understanding level, where the understanding level includes understood and not understood; The scaffolding generation module includes visual scaffolding and text scaffolding. The visual scaffolding matches project information according to the roles and results in the programming problem to obtain corresponding role nodes and result nodes. At the same time, it matches the knowledge set according to the behavior in the programming problem to obtain similar programming ideas as a contextual supplement to the large language model, so as to improve the model's understanding and generation capabilities of the target programming task.

[0021] The programming ideas generated by the large language model after completing the context supplement and the building block tree construct a programming code block node chain for connecting role nodes and result nodes; the text scaffolding generates corresponding explanatory text through the programming ideas and the programming code blocks involved in the programming code block node chain.

[0022] The question-and-answer module includes a thinking question generator, which generates corresponding interactive questions based on programming ideas, and judges whether the user's understanding level is correct based on the responses to the interactive questions to generate corresponding teaching instructions, which include completing learning and relearning.

[0023] The above-mentioned large language model also includes a visualization module and an operation module. The visualization module is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts, and the operation module is used to drag and / or link the logical order of each node in the project.

[0024] More specifically, the final large language model in this embodiment is named CoRemi.

[0025] More specifically, to fully utilize the programming knowledge in the community, this embodiment builds a database containing constructive comments from the Scratch community and introduces a learning assistant driven by a retrieval-enhanced large language model to improve the educational relevance of its response content.

[0026] The system also introduces three types of event nodes to parse and decompose project content: roles, actions, and results. The specific content of event nodes and computational concept nodes is generated by the large language model based on project data. Learners then construct complete flowcharts by connecting these event nodes with computational concept nodes. For example, static analysis of these concepts across a large number of projects reveals that conditionals, loops, variables, and Boolean blocks account for 33%, 22%, 17%, and 7%, respectively. Only the most commonly used computational concepts are selected to reduce the cognitive burden on learners.

[0027] Among them, roles: extract roles, projects and venues from the project as element nodes, serving as behavior initiators or influencers.

[0028] Behavior: serves as a condition for triggering a series of subsequent plots.

[0029] Result: Indicates the result of the behavior node.

[0030] Condition: Detects whether a character (for another character) has performed a specific action. If the condition is met, subsequent actions will be triggered.

[0031] Loop: refers to repeatedly executing a set of actions or instructions until a specific condition is met or the loop is broken. It is usually used in conjunction with a condition.

[0032] Variable: refers to a value or data that can change based on certain actions or conditions, usually involving the manipulation of variables to achieve adaptability.

[0033] Boolean expression: refers to determining whether both role A and role B meet a certain condition (AND), or whether at least one of them meets the condition (OR); if the judgment result is true, the corresponding action is triggered; otherwise, no action is performed.

[0034] This embodiment also proposes a scaffolding mechanism that combines visuals and text to help learners solve the difficulties in flowchart construction and project re-creation. The visual part shows the flowchart of key code logic, and the text part provides detailed code explanation.

[0035] like Figure 2 As shown, Figure 2 The dotted arrow in the figure represents the parent node. For the data preprocessing module, to enable the large language model to understand the multimodal information in the project and provide more reliable answers when learners build visual flowcharts, the following process is proposed. The Scratch project consists of code blocks, images, and audio resources: Abstract Syntax Tree Generation: The system parses the project.json file in the project and generates an abstract syntax tree using predefined syntax rules. Since Scratch supports flexible naming for sprites, blocks, and variables, to avoid ambiguity, it directly uses the basic JSON syntax for parsing.

[0036] Building a building block tree: The leaf nodes generated in the abstract syntax tree correspond to the individual words in the input file. When traversing the abstract syntax tree, the system records the building block information and their relationships, and then generates a building block tree for large language model prompts. Each node in the tree represents a building block, which contains attributes such as name, input item, and field; the relationship between nodes is reflected in the parent node, adjacent nodes, and sub-stacks. For example, the "green flag" building block is associated with the "forever" loop building block as a parent node, and the latter may contain the "next building block" and "sub-stack" blocks.

[0037] Depth-first search and complexity assessment: We use depth-first search to traverse the building block tree and analyze projects based on the computational thinking skills standards proposed by Dr. Scratch to assess their complexity. The parsed project context is then used as long-term memory input for the large language model, further enhancing its understanding of community projects.

[0038] The complexity evaluation process is as follows: the complexity of the building block tree is calculated according to Dr. Scratch's standards (specifically, each node is checked using a depth-first traversal, and then a score is calculated. For example, if a node is related to computational concepts such as conditional logic, it will receive a +1 point) and a complexity score is finally obtained.

[0039] In addition, to enhance the information richness and reliability provided by the visual-text scaffolding, CoRemix uses comments and posts from the community as external knowledge sources to provide background information support for the large language model to generate answers. The specific process is as follows: Building the Scratch knowledge base: First, we collected 23,567 comments and posts from 10,000 popular projects in the Scratch community.

[0040] Information extraction and preprocessing: Using the Qwen2.5-14B model, we extracted sentences related to computing concepts, practices, and creative ideas from comments and posts. To improve the information extraction quality of the large language model, we fine-tuned the Qwen2.5-14B model using Lora. To fine-tune the large language model, we manually collected 1,000 pieces of data. For example, when a user asked, "Does anyone know how to make a good item list for a game?" and another user replied, "You can use List blocks to store items," we extracted the sentences containing the keywords and their context. Sentences longer than 400 words or less than 5 words in the extraction results were filtered to eliminate extraction errors.

[0041] Semantic embedding and merging: Semantic embedding was applied to the remaining sentences to merge sentences with similar semantics. After further manual review, a knowledge set consisting of 3,528 sentences was finally determined.

[0042] Retrieval-enhanced generation: In the process of item understanding and item re-creation, when the user asks a question q, the system retrieves the items from the knowledge base D = {d1, d2, d3, …, d n} to retrieve the top three sentences most relevant to the question, forming the context R(q, D) = {dq1, dq2, dq3}; then pass this context information as auxiliary input to the generation model (LLM) to obtain a more targeted and rich answer, that is, generate LLM(q, R(q, D)).

[0043] like Figure 3As shown in the figure, in actual operation, learners may encounter two main problems when constructing visual flowcharts: one is the difficulty in establishing connections between event nodes, and the other is unclear about how to add new nodes. Therefore, in this cycle, when the learner issues a request for help, such as "How to connect the football and other event nodes together", the system first provides an intuitive visual scaffolding to show how the various elements interact with each other; if the learner thinks he has understood it, the "thinking question generator" will guide the learner to reflect more deeply (for example, ask "Is condition 'x' necessary?"); if the learner is still unclear after multiple rounds of feedback, the system will enable text scaffolding, explain the logical principles behind it in detail, and provide detailed text prompts, while highlighting the relevant role nodes and code blocks used in the project, thereby helping learners gradually master the application of computing concepts.

[0044] Furthermore, during this process, learners can use the constructed flowchart to connect the generated events and images, and further refine the flowchart through visual-text scaffolding. This structured flowchart not only provides learners with a cognitive bridge, effectively breaking down complex programming tasks into several manageable steps, but also makes it easier for learners to translate abstract creative ideas into concrete code implementations. For example, when a 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.

[0045] After the learner decides to select one of the nodes, the large language model further recommends the connecting edges that can be used to build a new flowchart, and guides the learner to perform visual programming based on this flowchart, thereby achieving personalized project creative transformation.

[0046] To this end, this embodiment also provides a constructive loop mechanism that makes the dialogue process dynamic through multi-stage visual and textual scaffolding, and guides learners to think deeply through appropriate questions. The specific process is as follows: Chain thinking and answer generation: The system first uses the chain thinking strategy to let the large language model generate a summary answer, and then further generates a flowchart containing all the control dependencies with the code building blocks, recorded as generated_block = {block1, block2, …, block n}.

[0047] Visual feedback of flowcharts: CoRemix uses the unique identifiers of Scratch blocks to visualize the generated blocks, thereby constructing flowcharts. In the constructed flowchart, the nodes are presented in the form of Scratch blocks, and the corresponding connections between the nodes are shown by arrows.

[0048] Thinking question generation module: The system introduces a "thinking question generator" module, which relies on a large language model and RAG technology to generate questions that are relevant to the current conversation content and can trigger deep thinking.

[0049] Response Checking and Text Scaffolding: During the build cycle, the system checks each learner's response and determines whether more detailed text scaffolding is needed based on the constructive learner questioning protocol. If the learner's response is still unclear or inaccurate, the system uses a search-enhanced large language model to generate a text scaffolding. This scaffolding integrates high-quality resources from the community and provides detailed explanations and supplementary clarifications to help learners further deepen their understanding.

[0050] like Figure 4 As shown, this embodiment also provides an online programming community learning support system, which is used to implement the steps of the online programming community learning support method provided in the above embodiment, and includes a data preprocessing unit, an interaction unit, a scaffolding generation unit, a question-answering unit, and a visualization unit; The data processing unit is used to input the functional description of the project and the programming code blocks that complete the corresponding functions, so as to construct the corresponding project information and a building block tree for describing the relationship between the programming code blocks; The interactive unit is used to input the user's programming questions and understanding level, and to drag and / or link the logical order of each node in the project; The scaffolding generation unit is used to generate a visual scaffolding and a text scaffolding corresponding to the programming problem; The question-answering unit is used to generate interactive questions to determine whether the user understands the programming problem and generate corresponding teaching instructions; The visualization unit is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts.

[0051] More specifically, when learners use CoRemix to access a Scratch community project, CoRemix guides them through project understanding. First, we analyze the project using the Qwen2.5-VL-7B visual language model. Scratch projects consist of code blocks, images, and audio resources. The model extracts event nodes and computational concept nodes from these resources. Learners drag these nodes, establish edges between them, and learn computational concepts through this process. During this process, learners can also record corresponding event descriptions on the canvas. If learners encounter difficulties in constructing flowcharts, they can obtain support through a conversational agent implemented using a large language model enhanced by rag. After understanding the project, learners are required to recreate it. During this process, learners can use the constructed flowchart to connect the generated events and images and further refine the flowchart through visual-text scaffolding. This structured flowchart not only provides learners with a cognitive bridge, effectively breaking down complex programming tasks into manageable steps, but also makes it easier for learners to translate abstract creative ideas into concrete code implementations. For example, when a 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. After the learner decides to select one of the nodes, the system will further recommend connecting edges that can be used when constructing a new flowchart, and guide the learner to perform visual programming based on this flowchart, thereby achieving personalized project creative transformation.

[0052] In order to better illustrate the technical effect of the solution provided by the present invention, 10 projects with similar difficulty in the computational thinking scoring dimension were selected from the collected projects, and the project parsing module was used to extract the code blocks and corpus data as project context. In order to ensure the fairness of the comparison, the project descriptions provided by beginners were also used as the baseline project context. Then, these two different project contexts were used to construct prompts with consistent formats, thereby guiding the large language model to generate answers respectively. The two generation methods were named "project-based large language model" and "beginner-based large language model" respectively.

[0053] The two large language models are required to generate three indicators to reflect their level of understanding of the project. These three indicators are: Relationship: A description of the association between different events in the project and their interaction logic; Project process: understanding of the overall project operation process; Application of computing concepts: grasp and explain various computing concepts used in the project (such as conditional judgment, loop, etc.).

[0054] Subsequently, two experts with over five years of relevant teaching experience were invited to quantitatively evaluate the content generated by the two generation methods using a 7-point scale (1 represents "strongly disagree" and 7 represents "strongly agree"). The results, as shown in Table 1, show that the "project-based large language model" outperformed the baseline "beginner-based large language model" in all evaluation dimensions. This result demonstrates that the project parsing module, by integrating code building blocks and corpus information, enables the large language model to gain a more comprehensive understanding of the project, thereby improving the quality and relevance of the conversation between learners and the system.

[0055] .

[0056] In addition, we also evaluated the impact of the RAG module on the quality of the dialogue agent's generated responses. Specifically, we did this by: Two education experts wrote 10 questions based on the above 10 items; Generate answers to these questions using a vanilla large language model (as a baseline) and a retrieval-augmented large language model. Experts scored the generated answers based on four dimensions: relevance, content richness, fluency, and educational value, also using a 7-point scale.

[0057] The evaluation results are shown in Table 2, indicating that RA-LLM significantly outperforms the baseline model in terms of content richness and educational value. This demonstrates that the knowledge base built on community resources effectively enhances the background information support of the large language model, providing a broader knowledge base for answers and responding to learners' questions more accurately.

[0058] .

[0059] To verify the effectiveness of CoRemix in project understanding and re-creation activities, this patent adopted a within-subject design and conducted a comparative experiment using the Scratch community website as a baseline. The study focused on three core questions: How do visual flowcharts promote learners' understanding of community projects? How does the system help grasp computing concepts through flowchart construction and visual-text scaffolding? And how does the support of visual flowcharts for the creation of new nodes and relationships improve re-creation practices? The experiment recruited 16 programming beginners aged 9-12 (average age 10.06) and asked them to complete two themed tasks: a football game and a racing animation, under CoRemix and baseline conditions, respectively. Each task included project exploration, re-creation, project description, questionnaire, and 14 computing concept test questions. The experimental process was recorded through screen recordings and semi-structured interviews.

[0060] The results showed that CoRemix significantly improved learners' structured understanding of projects. The experimental group significantly outperformed the baseline group (p < 0.05) in key event identification (3.21 vs 2.63), project detail breakdown (3.65 vs 2.85), and logical relationship analysis (3.85 vs 3.21) (see Table 3). This is due to the flowchart's ability to decompose complex events into multi-canvas visual units and establish a logical chain through role-action-result nodes.

[0061] .

[0062] Participant P8 reported, "Flowcharts make it easier to understand the operational mechanisms of complex projects." Regarding computational concept learning, the experimental group showed significant improvements in test scores across four dimensions: abstraction, parallelism, synchronization, and data representation (p<0.05). Abstraction understanding saw the greatest improvement (1.62 vs. 0.69), demonstrating that the dual guidance of visual and textual scaffolding effectively facilitated concept internalization (see Table 4). Notably, when the system provided a code flowchart overview, 62.5% of learners proactively referenced the original project for verification. This proactive exploratory behavior confirms the core mechanisms of meaningful learning theory.

[0063] .

[0064] In terms of creative support, the experimental group added an average of 3.59 nodes and 6.79 edges, and 91% of participants used the system's suggested node association patterns. A creativity support questionnaire showed that CoRemix significantly outperformed the baseline in dimensions such as exploration (5.81 vs. 4.00), expressiveness (5.93 vs. 3.50), and immersion (5.93 vs. 2.87) (p<0.01), indicating that the visualization framework lowered the creative barrier through real-time suggestions (see Table 5). While there was no statistically significant difference in cognitive load between the two groups (4.56 vs. 3.68), the experimental group demonstrated more stable attention span during the 45-minute task, with 78% of participants stating, "The flowchart helped me systematically implement my creative ideas." These findings confirm that deconstructing projects into visual logical units, supplemented by dynamic scaffolding, can enhance learners' creative confidence and willingness to participate in the community while maintaining cognitive load.

[0065] .

[0066] In addition, the terms "upper", "lower", "inner", "outer", "front", and "back" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. Unless otherwise specifically stated, the relative steps, numerical expressions, and values of the components and steps described in these embodiments do not limit the scope of the present invention.

[0067] Of course, the above description is only a specific embodiment of the present invention and is not intended to limit the scope of implementation of the present invention. Any equivalent changes or modifications made based on the structure, features and principles described in the scope of the patent application of the present invention should be included in the scope of the patent application of the present invention.

[0068] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the above-described embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-described embodiments within the technical scope disclosed by the present invention, or replace some of the technical features therein with equivalents. Such modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.

Claims

1. A learning support method for online programming communities based on generative artificial intelligence, characterized in that: The following steps are involved: Inputting initial data to build a knowledge set about programming ideas, wherein the initial data includes programming questions and corresponding answer texts posted in an online programming community; Building a large language model based on the knowledge set combined with retrieval enhancement generation, the large language model includes a data preprocessing module, an interaction module, a scaffolding generation module and a question-answering module; 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 a building block tree for describing the relationship between the programming code blocks; The interactive module is used to input the user's programming questions and understanding level, where the understanding level includes understood and not understood; The scaffolding generation module includes a visual scaffolding and a text scaffolding. The visual scaffolding matches the project information according to the roles and results in the programming problem to obtain corresponding role nodes and result nodes. At the same time, it matches the knowledge set according to the behavior in the programming problem to obtain similar programming ideas as a contextual supplement to the large language model. The programming ideas generated by the large language model after the context supplementation and the building block tree are used to construct a programming code block node chain for connecting the role node and the result node; the text scaffold generates corresponding explanatory text through the programming ideas and the programming code blocks involved in the programming code block node chain; The question-and-answer module includes a thinking question generator, which generates corresponding interactive questions based on programming ideas, and judges whether the user's understanding level is correct based on the responses to the interactive questions to generate corresponding teaching instructions, which include completing learning and relearning.

2. The online programming community learning support method based on generative artificial intelligence according to claim 1 is characterized in that: The knowledge set extracts keywords from the content of the initial data based on computing concepts, practices and creative ideas, and merges the extracted keywords using a semantic embedding method.

3. The online programming community learning support method based on generative artificial intelligence according to claim 1 is characterized in that: The building block tree is constructed as follows: By parsing the project.json file in the project and encoding the parsed project.json file according to the preset grammar rules to build the corresponding abstract syntax tree; Traverse the words of each leaf node in the abstract syntax tree corresponding to the programming code block to build a building block tree for large language model prompts.

4. The online programming community learning support method based on generative artificial intelligence according to claim 3 is characterized in that: When building the abstract syntax tree, the programming code blocks in JSON format are converted into programming code blocks in the corresponding AST format.

5. The online programming community learning support method based on generative artificial intelligence according to claim 1 or 3, characterized in that: Each node in the building block tree includes a name of a programming code block, an input item, and a field.

6. The online programming community learning support method based on generative artificial intelligence according to claim 1 is characterized in that: The similar programming ideas include the top N statements obtained by matching the behaviors in the programming problem with the knowledge set.

7. The online programming community learning support method based on generative artificial intelligence according to claim 1 is characterized in that: When generating a programming code block node chain, a depth-first search is used to traverse the building block tree.

8. The online programming community learning support method based on generative artificial intelligence according to claim 1 is characterized in that: The large language model also includes a visualization module and an operation module. The visualization module is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts, and the operation module is used to drag and / or link the logical order of each node in the project.

9. An online programming community learning support system, characterized in that: Steps for implementing the online programming community learning support method based on generative artificial intelligence as described in any one of claims 1 to 8, comprising a data preprocessing unit, an interaction unit, a scaffolding generation unit, a question-answering unit, and a visualization unit; The data processing unit is used to input the functional description of the project and the programming code blocks that complete the corresponding functions, so as to construct the corresponding project information and a building block tree for describing the relationship between the programming code blocks; The interactive unit is used to input the user's programming questions and understanding level, and to drag and / or link the logical order of each node in the project; The scaffolding generation unit is used to generate a visual scaffolding and a text scaffolding corresponding to the programming problem; The question-answering unit is used to generate interactive questions to determine whether the user understands the programming problem and generate corresponding teaching instructions; The visualization unit is used to visually output the generated role nodes, result nodes, programming code block node chains and explanatory texts.

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

  • Large language model question and answer method and system based on retrieval enhancement generation scheme

    CN119739828A

  • Knowledge graph-based large language model intelligent teaching-assistant question-answering system and implementation method thereof

    CN119782452A

  • Online teaching programming system and teaching recommendation method based on large language model assistance

    CN119991244A