Programming learning method, device, equipment and storage medium

By determining recommended content from the programming knowledge graph and obtaining learning behavior data of the learner, personalized content recommendation is achieved, solving the problem of insufficient personalized guidance in existing programming education methods, and improving learning efficiency and teaching quality.

CN116450801BActive Publication Date: 2025-01-21BEIJING SIMING QICHUANG TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310317519.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-29
Publication Date
2025-01-21
Estimated Expiration
2043-03-29

AI Technical Summary

Technical Problem

Existing programming education methods are difficult to achieve personalized guidance, resulting in low learning efficiency and reduced learning interest.

Method used

By determining the recommended content from the programming knowledge graph, obtaining the learner's learning behavior data in programming mode, and determining the learner's current mastery based on these data, personalized content recommendations are achieved.

Benefits of technology

It improves the quality of teaching, provides personalized content services based on the individual characteristics of learners, and helps learners truly apply and test the knowledge they have learned to achieve higher learning goals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116450801B_ABST
    Figure CN116450801B_ABST
Patent Text Reader

Abstract

The present invention discloses a programming learning method, device, equipment and storage medium, and relates to the field of programming education technology. The programming method includes: obtaining the learning behavior data of the learner for the recommended content in the programming mode; wherein the recommended content is determined from the programming knowledge graph; and according to the learning behavior data, determining the current mastery of the programming knowledge by the learner. Through the above technical scheme, it is realized to make precise and personalized content recommendations based on the behavior data generated by the learner's learning process, and provide personalized content services for the individual characteristics of the learner on a large scale, so that the learner can truly apply and test the knowledge learned and achieve higher learning goals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of programming education technology, and in particular to programming learning methods, devices, equipment and storage media. Background Art

[0002] With the continuous advancement of quality education and the improvement of living standards, more and more people are beginning to learn programming. Learning programming is not only helpful for mathematics and scientific knowledge, but also has a positive and important role in language, creativity, and social communication.

[0003] In the prior art, traditional programming requires learning a large number of instructions, function names, etc. by watching videos and practicing exercises. It is a complicated and difficult process. It is not easy to get started quickly and it is easy to lose interest in further learning programming. It is difficult to achieve higher learning goals by relying solely on video learning and ordinary practice. Summary of the invention

[0004] The present invention provides a programming learning method, device, equipment and storage medium to achieve personalized guidance of programming learning.

[0005] In a first aspect, a programming learning method is provided, the method comprising:

[0006] Acquiring learning behavior data of the learner on the recommended content in the programming mode; wherein the recommended content is determined from the programming knowledge graph;

[0007] The current mastery of programming knowledge by the learner is determined based on the learning behavior data.

[0008] In a second aspect, a programming learning device is provided, the device comprising:

[0009] A learning behavior data acquisition module, used to acquire the learning behavior data of the learner on the recommended content in the programming mode; wherein the recommended content is determined from the programming knowledge graph;

[0010] The mastering status determination module is used to determine the current mastering status of the learner on programming knowledge based on the learning behavior data.

[0011] In a third aspect, an embodiment of the present invention further provides a programming learning system, the system comprising:

[0012] A programming learning platform, used to obtain learning behavior data of a learner on recommended content in a programming mode; wherein the recommended content is determined from a programming knowledge graph; and based on the learning behavior data, determine the current mastery of programming knowledge by the learner;

[0013] The learner client is used for the learner to study the recommended content in programming mode and generate learning behavior data.

[0014] In a fourth aspect, an embodiment of the present invention further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, a programming learning method as described in any one of the embodiments of the present invention is implemented.

[0015] In a fifth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a programming learning method as described in any one of the embodiments of the present invention.

[0016] The technical solution of the embodiment of the present invention determines the recommended content from the programming knowledge graph, obtains the learning behavior data of the learner on the recommended content in any programming mode, and determines the learner's current mastery of the programming knowledge in the recommended content based on the obtained learning behavior data. The above technical solution realizes accurate and personalized content recommendation based on the behavior data generated by the learner's learning process, improves the teaching quality, and can provide personalized content services for the individual characteristics of the learner on a large scale.

[0017] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0019] Figure 1 is a flowchart of a programming learning method provided according to Embodiment 1 of the present invention;

[0020] Figure 2 is a flowchart of a programming learning method provided according to Embodiment 2 of the present invention;

[0021] Figure 3 is a flowchart of a programming learning method provided according to Embodiment 3 of the present invention;

[0022] Figure 4 is a flowchart of a programming learning method provided according to a fourth embodiment of the present invention;

[0023] Figure 5 is a structural diagram of a programming learning device provided according to Embodiment 5 of the present invention;

[0024] Figure 6 It is a schematic diagram of the structure of an electronic device for implementing the programming learning method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0025] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme 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. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0026] It should be noted that the terms "current", "historical", "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0027] In addition, it should be noted that the collection, storage, use, processing, transmission, provision and disclosure of learning behavior data involved in the technical solution of the present invention are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0028] Embodiment 1

[0029] Figure 1 A flowchart of a programming learning method is provided for the first embodiment of the present invention. This embodiment can be applied to the situation of how to provide personalized guidance and teaching to learners in programming teaching scenarios. The method can be executed by a programming learning device, which can be implemented in the form of hardware and / or software. The programming learning device can be integrated into an electronic device that carries programming learning functions, such as a programming platform in a client device or a server device, where the client device can be a tablet computer and a desktop computer, etc. Figure 1 As shown, the method includes:

[0030] S110. Obtaining the learning behavior data of the learner on the recommended content in the programming mode.

[0031] Among them, the recommended content is determined from the programming knowledge graph.

[0032] The learning party refers to the party that needs to learn programming, such as a student.

[0033] Programming mode refers to different difficulty levels and different forms of programming learning methods; different programming models have different difficulties; different learners learn different contents under the same programming mode. Optionally, programming modes may include pre-class preparation mode, level-breaking course mode, error book mode, stage assessment mode, extended classroom mode, free creation mode, additional practice mode, competition mode, and online battle mode. It should be noted that the difficulty levels of pre-class preparation mode, level-breaking course mode, error book mode, stage assessment mode, extended classroom mode, free creation mode, additional practice mode, competition mode, and online battle mode increase in sequence. Each programming mode of difficulty has a corresponding teaching goal. Learners gradually improve their own learning goals corresponding to the teaching goals by learning programming under the teaching goals of programming modes with increasing difficulty. Optionally, the learning goals from high to low may include: memory, understanding, application, analysis, evaluation, and creation.

[0034] For example, the teaching objectives of the pre-class preparation mode, the level-breaking course mode, and the error book mode are memory and understanding. The pre-class preparation mode is a classroom assessment before the level-breaking course mode begins. Generally, the first lesson is an open-ended question that tests some programming cognition and does not involve knowledge points. Starting from the second lesson, the programming platform will automatically generate test questions corresponding to the knowledge points of the previous lesson based on the learner's evaluation of the knowledge points of the previous lesson. It is mainly a review of the knowledge points of the previous lesson, and tests the learner's memory and understanding of the main knowledge points. The level-breaking classroom mode achieves course learning by level-breaking. For each lesson, the first preset number of main knowledge points are usually set, and the plot will be introduced in the process; the learner participates in the plot from the first perspective and helps the characters in the plot complete the task. After the plot is introduced, the first knowledge point used will be explained, and the knowledge point learning is completed with video explanation + level-breaking + test questions as a small closed loop; a knowledge point usually has a second preset number of small closed loops, and the interactive form of each closed loop is different, and the level-breaking difficulty will be slightly increased. With timely feedback, the learner can get a sense of accomplishment in time, and the learner's understanding and mastery of the knowledge points can be checked by playing on the programming platform. The wrong question mode contains all the test questions that the learner answered wrongly for the first time in the pre-class preparation and level-breaking classroom. The learner needs to practice the wrong questions again and needs to answer the questions of the same knowledge point correctly for at least the first preset number of times. In addition to practicing the wrong questions again, the programming platform will also generate different types of test questions according to the knowledge points of the wrong questions. For example, if the learner makes a mistake in the multiple-choice question on the knowledge point of "how many steps to move", the programming platform will adjust the variable value according to this knowledge point to generate a new code, generate multiple-choice questions or fill-in-the-blank questions for the learner to answer. For each wrong question, the programming platform will generate at least a third preset number of corresponding questions to test whether the learner truly understands and masters the question. Specifically, the programming platform can generate questions based on the following methods:

[0035] The programming platform reads the question configuration corresponding to the knowledge point, and generates the question variable value of the new test question according to the variable range in the question configuration;

[0036] Through the description set associated with the knowledge point in the database, a description is randomly selected according to the keyword group configured in the description to generate the title description of the new test question;

[0037] Generate the answer to the current new test question based on the calculation formula preset in the configuration.

[0038] Among them, if the new test question is a fill-in-the-blank question, the answer corresponding to the new test question is selected according to the keyword group in the question configuration; if the new test question is a multiple-choice question, the option corresponding to the new test question (i.e., the question answer) is generated according to the answer set configured by the new question description.

[0039] If the number of times the learner makes mistakes in the assessment of a knowledge point exceeds the second preset number of times, the programming platform will pop up a knowledge point explanation video for the learner to learn again, so that the learner can better learn and understand the next learning content, and avoid the learner from developing a dislike for learning when the learner has more and more knowledge points that they have not mastered. Among them, the first preset number, the second preset number, the third preset number, the first preset number of times, and the second preset number of times can be set by those skilled in the art according to actual conditions.

[0040] For example, the teaching objectives of the stage assessment model are memory, understanding and application. The stage assessment model will set the main knowledge points for each chapter. The stage assessment test assesses the learner's mastery of the main knowledge points of the chapter. It is generally set in the last class of each chapter. The assessment content is not just the application of a single knowledge point, but the comprehensive application of the knowledge points learned in the entire chapter and the knowledge points learned in the previous chapters. The form of stage assessment is mainly to answer basic questions and pass levels. The theme of the basic questions tends to be gamified. The programming platform automatically generates assessment questions within the scope of the knowledge points learned, and sets a time limit for answering questions. For example, a fixed number of test questions are completed within the specified preset time. A countdown is set for each test question. On the one hand, it assesses the students' mastery of the knowledge points, and on the other hand, it assesses the learners' adaptability and logical thinking ability in a short period of time, making the assessment process more interesting and challenging. After passing the basic test questions, the level-breaking stage is entered, which is a comprehensive application of the knowledge points learned at this level. The level-breaking stage usually has a theme, such as controlling the movement of the walnut to avoid the shells fired by the turret to rescue the peach, requiring the learners to use the main knowledge points learned in this chapter and cooperate with other learned knowledge points to complete the level-breaking stage. Among them, the preset time and fixed number can be set by technical personnel in this field according to actual conditions.

[0041] Exemplarily, the teaching objectives of the extended classroom model are application and analysis. The extended classroom generates semi-open subject training or level clearance training that matches the learning behavior data of the learner based on the learning behavior data of the learner; the learner needs to complete one or more training projects as required. When the learner encounters difficulties during a project or challenge, such as when the learner lasts too long in a level or project, the programming platform will trigger a prompt. The learner can find explanation examples or code application examples of the knowledge points needed for the level in the prompt, and can also choose to reduce the difficulty of passing the project or level according to the prompt. This embodiment can realize real-time pre-monitoring of each learner and provide personalized content recommendations for each learner.

[0042] Exemplarily, the teaching objectives of the free creation mode are application, analysis and evaluation. Compared with the extended classroom mode, the free creation mode has a higher degree of freedom and openness. The free creation mode does not limit the knowledge points learned in the course. In terms of functions, in addition to providing learners with the function of free creation, the programming platform will preset semi-creative projects, in which the preset semi-creative projects contain preset codes, and learners can continue to create on the basis of the preset codes; at the same time, the programming platform also has sharing and preview functions, and learners can also preview and share creation projects with each other, and can download the project code of interest to continue to create. Specifically, it can be achieved by setting permissions. For example, after the creation, the learner can share it with other learners in the form of a sharing link. When the learner who receives the address (link) accesses the link, the programming platform will detect the sharing validity of the link. If the detection passes, the shared party will be given the permission to add the current work, which includes but is not limited to viewing permission, running permission, and editing permission.

[0043] Furthermore, in the free creation mode, in addition to writing code, learners can also combine programming code with hardware and download the written code to the hardware, such as a marquee, a car, a robot, etc., and program in combination with the hardware to truly apply the code to practice. Specifically, the programming platform has set up a code conversion module, which adapts the original code to the hardware operation by adding preset codes and modifying the names of corresponding functions; after the code conversion is successful, the code is downloaded to the hardware for operation.

[0044] In addition, in the free creation mode, learners can upload their own project codes to the display area, and learners can evaluate each other and display some excellent projects on the top. It should be noted that excellent projects can be directly run on the web terminals of different learners, thus achieving full-terminal operation.

[0045] For example, the teaching goal of the additional practice mode is memory and understanding. The additional practice mode examines the comprehensive application of several knowledge points, such as obtaining the error code that occurs during the student's programming practice, involving multiple knowledge points, and pushing additional practice questions to the corresponding learners according to the scope of the knowledge points involved. In addition to writing code, the actual programming project is also a process of code debugging. By running the code to check the effect, you can judge which link in the code running process has problems and think about the efficiency of code running, so as to strengthen the students' practical awareness.

[0046] For example, the teaching objectives of the competition mode are application and analysis; the teaching objectives of the online battle mode are application, analysis, evaluation and creation.

[0047] The programming model in this embodiment can provide learners with comprehensive assessment and practice, so that learners can first memorize and understand the programming knowledge, and then repeatedly apply and test the learned programming knowledge, flexibly apply the learned programming knowledge, and gradually achieve the ultimate learning goal.

[0048] The so-called programming knowledge graph refers to a graph that contains all programming learning content. Optionally, the programming knowledge graph includes at least one programming knowledge category; the programming knowledge category includes at least one programming knowledge point; the knowledge point corresponds to at least one content resource; the content resource includes at least one of the following: knowledge point explanation video, test questions and practice levels; the programming knowledge point is the smallest indivisible granularity in the programming knowledge graph; there are edges with arrows between different programming knowledge points, indicating the learning order of the programming knowledge points.

[0049] The so-called learning behavior data refers to the behavior data of programming learning in programming mode. Optionally, the learning behavior data includes at least one of the following: first learning behavior data of knowledge point explanation videos, second learning behavior data of practice levels, third learning behavior data of test questions and program writing data; wherein, the first learning behavior data refers to the behavior data involved when the learner watches the knowledge point explanation video; the second learning behavior data refers to the behavior data involved when the learner learns programming through practice levels; the third learning behavior data refers to the behavior data involved when the learner solves programming problems. Among them, the first learning behavior data may include viewing time and / or number of views; the second learning behavior data may include at least one of the following: stay time, number of attempts, whether to check auxiliary prompts and whether to replay the knowledge point explanation video; the third learning behavior data may include at least one of the following: first answer time, first answer accuracy and re-answer accuracy.

[0050] The so-called recommended content refers to the learning content presented to the learner in the programming mode; optionally, the recommended content can be programming knowledge points suitable for the learner based on the learner's ability level, which can be determined from the programming knowledge graph.

[0051] An optional method is to determine the recommended content from the programming knowledge graph, including: obtaining the historical learning behavior data of the learner in the programming mode; determining the learning behavior and ability portrait of the learner based on the historical learning behavior data; determining the recommended content from the programming knowledge graph based on the learner's learning behavior and ability portrait, and pushing the recommended content to the learner.

[0052] The historical learning behavior data refers to the behavior data of programming learning in the programming mode under historical circumstances.

[0053] Specifically, the historical learning behavior data of the learner in the programming mode can be obtained, and then the model can be determined based on the ability portrait. According to the historical learning behavior data, the learning behavior and ability portrait of the learner can be determined, and then according to the learning behavior and ability portrait of the learner, the corresponding recommended content can be determined for the learner from the programming knowledge map, and the recommended content can be pushed to the learner. Among them, the ability portrait determination model can be obtained based on a machine learning algorithm.

[0054] In addition, in the initial stage of each programming mode, the programming platform allows different learners to download course packages (i.e. the most basic learning content) to the learner's local computer. In other words, the programming platform has a set of the most basic learning content that is suitable for all learners, which can be a backup plan for learners who are unable to obtain recommended content due to poor network connection or other abnormal situations.

[0055] Specifically, in response to a learning operation of the learner in any programming mode in the programming platform, the learning behavior data of the learner on the recommended content in the programming mode is obtained. The learning operation may be a click, fast forward, drag, input operation, etc.

[0056] S120. Determine the learner's current mastery of programming knowledge based on the learning behavior data.

[0057] The current mastery status refers to the learner's mastery of programming knowledge in the current programming mode; optionally, it can be expressed in the form of scores, grades, etc.

[0058] Specifically, a mastery determination model can be used to determine the current mastery of programming knowledge by the learner based on the learning behavior data, wherein the mastery determination model can be obtained based on a deep learning algorithm.

[0059] The example of the present invention determines recommended content from the programming knowledge graph, obtains the learner's learning behavior data on the recommended content under any programming mode, and determines the learner's current mastery of the programming knowledge in the recommended content based on the obtained learning behavior data. This achieves accurate and personalized content recommendations based on the behavior data generated by the learner's learning process, improves teaching quality, and can provide personalized content services tailored to the individual characteristics of the learner on a large scale, allowing the learner to truly apply and test the knowledge they have learned and achieve higher learning goals.

[0060] Embodiment 2

[0061] Figure 2 This is a flowchart of a programming learning method provided in the second embodiment of the present invention. This embodiment further refines the above embodiment and provides specific steps for determining the current mastery of programming knowledge by the learner based on the learning behavior data. Figure 2 As shown, the method includes:

[0062] S210: Obtain learning behavior data of the learner on the recommended content in programming mode.

[0063] Among them, the recommended content is determined from the programming knowledge graph.

[0064] S220: Determine the dimension score of the learner in the preset dimension based on the learning behavior data.

[0065] The preset dimension refers to the dimension for judging the quality of programming learning in the programming mode; optionally, the preset dimension may include at least one of the following dimensions: rigor, logic, concentration, knowledge and creativity. Dimension scoring refers to the scoring of the programming learning process in the preset dimension in the programming mode; it should be noted that different preset dimensions have different corresponding dimension scoring rules.

[0066] An optional method is to determine the dimension score of the learner in the preset dimension based on the preset dimension score calculation rules and the learning behavior data. For example, the dimension score of the rigor dimension can be determined based on the ranking percentage of the average score of the in-class test and the number of pass times in the current period of the learner, for example, it can be determined by the following formula:

[0067] The dimension score of the rigor dimension = 70 + [in-class test score*0.6+(1-the average number of pass times ranked in the current learning period)*40]*0.3.

[0068] For another example, the dimension score of the logic strength dimension can be determined according to the ranking percentage of the online time of the learner in the current period, the proportion of the learner's maximum number of consecutive clearances, and the proportion of the learner's one-time clearance. For example, it can be determined by the following formula:

[0069] The dimension score of the logical ability dimension = 70 + [(1-the ranking percentage of the learner's online time among the learners in this period) * 80 + the learner's maximum number of consecutive clearances * 10 + the learner's one-time clearance ratio * 10] * 0.3.

[0070] For example, the dimension score of the concentration dimension can be determined according to the online time of the learner and the total time of the course, for example, it can be determined by the following formula:

[0071] The dimension score of the concentration dimension = 70 + (the online time of the learner / the total time the learner has completed the course) * 30.

[0072] For another example, the dimension scoring of the knowledge power dimension can be to set a percentage weight based on the learner's first answer accuracy rate for each knowledge point. The percentage weight represents the learner's mastery of the knowledge point. Based on the learner's consolidation of the wrong knowledge points, the percentage weight of the first answer accuracy rate for the wrong knowledge points is updated.

[0073] For example, the dimension score of the creativity dimension can be determined comprehensively based on the number of projects generated in the free creation mode and the online battle mode, as well as the evaluation scores of the course instructor and the class teacher.

[0074] Among them, the dimension score of the creativity dimension can be 1-10 points.

[0075] Another optional method is to determine the dimension score of the learner in the preset dimension based on the learning behavior data based on the five-force model. Specifically, the learning behavior data corresponding to the preset dimension can be input into the five-force model, and after model processing, the dimension score of the learner in the preset dimension can be obtained.

[0076] Among them, the five-force model can be trained based on the machine learning algorithm and historical learning behavior data. Specifically, first prepare the training data required for model learning, divide the historical learning behavior data of the learner into 5 levels (A, B+, B, B-, C), select the historical learning behavior data corresponding to levels A, B+, and B as positive samples, and the historical learning behavior data corresponding to levels B- and C as negative samples.

[0077] Furthermore, the five forces model consists of two parts, one is the scorecard model and the other is the score conversion model; the scorecard model can adopt the logistic model, as shown in the following formula:

[0078] in, represents the winning rate, p represents the probability of a positive sample; ω1,ω2,…,ω i ,…,ω n They represent the parameters required by the model respectively; x1, x2, …, i, …, x n They represent the input training data respectively.

[0079] Furthermore, the score conversion model can be implemented by the following formula:

[0080] score=AB*ln(odds)

[0081] Among them, score represents the dimension score of the final output; A and B are parameters in the score conversion model. The determination of parameters A and B involves the following two premises: 1) the benchmark score in a certain preset dimension, denoted as P0; 2) when odds double, the score decreases by a value, denoted as PDO (point of double odds).

[0082] Based on the above two premises, we can get the following two formulas:

[0083] P0=AB*ln(odds)

[0084] PDO=AB*ln(2*odds)

[0085] Based on the above two formulas, we can solve A=P0+B*ln(2*odds).

[0086] In summary, the five-force model can be obtained. It should be noted that after obtaining the score, the score can be linearly mapped to 0-100 points according to the distribution of the learners.

[0087] Specifically, the learner is scored in different dimensions of the learning process according to the learning behavior data of a certain class in any mode, so as to obtain a comprehensive evaluation of the learner in the learning process. For example, based on the five-force model, the learner's five-force score for each class in the level-breaking course mode can be calculated. When the learner triggers the completion of the class, the five-force score will be called by the learning report, and the programming platform will give an evaluation of the learner's comprehensive performance in the class.

[0088] S230. Determine the learner's current mastery of programming knowledge based on the dimension scores.

[0089] Specifically, the current mastery of programming knowledge points by the learner is determined based on the scores of different dimensions. For example, the score of the concentration dimension can show how long the learner has stayed in the learning of the knowledge point, and the score of the logic dimension can represent the learner's ability to digest and understand the knowledge point; different learners have different learning abilities, learning efficiencies, and acceptance of knowledge points. The five-force scores calculated by the five-force model can reflect the learner's mastery of the knowledge points to a certain extent.

[0090] Optionally, after determining the learner's current mastery of programming knowledge based on the dimension scores, the recommended content can be re-determined from the programming knowledge graph based on the dimension scores.

[0091] For example, the logic ability score can represent the learner's ability to digest and understand knowledge points. For learners with high logic ability rankings, knowledge points with higher learning difficulty can be recommended in the study of subsequent courses.

[0092] In the example of the present invention, the dimensional score of the learner in the preset dimension is determined through the learning behavior data, and content recommendations suitable for the learner are pushed to the learner according to the score of the preset dimension, thereby realizing accurate and personalized content recommendations based on the behavioral data generated by the learner's learning process. While improving the teaching quality, personalized content services tailored to the individual characteristics of the learner can be provided on a large scale, allowing the learner to truly apply and test the knowledge he has learned and achieve higher learning goals.

[0093] Embodiment 3

[0094] Figure 3 This is a flowchart of a programming learning method provided in the third embodiment of the present invention. This embodiment further refines the above embodiment and provides specific steps for obtaining the learning behavior data of the learner on the recommended content in the programming mode if the programming mode is the competition mode. Figure 3 As shown, the method includes:

[0095] S310: Determine the competition level corresponding to the learner.

[0096] Among them, the competition level refers to the difficulty level of the competition. Optionally, the competition level can be determined based on the scope of knowledge points mastered by the learner and the historical mastery. For example, a certain level of competition will test knowledge points ABCDE, and the knowledge points that learner a has learned include ABCDEF, which include the knowledge points to be tested in the competition, then learner a can participate in the competition of this level.

[0097] S320, obtaining the learning behavior data of the learner corresponding to the competition level in the competition mode.

[0098] Among them, the competition mode is a type of programming mode; optionally, the competition question bank in the competition mode contains real test questions from previous years counted based on knowledge point labels. The programming platform can reasonably predict the knowledge point distribution of future competitions and automatically generate simulation test questions based on the knowledge point distribution of historical competition test questions with knowledge point labels.

[0099] Optionally, the learners who can participate in the competition mode are only those who have reached a preset programming level through the programming learning process. Optionally, the preset programming level can be set rationally by the programming platform.

[0100] Specifically, the program writing data (ie, program code) corresponding to the competition level in the competition mode submitted by the learner is obtained.

[0101] S330. Based on preset code indicators and learning behavior data, determine the learner's current mastery of programming knowledge.

[0102] Among them, the preset code indicators may refer to the readability, simplicity, scalability and reusability of the code, which are used to judge the quality level of the programming code.

[0103] Specifically, based on the program code submitted by the learner at the competition level corresponding to the competition mode, the submitted program code will be scored and suggestions will be made based on the readability, simplicity, scalability and reusability of the code.

[0104] Optionally, after scoring the submitted code and making suggestions, you can also:

[0105] The learner can process and submit the program code submitted last time based on the suggestions made. After submission, it will be scored and evaluated again, forming a closed loop, which encourages the learner to improve the quality of the code.

[0106] In the example of the present invention, the learners participating in the competition mode have a certain level of programming ability. Through the process of submission, processing and resubmission, the learners can continuously improve the quality of the code while ensuring that the program code can be run, so that the code written by the learners meets the preset code indicators.

[0107] Embodiment 4

[0108] Figure 4 This is a flowchart of a programming learning method provided in the fourth embodiment of the present invention. This embodiment further refines the above embodiment and provides specific steps for obtaining the learning behavior data of the learner on the recommended content in the programming mode if the programming mode is an online battle mode. Figure 4 As shown, the method includes:

[0109] S410: In response to the learning party's selection operation of a sub-combat mode in the online combat mode, determining a target combat sub-mode.

[0110] Among them, the online battle mode is a kind of programming mode. Optionally, the online battle mode is presented in a gamified form, in which learners can realize real-time cooperation and / or battle with each other.

[0111] Among them, the sub-combat mode may include a single-player mode and a multiplayer mode. Optionally, the number of game characters in the multiplayer mode is the number of learning participants.

[0112] Optionally, the learner can select a single-player mode or a multiplayer mode in the online battle mode; accordingly, the programming platform can determine the single-player mode or multiplayer mode selected by the learner as the target battle sub-mode. For example, the learner can be recommended a corresponding game based on the learner's learning behavior data, wherein the game can be a multiplayer mode; further, teammates or opponents of comparable strength can be provided to the learner.

[0113] S420: In response to the learner's selection operation on the target combat sub-mode sub-game character, determine the target game character.

[0114] Among them, the game character refers to the character that needs to be controlled to complete the battle in the online battle mode, and the game character selected by the learner is the target game character corresponding to the learner.

[0115] The selection operation may refer to operations such as clicking by the learner in the programming platform.

[0116] Specifically, the learner clicks on the game character he wants in the online battle model in the programming platform; accordingly, the programming platform uses the game character as the target game character of the learner. For example, if in multiplayer mode, the programming platform can also match the learners and assign corresponding game characters to different learners in the same scene. For another example, in cooperative mode, different tasks can be assigned to different target game characters (learners) according to the game's task list, or the assignment of game tasks can be achieved in response to the selection of tasks by different learners (target game characters). Furthermore, the code (behavior control code) written by each learner will control the corresponding character to complete the corresponding task.

[0117] S430: Obtain the behavior control code for the target game character written by the learner.

[0118] Among them, the behavior control code refers to the logic program code for controlling the target game character in accordance with the rules of the game, which is generated by the learner; it should be noted that all actions generated by the target game character must be based on the logic program code. For example, if you want to control the movement of the target game character, first of all, there must be a rule code in the logic program code to control the movement of the target game character. For example, when the up, down, left, and right instructions typed on the keyboard are received, the control code for the target game character to move up, down, left, and right will be generated.

[0119] Specifically, the learner can write the behavior control code for the target game character according to the specific project task, and click the run button in the interface to upload the behavior control code to the programming platform; accordingly, the programming platform starts running the code after obtaining the behavior control code of the target game character in the corresponding scenario.

[0120] Furthermore, the server of the programming platform runs the behavior control code of the target game character and collects the game operation log at the same time, wherein the game operation log is transmitted to the learner through a long connection; the client of the learner receives the log data transmitted through the long connection, obtains the character instructions according to the log data, and operates the game character to play. It should be noted that the video data obtained by the learner is relatively large, and in this embodiment, the programming platform returns only the key frame data to the learner.

[0121] Furthermore, a set of key frame instructions (instructions of game characters, i.e. key instructions) can be predefined. After the key frame instructions are run within the system, the key frame instructions will be output to the learner's client in the form of logs; accordingly, the client receives the key frame instructions and executes them according to the key frame instructions to achieve the playback of the game running effects, wherein the key frame instructions are the key frame instructions negotiated between the client and the server.

[0122] Optionally, the learner can arbitrarily write the behavior control code of the corresponding target game character according to the programming knowledge mastered (not limited to the programming knowledge involved in the course) according to his own thinking logic to increase the degree of freedom of the online battle mode. Specifically, the code written by the learner obtains the environmental data provided in the game scene by receiving the input parameter, for example, the position, speed, angle and other information of the bullet in the game scene; after receiving the input parameter data, the learner designs the execution strategy of the game character in the environment, such as what kind of situation to accelerate, what kind of situation to turn left, what kind of situation to shoot, etc. The goal of these strategies is to win the game efficiently. It should be noted that the platform judges the operation results in an event-driven manner, and does not limit the execution strategy of the learner, thereby realizing the diversification of the learner's design scheme. The autonomy of online battle is relatively high. In this way, the learner's creativity can be fully exerted, and the behavior control code can be uploaded to the programming platform; or the corresponding behavior control code can be written in the programming platform. Correspondingly, the programming platform can obtain the behavior control code for the target game character written by the learner.

[0123] S440: Determine the target execution action of the target game character according to the behavior control code to control the target game character to execute the target execution action until the game ends, and record the game process.

[0124] Among them, the target execution action refers to the execution action corresponding to the behavior control code made by the target game character according to the behavior control code, such as execution, turn left or turn right.

[0125] Specifically, the programming platform can generate a target execution action that can control the target game character game based on the preset code action conversion rules and the behavior control code written by the learner, and then control the target game character to perform the corresponding target execution action until the game ends. It should be noted that the game projects in the programming platform will have descriptions of the game goals, game characters, the input and output parameter definitions of the game characters, and the corresponding instructions for the output parameters; the learner can understand the meaning of the input parameters of the game character and the corresponding instructions for the output parameters, for example, outputting a left turn means controlling the character to turn left, and outputting a grab means controlling the character to grab gems, etc. In this way, after the learner submits the code, the command output by the operation will be converted by the programming platform into a corresponding action instruction and passed to the game character. For example, if the learner outputs a left turn, the programming platform converts it into a game output of a left turn, that is, the learner's code controls the action of the game character.

[0126] At the same time, the programming platform can also record the entire game process to facilitate subsequent review by the learner. That is, the execution instructions sent to the learner will be saved in real time by the server (programming platform) for subsequent sharing or review.

[0127] In addition, it should be noted that the programming platform provides a video function, which allows learners to communicate with other learners in real time through video in multiplayer mode to generate behavior control codes to complete game challenges. That is, at this time, the multiplayer mode is a collaborative mode, and different learners can discuss goals; when the programming platform assigns tasks, the tasks are divided into multiple blocks. On the one hand, the learner can use the video function to communicate the specific assignment method of the task or discuss the specific implementation logic, etc.; in addition, during the game editing process, the code can be synchronously displayed to the collaborator in the form of instructions, and the collaborator can see the real-time changes of its code. It should be noted that in this embodiment, the collaborator can only see the code editing process, but cannot directly write the other party's code, ensuring that the learner's code is self-edited to avoid cheating. It should be noted that the video function is an independent function in the programming platform.

[0128] S450: Determine the learner's current mastery of programming knowledge based on the game process and the behavior control code.

[0129] An optional method is to determine the current mastery of programming knowledge by the learner based on the completion of tasks during the game and the quality of the behavior control code. For example, the task execution score can be determined based on the completion of tasks during the game, and the quality score of the behavior control code can be determined based on the code evaluation index, and then the result of adding the task execution score and the quality score is used as the current mastery of programming knowledge by the learner.

[0130] Some examples, if the online battle mode releases a task of grabbing gems, whoever can use the least time, use less code, and run faster will win. If the online battle mode simulates a team working together to complete a game project, such as the gold miner game, see whether the team can work together to produce a fun game, and all the codes can still run smoothly when merged into one project. In addition to examining the quality of code writing, this part also needs to consider the quantitative indicators of code quality, whether the overall code meets the four indicators of readability, simplicity, scalability, and reusability, and truly achieve creation through the knowledge learned. Specifically, for readability, by enumerating the user-defined function names and variable names and comparing them with the function module names, it can be judged whether the names defined by the learner are easy to understand; for simplicity, the scoring interval is designed according to the number of lines of code, for example, 5 lines can be completed, and the code score of more than 5 lines is low. For reusability, by segmenting the submitted code, identifying the number of classes defined by the learner and the number of abstracted functions, reusability is judged. For scalability, detect the number of identical codes in the learning party code. If the number of identical codes is high, it means that the reusability is poor.

[0131] Another optional method is to use the completion score of the game tasks in the game as the input of the five forces model, and after processing by the five forces model, output the final knowledge point mastery score, that is, the learner's current mastery of the programming knowledge involved in his or her behavior control code.

[0132] The embodiments of the present invention solve the problem that the learning process is not interesting enough for learners in terms of experience by introducing a gamified programming process and experience. Online battles and cooperation with multiple learners can be carried out to make the learning process interactive and atmospheric. The behavior control codes of the learners are uniformly run on the server without downloading extra clients.

[0133] On the basis of the above embodiments, as an optional method of the present invention, set memory space can also be allocated to different learners. Allocating independent memory space to different learners to run the behavior control code of their respective target game characters avoids the overload of memory space caused by continuous occupation of the CPU when the behavior control code submitted by a certain learner is running, realizes the mutual isolation of the CPU and memory, and avoids the mutual influence of the behavior control codes of different learners when running; that is, in order to ensure the security of the system, in order to avoid the problem of memory and CPU problems in the learner program causing system instability, the memory and CPU used by the learner program are isolated. For example, if a learner program uses a large amount of memory, if it is not isolated, it will affect the memory use of other learners' programs in the system. After isolation, each program uses its own memory and CPU, and will not affect each other. At the same time, the behavior control code generated by the learner can be handed over to the remote server for operation, without the need for the learner to download a separate client of the programming language operating environment.

[0134] It should be noted that the general local learning programming method requires a complex programming environment configuration process. In this embodiment, the online battle should have high timeliness requirements and the users are complex and diverse. Therefore, the remote server operation method is selected. It is only necessary to configure a multi-language programming environment on the server side, that is, it can provide multi-language operation effects on multiple terminals such as PC, mobile phone, and iPad.

[0135] Embodiment 5

[0136] Figure 5 This is a schematic diagram of the structure of a programming learning device provided in Example 5 of the present invention. The device can be implemented by hardware and / or software, can execute a programming learning method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. Figure 5 As shown, the device comprises:

[0137] The learning behavior data acquisition module 510 is used to obtain the learning behavior data of the learner on the recommended content in the programming mode; wherein the recommended content is determined from the programming knowledge graph.

[0138] The mastering status determination module 520 is used to determine the current mastering status of the learner on programming knowledge based on the learning behavior data.

[0139] The embodiments of the present invention determine recommended content from a programming knowledge graph, obtain the learner's learning behavior data on the recommended content under any programming mode, and determine the learner's current mastery of the programming knowledge in the recommended content based on the obtained learning behavior data. This enables accurate and personalized content recommendations based on the behavior data generated by the learner's learning process, while improving the teaching quality. It can also provide personalized content services tailored to the individual characteristics of the learner on a large scale, allowing the learner to truly apply and test the knowledge they have learned and achieve higher learning goals.

[0140] Optionally, the programming knowledge graph includes at least one programming knowledge category; the programming knowledge category includes at least one programming knowledge point; the knowledge point corresponds to at least one content resource; the content resource includes at least one of the following: a knowledge point explanation video, test questions, and practice levels.

[0141] Optionally, the mastering situation determination module 520 is specifically used for:

[0142] Determine the dimension score of the learner in the preset dimension based on the learning behavior data;

[0143] Based on the dimension scores, the learner’s current mastery of programming knowledge is determined.

[0144] Optionally, the learning behavior data acquisition module 510 is specifically used for:

[0145] Determine the competition level corresponding to the learning party;

[0146] Obtain the learning behavior data of the learner at the corresponding competition level in the competition mode.

[0147] Optionally, the mastering situation determination module 520 is further specifically configured to:

[0148] Based on preset code indicators and learning behavior data, the learner's current mastery of programming knowledge is determined.

[0149] Optionally, the learning behavior data acquisition module 510 is further specifically used for:

[0150] In response to the learning party's selection operation of a sub-combat mode in the online combat mode, determining a target combat sub-mode;

[0151] In response to the learning party's selection operation of the target combat sub-mode sub-game character, determining the target game character;

[0152] Obtain the behavior control code for the target game character written by the learner.

[0153] Optionally, the mastering situation determination module 520 is further specifically configured to:

[0154] According to the behavior control code, the target execution action of the target game character is determined to control the target game character to execute the target execution action until the game ends, and the game process is recorded;

[0155] Based on the game process and behavior control code, determine the learner's current mastery of programming knowledge.

[0156] Optionally, the device further comprises:

[0157] The memory space allocation module is used to allocate set memory space to different learning parties.

[0158] Optionally, the learning behavior data includes at least one of the following: first learning behavior data of knowledge point explanation videos, second learning behavior data of practice levels, third learning behavior data of test questions and program writing data; wherein, the first learning behavior data includes viewing time and / or viewing times; the second learning behavior data includes at least one of the following: stay time, number of attempts, whether to check auxiliary prompts and whether to review the knowledge point explanation video; the third learning behavior data includes at least one of the following: first answer time, first answer accuracy and re-answer accuracy.

[0159] The programming learning device provided in the embodiment of the present invention can execute the programming learning method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the programming learning method.

[0160] Based on the above embodiments, the present invention further provides a programming learning system, which includes:

[0161] A programming learning platform, used to obtain learning behavior data of a learner on recommended content in a programming mode; wherein the recommended content is determined from a programming knowledge graph; and based on the learning behavior data, determine the current mastery of programming knowledge by the learner;

[0162] The learner client is used for the learner to learn the recommended content in the programming mode and generate learning behavior data. Optionally, the learner client can be an application in a mobile terminal.

[0163] Furthermore, the programming learning platform may include a pre-class preparation module, a level-breaking course module, a wrong question book module, a stage evaluation module, an extended classroom module, a free creation module, an additional practice question module, a competition module, and an online battle module. Among them, the pre-class preparation module corresponds to providing relevant content of the pre-class preparation mode; the level-breaking course module corresponds to providing relevant content of the level-breaking course mode; the wrong question book module corresponds to providing relevant content of the wrong question book mode; the stage evaluation module corresponds to providing relevant content of the stage evaluation mode; the extended classroom module corresponds to providing relevant content of the extended classroom mode; the free creation module corresponds to providing relevant content of the free creation mode; the additional practice question module corresponds to providing relevant content of the additional practice question mode; the competition module corresponds to providing relevant content of the competition mode; and the online battle module corresponds to providing relevant content of the online battle mode.

[0164] Embodiment 6

[0165] Figure 6 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0166] like Figure 6 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0167] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0168] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a programming learning method.

[0169] In some embodiments, the programming learning method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the programming learning method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the programming learning method in any other appropriate manner (e.g., by means of firmware).

[0170] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0171] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0172] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0173] To provide interaction with a learner, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the learner; and a keyboard and pointing device (e.g., a mouse or trackball) through which the learner can provide input to the electronic device. Other types of devices may also be used to provide interaction with the learner; for example, the feedback provided to the learner may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the learner may be received in any form (including acoustic input, voice input, or tactile input).

[0174] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a learner computer with a graphical learner interface or a web browser through which a learner can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0175] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0176] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0177] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A programming learning method, characterized in that: include: The learning behavior data of the learner on the recommended content in the programming mode is obtained; wherein the recommended content is determined from the programming knowledge graph; the programming modes include a pre-class preparation mode, a level-breaking course mode, a wrong question book mode, a stage evaluation mode, an extended classroom mode, a free creation mode, an additional practice mode, a competition mode and an online battle mode, and the difficulty levels of the pre-class preparation mode, the level-breaking course mode, the wrong question book mode, the stage evaluation mode, the extended classroom mode, the free creation mode, the additional practice mode, the competition mode and the online battle mode increase in sequence; the teaching of the level-breaking course mode sets a first preset number of knowledge points by introducing a plot, and the learner participates in the plot from a first perspective, completes the plot tasks, and explains the knowledge points used in the plot after the plot is introduced, and the level-breaking course mode is provided with a second preset number of small closed loops with increasing difficulty, and the small closed loop is video explanation + level-breaking + trial The learning of knowledge points is completed through a small closed loop of questions; the wrong question book mode contains the questions that the learner answered incorrectly for the first time in the pre-class preparation mode and the level-breaking course mode, and the wrong question book mode generates at least a third preset number of corresponding new questions for the knowledge points involved in the questions that were answered incorrectly for the first time; the stage assessment mode includes answering basic questions and level-breaking; the extended classroom mode includes: based on the learning behavior data of the learner, generating semi-open theme training or level-breaking training that matches the learning behavior data of the learner; the free creation mode includes providing the learner with a function of free creation, and presetting semi-creative projects, wherein the preset semi-creative projects contain preset codes, so that the learner can continue to create on the basis of the preset codes; the additional practice question mode includes obtaining error codes involving multiple knowledge points that occur in the student's programming practice process, and pushing additional practice questions to the corresponding learner according to the scope of the knowledge points involved; According to the learning behavior data, the current mastery of programming knowledge by the learner is determined; the learning behavior data refers to the behavior data of programming learning in the programming mode, and the learning behavior data includes at least one of the following: first learning behavior data of a knowledge point explanation video, second learning behavior data of a practice level, third learning behavior data of a test question, and program writing data; Determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: Determine the dimension score of the learner in the preset dimension according to the learning behavior data; wherein the preset dimension refers to the dimension for judging the learning quality in the programming mode, including at least one dimension of rigor, logic, concentration, knowledge and creativity; Determining the current mastery of programming knowledge by the learner according to the dimension scores; When the programming mode is the online battle mode: The obtaining of the learning behavior data of the learner on the recommended content in the programming mode includes: In response to the learning party's selection operation of the sub-combat mode in the online battle mode, determining a target combat sub-mode; in response to the learning party's selection operation of the sub-game character in the target combat sub-mode, determining a target game character; obtaining a behavior control code for the target game character written by the learning party; In the case where the programming mode is an online battle mode, determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: According to the behavior control code, determine the target execution action of the target game character to control the target game character to execute the target execution action until the game ends, and record the game process; according to the game process and the behavior control code, determine the current mastery of programming knowledge by the learner; Different learning parties are allocated independent memory spaces to run the behavior control codes of their respective target game characters; and the behavior control codes of each learning party are run by a remote server.

2. The method according to claim 1, characterized in that The programming knowledge graph includes at least one programming knowledge category; the programming knowledge category includes at least one programming knowledge point; the knowledge point corresponds to at least one content resource; the content resource includes at least one of the following: a knowledge point explanation video, test questions, and practice levels.

3. The method according to claim 1, characterized in that If the programming mode is a competition mode; the acquiring of the learning behavior data of the learner on the recommended content in the programming mode includes: Determine the competition level corresponding to the learning party; The learning behavior data of the learner corresponding to the competition level in the competition mode is obtained.

4. The method according to claim 3, characterized in that Determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: Based on the preset code indicators and according to the learning behavior data, the current mastery of programming knowledge by the learner is determined.

5. The method according to claim 1, characterized in that Also includes: Allocate a set amount of memory space to different learners.

6. The method according to any one of claims 1 to 5, characterized in that The first learning behavior data includes viewing time and / or number of views; the second learning behavior data includes at least one of the following: stay time, number of attempts, whether to check auxiliary prompts and whether to review the knowledge point explanation video; the third learning behavior data includes at least one of the following: first answer time, first answer accuracy and re-answer accuracy.

7. A programming learning device, characterized in that: include: A learning behavior data acquisition module is used to obtain the learning behavior data of the learner on the recommended content in the programming mode; wherein the recommended content is determined from the programming knowledge graph; the programming modes include pre-class preparation mode, level-breaking course mode, error book mode, stage evaluation mode, extended classroom mode, free creation mode, additional practice mode, competition mode and online battle mode, and the difficulty levels of the pre-class preparation mode, level-breaking course mode, error book mode, stage evaluation mode, extended classroom mode, free creation mode, additional practice mode, competition mode and online battle mode increase in sequence; the teaching of the level-breaking course mode sets a first preset number of knowledge points by introducing a plot, and the learner participates in the plot from the first perspective, completes the plot tasks, and explains the knowledge points used in the plot after the plot is introduced, and the level-breaking course mode is provided with a second preset number of small closed loops with increasing difficulty, and the small closed loops are in the form of videos. The small closed loop of explanation + challenge + test questions completes the learning of knowledge points; the wrong question book mode contains the test questions that the learner answered incorrectly for the first time in the pre-class preparation mode and the challenge course mode, and the wrong question book mode generates at least a third preset number of corresponding new test questions for the knowledge points involved in the test questions that were answered incorrectly for the first time; the stage assessment mode includes answering basic test questions and challenge levels; the extended classroom mode includes: based on the learning behavior data of the learner, generating semi-open theme training or level challenge training that matches the learning behavior data of the learner; the free creation mode includes providing the learner with a function of free creation, and presetting semi-creative projects, wherein the preset semi-creative projects contain preset codes, so that the learner can continue to create on the basis of the preset codes; the additional practice question mode includes obtaining error codes involving multiple knowledge points that occur in the student's programming practice process, and pushing additional practice questions to the corresponding learner according to the scope of the knowledge points involved; A mastery status determination module is used to determine the current mastery status of the programming knowledge by the learner according to the learning behavior data; the learning behavior data refers to the behavior data of programming learning in the programming mode, and the learning behavior data includes at least one of the following: first learning behavior data of the knowledge point explanation video, second learning behavior data of the practice level, third learning behavior data of the test questions and program writing data; in: Determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: Determine the dimension score of the learner in the preset dimension according to the learning behavior data; wherein the preset dimension refers to the dimension for judging the learning quality in the programming mode, including at least one dimension of rigor, logic, concentration, knowledge and creativity; Determining the current mastery of programming knowledge by the learner according to the dimension scores; When the programming mode is the online battle mode: The obtaining of the learning behavior data of the learner on the recommended content in the programming mode includes: In response to the learning party's selection operation of the sub-combat mode in the online battle mode, determining a target combat sub-mode; in response to the learning party's selection operation of the sub-game character in the target combat sub-mode, determining a target game character; obtaining a behavior control code for the target game character written by the learning party; In the case where the programming mode is an online battle mode, determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: According to the behavior control code, determine the target execution action of the target game character to control the target game character to execute the target execution action until the game ends, and record the game process; according to the game process and the behavior control code, determine the current mastery of programming knowledge by the learner; Different learning parties are allocated independent memory spaces to run the behavior control codes of their respective target game characters; and the behavior control codes of each learning party are run by a remote server.

8. A programming learning system, characterized in that: include: A programming learning platform, for obtaining the learning behavior data of the learner on the recommended content in the programming mode; determining the current mastery of the programming knowledge of the learner according to the learning behavior data; wherein the recommended content is determined from the programming knowledge graph; the programming mode includes a pre-class preparation mode, a level-breaking course mode, a wrong question book mode, a stage assessment mode, an extended classroom mode, a free creation mode, an additional practice mode, a competition mode and an online battle mode, and the difficulty levels of the pre-class preparation mode, the level-breaking course mode, the wrong question book mode, the stage assessment mode, the extended classroom mode, the free creation mode, the additional practice mode, the competition mode and the online battle mode increase in sequence; the teaching of the level-breaking course mode sets a first preset number of knowledge points by introducing a plot, the learner participates in the plot from a first perspective, completes the plot tasks, and explains the knowledge points used in the plot after the plot is introduced, and the level-breaking course mode is provided with a second preset number of small closed loops with increasing difficulty, and the small closed loop completes the learning of the knowledge points in a small closed loop of video explanation + level-breaking + test questions; the wrong question book mode contains the learning behavior data of the learner in the level-breaking course mode. The test questions answered incorrectly for the first time in the pre-class preparation mode and the level-breaking course mode, and the wrong question book mode generate at least a third preset number of corresponding new test questions for the knowledge points involved in the test questions answered incorrectly for the first time; the stage assessment mode includes answering basic test questions and level-breaking; the extended classroom mode includes: generating semi-open theme training or level-breaking training that matches the learning behavior data of the learner according to the learning behavior data of the learner; the free creation mode includes providing the learner with a function of free creation, and presetting semi-creative projects, wherein the preset semi-creative projects contain preset codes, so that the learner can continue to create on the basis of the preset codes; the additional practice question mode includes obtaining error codes involving multiple knowledge points that occur in the programming practice process of students, and pushing additional practice questions to the corresponding learner according to the scope of the knowledge points involved; the learning behavior data refers to the behavior data of programming learning in the programming mode, and the learning behavior data includes at least one of the following: the first learning behavior data of the knowledge point explanation video, the second learning behavior data of the practice level, the third learning behavior data of the test questions and the program writing data; wherein: Determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: Determine the dimension score of the learner in the preset dimension according to the learning behavior data; wherein the preset dimension refers to the dimension for judging the learning quality in the programming mode, including at least one dimension of rigor, logic, concentration, knowledge and creativity; Determining the current mastery of programming knowledge by the learner according to the dimension scores; When the programming mode is the online battle mode: The obtaining of the learning behavior data of the learner on the recommended content in the programming mode includes: In response to the learning party's selection operation of the sub-combat mode in the online battle mode, determining a target combat sub-mode; in response to the learning party's selection operation of the sub-game character in the target combat sub-mode, determining a target game character; obtaining a behavior control code for the target game character written by the learning party; In the case where the programming mode is an online battle mode, determining the current mastery of programming knowledge by the learner according to the learning behavior data includes: According to the behavior control code, determine the target execution action of the target game character to control the target game character to execute the target execution action until the game ends, and record the game process; according to the game process and the behavior control code, determine the current mastery of programming knowledge by the learner; Different learning parties are allocated independent memory spaces to run the behavior control codes of their respective target game characters; and the behavior control codes of each learning party are run by a remote server; The learner client is used for the learner to study the recommended content in programming mode and generate learning behavior data.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the programming learning method according to any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the programming learning method according to any one of claims 1 to 6 when executed.

Citation Information

Patent Citations

  • Method and system for realizing network game

    CN102129504A

  • Programming teaching system and method integrated with intelligent education

    CN112596731A

  • Omnibearing multifunctional intelligent programming teaching system based on artificial intelligence driving

    CN112991847A