A building block programming learning method, system, terminal and storage medium

By acquiring student information and analyzing answer results, the teaching difficulty and thinking methods are determined, and personalized teaching examples are provided. This solves the problem of matching students' learning progress in existing intelligent teaching aid programming teaching, and improves students' programming learning efficiency and interest.

CN117612420BActive Publication Date: 2026-04-07BEIJING LAYOUT FUTURE TECH DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-04
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing intelligent teaching aids for programming instruction struggle to match the difficulty level with students' thinking abilities and learning progress, resulting in low learning efficiency.

Method used

By acquiring student information, we determine the teaching difficulty and thinking style, provide teaching examples that match the students, and conduct targeted explanations according to the students' thinking styles. This includes acquiring students' accuracy rate, age information, and years of study, analyzing answer results and solutions, identifying key difficulties, and recommending approaches.

Benefits of technology

It improved students' programming learning efficiency and enhanced their learning interest and ability to master block-based programming through personalized teaching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117612420B_ABST
    Figure CN117612420B_ABST
Patent Text Reader

Abstract

The application relates to a building block programming learning method and system, a terminal and a storage medium, and relates to the technical field of intelligent teaching aids. The method comprises the following steps: acquiring learner information, which can reflect the thinking ability of the learner; determining a teaching difficulty and the thinking mode of the learner according to the learner information; determining a teaching example according to the teaching difficulty, wherein the teaching example comprises a group of action information of the intelligent teaching aid and a target building block obtained by inversion according to the action information, the action information comprises posture information and motion information, and the target building block is a building block required for the intelligent teaching aid to complete the action information; and determining a recommended thinking mode according to the corresponding relationship between the target building block and the action information and the thinking mode of the learner. The application can provide targeted teaching for the learner, thereby improving the learning efficiency of the learner in programming.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of intelligent teaching aids, and in particular to a building block programming learning method and system, a terminal and a storage medium. BACKGROUND

[0002] Building block programming is a programming method in which a user can write a program without memorizing and writing program codes, but only needs to select and combine a series of statements "building blocks" provided by a system to write a program. For example, Scratch and Blockly. Building block programming is beneficial to the logical ability of children.

[0003] In related technologies, a teaching mode in which a programming software and an intelligent teaching aid are used in cooperation is usually adopted. On the one hand, a user can splice building blocks representing statements with different meanings together to form program codes by using the programming software, so as to control the intelligent teaching aid to perform actions corresponding to the program codes. On the other hand, the sensing device of the intelligent teaching aid can also sense the posture and motion trajectory of the intelligent teaching aid, so that the programming software can deduce corresponding building blocks and their splicing modes according to the posture and motion trajectory of the intelligent teaching aid, so that the intelligent teaching aid can completely reproduce the previous posture and motion trajectory. Meanwhile, the change in the posture and motion trajectory of the intelligent teaching aid after each building block is added can also be displayed in the form of an animation.

[0004] However, the intelligent teaching aid needs to be manually operated to change the posture and motion trajectory, so it is difficult to grasp the logical difficulty of the program codes deduced, and the program codes cannot be matched with the learning progress of the student, which is not conducive to the efficient learning of the student. SUMMARY

[0005] In order to improve the efficiency of the student in learning programming, the present application provides a building block programming learning method, system, terminal and storage medium.

[0006] In a first aspect of the present application, a building block programming learning method is provided, which comprises:

[0007] obtaining student information, the student information being capable of reflecting the thinking ability of the student;

[0008] determining a teaching difficulty and a thinking mode of the student according to the student information;

[0009] determining a teaching example according to the teaching difficulty, the teaching example comprising a group of action information of an intelligent teaching aid, and target building blocks deduced according to the action information, the action information comprising posture information and motion information, and the target building blocks being building blocks required for the intelligent teaching aid to complete the action information;

[0010] According to the corresponding relationship between the target block and the action information and the thinking mode of the trainee, a recommended thinking mode is determined.

[0011] By using the above technical solution, the teaching difficulty suitable for the trainee and the thinking mode of the trainee when programming can be determined according to the trainee information, the teaching example matched with the thinking ability of the trainee can be provided, and the trainee is taught according to the thinking mode of the trainee, so that the trainee is taught in a targeted manner, thereby improving the efficiency of the trainee in learning programming.

[0012] In a possible implementation manner, the trainee information includes a correct rate, and the method for determining the correct rate includes:

[0013] Obtaining an answer result submitted by the trainee, the answer result being feedback of the trainee to a pre-issued level test, the level test including multiple test questions;

[0014] Determining the correct rate of the trainee according to the answer result.

[0015] In a possible implementation manner, the determining the correct rate of the trainee according to the answer result includes:

[0016] Determining the accuracy of each test question according to the answer result of each test question and a corresponding standard answer;

[0017] Calculating an average value according to the accuracy of each test question, and recording the average value as the correct rate.

[0018] In a possible implementation manner, the determining the accuracy of each test question according to the answer result of each test question and a corresponding standard answer includes:

[0019] Obtaining a corresponding standard answer according to a current test question, the standard answer including problem solving answers of multiple problem solving thinking modes;

[0020] Determining the repetition degree of the answer result and each problem solving answer;

[0021] Selecting the repetition degree with the highest value as the accuracy.

[0022] In a possible implementation manner, the trainee information further includes age information and learning years, the teaching difficulty includes a teaching stage and a key difficulty, each teaching stage has multiple key difficulties, and the determining the teaching difficulty according to the trainee information includes:

[0023] Determining the teaching stage according to the age information and the learning years;

[0024] Determining the key difficulty according to the accuracy of the answer of each test question.

[0025] In one possible implementation: determining the key difficulties based on the accuracy of answers to each test question includes:

[0026] Obtain the answer and corresponding solution for each incorrectly answered test question;

[0027] Identify the key difficulties in answering incorrect questions based on the answers and corresponding solutions for each test question.

[0028] Select the most frequently occurring mistakes from among multiple difficult questions as the key difficulties.

[0029] In one possible implementation: determining the student's thinking style based on the student information includes:

[0030] The combination method for each type of building block is determined based on the answer to each test question.

[0031] The thought process is determined based on the combination that is used most frequently.

[0032] The second objective of this application is to provide a block-based programming learning system that improves the efficiency of students' programming learning.

[0033] In a second aspect of this application, a block-based programming learning system is provided, the system / apparatus comprising:

[0034] The acquisition module is used to acquire student information, which reflects the student's thinking ability.

[0035] The first determining module is used to determine the teaching difficulty and the student's thinking style based on the student information;

[0036] The second determining module is used to determine a teaching example based on the teaching difficulty. The teaching example includes a set of action information of the intelligent teaching aid, and a target building block derived from the action information. The action information includes posture information and motion information, and the target building block is the building block required for the intelligent teaching aid to complete the action information.

[0037] The third determining module is used to determine the recommendation approach based on the correspondence between the target building block and the action information, as well as the trainee's thinking style.

[0038] In a third aspect of this application, a smart terminal is provided, the smart terminal including a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and executed by the above-described block programming learning method.

[0039] In a fourth aspect of this application, a computer-readable storage medium is provided, storing a computer program that can be loaded by a processor and executed for any of the above-described block programming learning methods.

[0040] In summary, this application includes at least one of the following beneficial technical effects:

[0041] In this application, the appropriate teaching difficulty and the student's thinking style when programming can be determined based on the student's information. Teaching examples that match the student's thinking ability can be provided, and explanations can be given according to the student's thinking style, thereby providing targeted teaching to the student and improving the student's efficiency in learning programming. Attached Figure Description

[0042] Figure 1 This is a flowchart illustrating a block programming learning method according to one embodiment of this application.

[0043] Figure 2 This is a schematic diagram of a block programming learning system according to one embodiment of this application.

[0044] Figure 3 This is a schematic diagram of the structure of a smart terminal according to one embodiment of this application.

[0045] In the diagram, 21 is the acquisition module; 22 is the first determination module; 23 is the second determination module; 24 is the third determination module; 301 is the CPU; 302 is the ROM; 303 is the RAM; 304 is the bus; 305 is the I / O interface; 306 is the input section; 307 is the output section; 308 is the storage section; 309 is the communication section; 310 is the driver; and 311 is the removable medium. Detailed Implementation

[0046] The present application will be further described in detail below with reference to the accompanying drawings.

[0047] This specific embodiment is merely an explanation of this application and is not intended to limit it. After reading this specification, those skilled in the art can make modifications to this embodiment without contributing any inventive step, but such modifications are protected by patent law as long as they fall within the scope of the claims of this application.

[0048] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0049] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article, unless otherwise specified, generally indicates that the preceding and following related objects have an "or" relationship.

[0050] This application provides a block-based programming learning method for implementing programming teaching, which helps children learn and master the logic of block-based programming more efficiently and improve their logical thinking ability.

[0051] As can be understood, the essence of modular programming is to select a certain number of building blocks from a variety of blocks and combine them so that multiple lines of code statements that can perform the function of each building block are combined in the way the blocks are assembled to form complete program code. This program code enables the controlled object to perform the corresponding operation.

[0052] The functions of writing code by assembling building blocks, controlling the actions of the controlled object, and having the controlled object act according to the program code can be integrated into one system or formed into multiple separate systems. In the former case, these functions are integrated into a single software application, which can be used on terminal devices with processing capabilities, such as computers. In this system, the controlled object is a virtual object, which can be a person, animal, plant, or other object. Furthermore, the scene in which the controlled object is located can be set. For example, a garden scene can be designed on the display interface, containing a dog, butterflies, birds, flowers, lush trees, fallen leaves, stone benches, etc. Each creature or object can be a controlled object, meaning multiple controlled objects can exist. In the latter case, the function of writing code by assembling building blocks can form one system, applicable to terminal devices with processing capabilities, such as computers. The function of having the controlled object act according to the program code can form another system, applied to an intelligent teaching aid with processing capabilities. The terminal device interacts with the intelligent teaching aid to control the actions of the controlled object.

[0053] Furthermore, the building blocks used in the aforementioned software can be configured with both input parameters and parameter values. The input parameters of a building block are the actions that the controlled object should perform, such as moving, rotating, or making a sound. The parameter values ​​of a building block are the magnitude of the actions performed by the controlled object, such as the distance moved, the angle of rotation, and the volume. Some building blocks may not have input parameters. Generally, the software will pre-set some input parameters for some building blocks, with corresponding default values ​​that users can modify. In addition, users can create their own building blocks and set their own input parameters and parameter values.

[0054] Building blocks can be categorized by function into trigger blocks, motion blocks, appearance blocks, sound blocks, control blocks, and termination blocks. Trigger blocks initiate program execution and can be categorized into various trigger methods such as green flag trigger, click trigger, collision trigger, and message trigger. Motion blocks specify how the controlled object moves and can be categorized into left-movement blocks, right-movement blocks, up-movement blocks, down-movement blocks, right-turn blocks, left-turn blocks, jump blocks, and home-going blocks. Appearance blocks change the appearance of the controlled object, such as speaking blocks, enlargement blocks, shrinking blocks, resizing blocks, hiding blocks, and showing blocks. Sound blocks process sound and are categorized into pop blocks and record playback blocks. Control blocks control the actions performed by the controlled object, such as wait blocks, stop blocks, speed-setting blocks, and loop blocks. Termination blocks specify how to end the program, such as repeat blocks and jump blocks. Of course, building blocks can also be classified in other ways to obtain different types of building blocks.

[0055] Users can build programs with varying degrees of logical complexity by using different numbers and types of building blocks. Building programs with different levels of logical complexity requires users to possess corresponding thinking abilities. Therefore, to enable learners to quickly and comprehensively master block-based programming, this application provides a block-based programming learning method.

[0056] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.

[0057] The main process of the block programming learning method provided in this application embodiment is described as follows.

[0058] like Figure 1 As shown:

[0059] Step S100: Obtain student information.

[0060] The student information reflects their thinking ability. Specifically, student information includes at least age and years of study. Age refers to the student's current age. Students of different ages have different thinking abilities. For example, preschool children have lower thinking abilities than elementary school students, elementary school students have lower thinking abilities than middle school students, and middle school students have lower thinking abilities than adults. Years of study refers to how long the student has been learning programming. For students of the same age, different years of study result in different levels of programming proficiency. For students of different ages, the level of programming proficiency depends not only on the number of years of study but also on their age. Age and years of study information are entered by the students themselves.

[0061] In embodiments of this application, the student information also includes the student's accuracy rate. The accuracy rate is the student's success rate on a pre-issued proficiency test. That is, before the student formally learns using the block-based programming system, the system will issue a proficiency test to understand the student's current level. Typically, the proficiency test includes multiple questions of varying difficulty. The test questions may involve how to make a controlled object perform a certain action. The student answers the test questions by selecting and assembling blocks.

[0062] Specifically, it requires obtaining the student's submitted answers. These answers represent the student's feedback on the proficiency test. After completing the test, the student needs to submit their answers. At this point, the programming system can retrieve the student's results.

[0063] Furthermore, the accuracy rate of the students can be determined based on their answers.

[0064] Optionally, this step includes the following steps:

[0065] First, the accuracy of each test question is determined based on the answers to each test question and the corresponding standard answers.

[0066] In this system, the answer is the student's feedback on a test question. The standard answer is the answer that fulfills the requirements of the test question. Accuracy reflects the student's level of completion for each test question. Specifically, the standard answer needs to be obtained for the current test question. It's worth noting that, like other programming methods, block-based programming can achieve the same function through different approaches. Therefore, the standard answer includes solutions from multiple approaches. When obtaining the standard answer, all solutions should be obtained to more accurately assess accuracy. Furthermore, the degree of repetition between the answer and each solution is determined, and the highest repetition value is selected as the accuracy. Repetition is the degree of similarity between the answer and the solution. In reality, during programming, many times the programming approach is correct, but the logic is not clear, resulting in the inability to achieve the required function. In such cases, part of the program is fine. Similarly, block-based programming also has corresponding situations. Repetition can be the ratio of the number of blocks that overlap between the answer and the solution to the number of blocks used in the solution. It should also be noted that the repeated building blocks mentioned here do not mean that the input parameters and values ​​of the building blocks used in the answer are the same as those used in the solution. Rather, in addition to requiring that the input parameters and values ​​of the building blocks used in the answer are the same as those used in the solution, it is also necessary to consider whether the splicing method of each building block is the same.

[0067] To facilitate understanding, an example is provided here. In a specific example, suppose the answer is that four blocks A, B, C, and D are connected in sequence, while one solution is that four blocks B, C, D, and A are connected in sequence. In this case, the repetition rate should be 3 / 4, or 75%, not 100%.

[0068] Of course, for more complex test questions, there may be two or more sets of blocks in the answer that match the solution. In this case, the repetition rate can still be calculated in the same way as described above. For example, suppose the answer is that seven blocks A, B, C, D, E, F, and G are connected in sequence, while one of the solutions is that seven blocks B, C, D, A, G, E, and F are connected in sequence. Then, the repetition rate is (3+2) / 7, which is 71.4%.

[0069] Understandably, when assessing repetition, the programming system cannot know the student's problem-solving approach in advance, and therefore cannot select one solution from multiple options for comparison. Thus, it can only compare the answer with each solution individually to obtain the repetition rate. The system then selects the highest repetition rate as the accuracy.

[0070] The accuracy of the answer to each test question can be calculated using the method described above.

[0071] In some other embodiments, the accuracy of each test question can be determined using other criteria. For example, if the answer is exactly the same as one of the solutions, the accuracy is 100%; if the answer does not enable the controlled object to perform the corresponding function, the accuracy is 0%.

[0072] In some other embodiments, the accuracy of the answer result can also be determined in the following ways.

[0073] Specifically, since the standard answer to each question consists of multiple solutions, and the programming system cannot know the student's problem-solving approach in advance, it cannot select one solution from the multiple options for comparison. Therefore, it is necessary to analyze the answer results to determine the student's problem-solving approach, and then select the answer that matches the student's approach to determine the accuracy of the answer to each test question. This method of accuracy will more accurately reflect the student's actual skill level.

[0074] Furthermore, the method for selecting the solution that aligns with the student's problem-solving approach from multiple solutions is as follows: First, determine the types of building blocks used in the final answer and the types of building blocks used in each solution. Then, determine whether the types of building blocks used in the final answer are all or part of the types of building blocks used in each solution. If one and only one solution uses the exact same types of building blocks as the final answer, or if one and only one solution has the highest degree of overlap with the final answer, then that solution aligns with the student's problem-solving approach. If two or more solutions are determined using the above method, further determination is needed based on the degree of overlap between the combination methods of different types of building blocks in the final answer and the combination methods of different types of building blocks in each solution. The specific calculation method for overlap is described above and will not be repeated here. If a solution that matches the student's problem-solving approach has not yet been determined, it is necessary to identify the building blocks used in the answer that are the same as those used in the solution. Then, it is necessary to determine whether the way these building blocks are used in the answer is the same as the way they are used in the solution. This determines the degree of repetition between the answer and each solution, and the solution with the highest degree of repetition is selected as the one that matches the student's problem-solving approach.

[0075] Then, the average accuracy of each test question is calculated and recorded as the accuracy rate.

[0076] Because the difficulty level of each test question varies, the accuracy of each test question also varies. The accuracy is higher for easier questions and lower for more complex ones. Determining the accuracy rate solely based on the highest or lowest accuracy does not accurately reflect the learner's ability. Therefore, it is necessary to calculate the average accuracy to obtain the overall accuracy rate.

[0077] Of course, you can also remove the highest and lowest accuracy scores first, and then calculate the average, or use other calculation methods to obtain the accuracy rate.

[0078] In some other embodiments, test questions that trainees did not answer may be excluded from the accuracy calculation.

[0079] In some other embodiments, student information may include only age and years of study.

[0080] Step S200: Determine the teaching difficulty and the student's thinking style based on the student information.

[0081] The teaching difficulty is divided into teaching stages and key challenges. The teaching stages are categorized by difficulty, specifically into introductory, beginner, intermediate, and advanced stages. Each stage contains several key challenges that students need to master. These key challenges may include various applications of specific functional blocks, such as the application of loop structures and conditional structures, or important programming methods, such as the bubble sort algorithm.

[0082] To enable students to learn and master block-based programming more efficiently, the teaching difficulty needs to be determined based on student information so that learning tutorials of appropriate difficulty can be provided to students.

[0083] Optionally, the steps to determine the teaching difficulty based on student information include the following:

[0084] First, the teaching stage is determined based on age information and years of study.

[0085] Specifically, a stage-based reference table can be pre-set. This table includes the correspondence between age information, years of learning, and teaching stages. Once the age and years of learning are obtained, the teaching stage can be quickly determined using the reference table. For example, if the student is under 6 years old and has no programming experience, the teaching stage is the introductory stage. If the student is 18 years old and has no programming experience, the teaching stage is the beginner stage. Since people's comprehension abilities increase with age, older learners, even without prior programming experience, can still understand basic concepts. The stage-based reference table can be pre-stored on a storage device such as a memory.

[0086] Then, the key difficulties are determined based on the accuracy of the answers to each test question.

[0087] Understandably, in general, test questions where the accuracy rate is less than 100% often indicate that the student has not mastered one or more of the same key difficulties. Of course, there is also the possibility of careless mistakes, but this scenario is not considered in this embodiment. Therefore, by analyzing the students' answers and accuracy, it is reasonable to infer the key difficulties that each student has not mastered.

[0088] Specifically, it is necessary to first obtain the answer and corresponding solution for each test question answered incorrectly. Then, based on the answer and solution for each test question, the key difficulties in answering the incorrect questions are determined. Finally, the most frequent key difficulties in answering the incorrect questions are selected as the critical difficulties.

[0089] It's important to note that this refers to one solution, not all solutions. When a test question has multiple solutions, the solution approach with the highest overlap with the student's answer can be considered the student's solution approach. In this case, the difference between the answer and the solution can be used to analyze the difficulty of the incorrect answer. The difficulty of the incorrect answer is the reason why the test question was answered incorrectly. For example, suppose the answer is to connect blocks A, B, C, and D in sequence, while the solution is to connect blocks B, C, D, and A in sequence. This shows that the selected blocks are the same as those required by the solution, but the assembly method is incorrect. Therefore, the difficulty of the incorrect answer lies in the application of block A. For example, suppose the answer is to connect four blocks A, B, C, and D in sequence, while the solution is to connect four blocks A, B, C, and E in sequence. This shows that the selected blocks are different from the blocks required for the solution. Therefore, the difficulty in the wrong question lies in the function and application of blocks D and E.

[0090] Furthermore, by analyzing multiple incorrectly answered test questions, several key difficulties can be identified. Some of these difficulties appear more frequently; therefore, the most frequent difficulties can be considered the critical challenges students struggle with. The high frequency of these difficulties also indicates their importance. Of course, to help students better learn and master block-based programming, a preset number of difficult questions can be selected as key challenges, ordered from highest to lowest frequency. This preset number can be three, five, or other quantities, and can be adjusted according to actual needs.

[0091] In some other embodiments, once multiple key difficulties are identified, they can also be categorized according to the teaching stage to which each key difficulty belongs, so that students can solve each key difficulty one by one at different teaching stages.

[0092] In other embodiments, questions answered incorrectly or those that take a long time to answer are often the key difficulties. Therefore, the key difficulties can also be determined based on the accuracy of the answers to each test question and the time taken to answer each test question.

[0093] The method for analyzing key difficulties through each incorrectly answered test question can refer to the process described above, and will not be repeated here. The method for determining key difficulties based on the time taken to answer each question is as follows:

[0094] First, it's necessary to obtain the total time allotted for the student's performance on the test, as well as the time allotted for each question. It's important to note that to accurately assess the student's level, there's no time limit for individual responses, but the total time and time spent on each question must be recorded. Simultaneously, a standard time limit for each question should be preset. Based on this standard time limit, determine the time allocation for each question. For example, if the standard time limit for the first question is 10 minutes, the second is 10 minutes, the third is 5 minutes, and the fourth is 20 minutes, then the time allocation for the four questions is 2:2:1:4.

[0095] Once the total time taken to answer the test is obtained, the time allotted for each test question can be determined based on the proportion of time spent answering the questions within the total time. Then, based on the time taken to answer each test question and the time allotted for that test question, it can be determined whether that test question has any key difficulties.

[0096] It is understandable that students' answering time exceeds the time allotted for each test question within a certain range. Therefore, when identifying key difficulties, the time allotted for each test question can be extended by 5%. When a student's answering time exceeds 1.05 times the time allotted for each test question, the knowledge point in that question is considered a difficult or incorrect answer.

[0097] After identifying multiple difficult points based on the accuracy of students' answers and the time taken to complete the questions, one or more of the most frequently occurring difficult points can still be selected as key difficulties.

[0098] It's understood that experienced programmers each write code with their own unique logic and style. This is related to each person's way of thinking and is difficult to change. Similarly, when a student completes a proficiency test, their approach to each question will share some commonalities, even if they lack programming experience. Therefore, their thinking style can be determined based on the student's information.

[0099] Optionally, the steps to determine the thinking style based on the trainee's information include the following:

[0100] First, determine the combination methods for each type of building block based on the answers to each test question. Then, determine the thinking method based on the most frequently used combination.

[0101] The combination methods include the connection and positional relationships between different types of building blocks.

[0102] It is understood that when selecting and assembling building blocks, the types of blocks chosen can be diverse. The connections and positional relationships between different types of blocks can achieve different functionalities. These connections and positional relationships are related to the learner's thinking style. Therefore, by analyzing the combinations of different types of blocks in the answers to each test question, commonalities can be found, thus determining the learner's thinking style. These commonalities are the combinations used most frequently.

[0103] Of course, in some other embodiments, if the student information only includes age and years of study, then the corresponding teaching difficulty will only include the teaching stage. In this case, learning tutorials of appropriate difficulty can be matched according to the student's teaching stage.

[0104] Step S300: Determine teaching examples based on the teaching difficulty level.

[0105] The teaching examples serve as learning tutorials, helping learners quickly and effectively understand and learn the content of the current teaching stage. Each example includes a set of motion information from the intelligent teaching aid, and the target building blocks derived from that motion information. Motion information includes, but is not limited to, posture and movement information. The target building blocks are the blocks required for the intelligent teaching aid to complete the motion information. The teaching examples can be presented as follows: A problem is identified according to the teaching stage and key difficulties, and then the controlled object is made to perform actions. While the controlled object performs its actions, the correspondence between each building block and the controlled object's actions is demonstrated, reflecting how the assembled building blocks enable the controlled object to move. In this way, learners can learn the function and application of each building block through a deconstructive learning approach.

[0106] After determining the students' current learning stage and key difficulties, teaching examples can be matched according to a pre-set example lookup table. The example lookup table includes the correspondence between learning stages, key difficulties, and teaching examples. The example lookup table can be pre-stored in a storage device such as a memory.

[0107] Step S400: Determine the recommendation approach based on the correspondence between the target building block and the action information, as well as the trainee's thinking style.

[0108] The recommended approach is one that matches the learner's way of thinking.

[0109] Understandably, since the same function can be achieved through multiple approaches, explaining a problem using a particular approach when demonstrating teaching examples will be easy for students whose thinking style aligns with that approach to understand and accept. However, for students whose thinking style doesn't match that approach, it will be more difficult to comprehend. Therefore, before demonstrating teaching examples, it's necessary to determine the recommended approach based on the students' thinking styles, and then adjust the teaching examples accordingly to improve students' learning efficiency.

[0110] Specifically, each teaching example can be adjusted into multiple versions according to various problem-solving approaches. Then, after determining the students' thinking methods, the teaching example that matches the version is retrieved.

[0111] Figure 2 This application provides a block programming learning system as one embodiment.

[0112] like Figure 2 The block programming learning system shown includes an acquisition module 21, a first determination module 22, a second determination module 23, and a third determination module 24, wherein:

[0113] The acquisition module 21 is used to acquire student information, which reflects the student's thinking ability.

[0114] The first determining module 22 is used to determine the teaching difficulty and the student's thinking style based on the student information.

[0115] The second determining module 23 is used to determine a teaching example based on the teaching difficulty. The teaching example includes a set of action information of the intelligent teaching aid and a target block obtained by inverting the action information. The action information includes posture information and motion information. The target block is the block required for the intelligent teaching aid to complete the action information.

[0116] The third determining module 24 is used to determine the recommendation approach based on the correspondence between the target building block and the action information, as well as the trainee's thinking style.

[0117] Figure 3 A schematic diagram of the structure of a smart terminal suitable for implementing the embodiments of this application is shown.

[0118] like Figure 3As shown, the smart terminal includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 302 or programs loaded from storage into random access memory (RAM) 303. The RAM 303 also stores various programs and data required for system operation. The CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0119] The following components are connected to I / O interface 305: an input section 306 including a keyboard, mouse, etc.; an output section 307 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN card, modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to I / O interface 305 as needed. A removable medium 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 310 as needed so that computer programs read from it can be installed into storage section 308 as needed.

[0120] Specifically, according to embodiments of this application, the flowchart above refers to... Figure 1 The described process can be implemented as a computer software program. For example, embodiments of this application include a computer program product comprising a computer program carried on a machine-readable medium, the computer program containing program code for performing the methods shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit (CPU) 301, it performs the functions defined in the system of this application.

[0121] It should be noted that the computer-readable medium shown in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, or any suitable combination thereof.

[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0123] The units or modules described in the embodiments of this application can be implemented in software or hardware. The described units or modules can also be housed in a processor; for example, a processor can be described as including: an acquisition module 21, a first determination module 22, a second determination module 23, and a third determination module. The names of these units or modules do not necessarily limit the specific unit or module itself; for example, the acquisition module 21 can also be described as a "module for acquiring student information".

[0124] In another aspect, this application also provides a computer-readable storage medium, which may be included in the smart terminal described in the above embodiments; or it may exist independently and not assembled into the smart terminal. The aforementioned computer-readable storage medium stores one or more programs, which are used by one or more processors to execute the block programming learning method described in this application.

[0125] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the foregoing application concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions claimed in this application.

Claims

1. A block-based programming learning method, characterized in that, include: Obtain student information that reflects the student's thinking ability; The teaching difficulty and the students' thinking style are determined based on the student information; The teaching example is determined based on the teaching difficulty. The teaching example includes a set of action information of the intelligent teaching aid and a target block obtained by inverting the action information. The action information includes posture information and motion information. The target block is the block required for the intelligent teaching aid to complete the action information. The recommendation approach is determined based on the correspondence between the target building blocks and the action information, as well as the student's thinking style. The student information includes accuracy rate, and the method for determining the accuracy rate includes: Obtain the answers submitted by the students, which are the students' feedback on the pre-issued proficiency test, which includes multiple test questions; The accuracy rate of the trainees is determined based on the answers provided. The student's thinking style is determined based on the student information, including: The combination method for each type of building block is determined based on the answer to each test question. The thought process is determined based on the combination that is used most frequently.

2. The block-based programming learning method according to claim 1, characterized in that, The determination of the trainee's accuracy rate based on the answer results includes: The accuracy of each test question is determined based on the answer to each question and the corresponding standard answer. The average of the accuracy of each test question is calculated and recorded as the accuracy rate.

3. The block-based programming learning method according to claim 2, characterized in that, The determination of the accuracy of each test question based on the answer results and the corresponding standard answer includes: Obtain the corresponding standard answer based on the current test question; the standard answer includes solutions with multiple problem-solving approaches. Determine the degree of overlap between the answer result and each of the provided solutions; The highest repeatability score is selected as the accuracy score.

4. The block-based programming learning method according to claim 3, characterized in that, The student information also includes age information and years of study; the teaching difficulty includes teaching stages and key difficulties, with each teaching stage having multiple key difficulties; determining the teaching difficulty based on the student information includes: The teaching stage is determined based on the age information and years of study. The key difficulties are determined based on the accuracy of the answers to each of the test questions.

5. The block programming learning method according to claim 4, characterized in that, The determination of the key difficulties based on the accuracy of answers to each test question includes: Obtain the answer and corresponding solution for each incorrectly answered test question; Identify the key difficulties in answering incorrect questions based on the answers and corresponding solutions for each test question. Select the most frequently occurring mistakes from among multiple difficult questions as the key difficulties.

6. A block-based programming learning system, characterized in that, include, The acquisition module (21) is used to acquire student information, which can reflect the student's thinking ability; The first determining module (22) is used to determine the teaching difficulty and the student's thinking style based on the student information; The second determining module (23) is used to determine a teaching example based on the teaching difficulty. The teaching example includes a set of action information of the intelligent teaching aid and a target block obtained by inverting the action information. The action information includes posture information and motion information. The target block is the block required for the intelligent teaching aid to complete the action information. as well as, The third determining module (24) is used to determine the recommendation approach based on the correspondence between the target building block and the action information and the trainee's thinking style; The student information includes accuracy rate, and the method for determining the accuracy rate includes: Obtain the answers submitted by the students, which are the students' feedback on the pre-issued proficiency test, which includes multiple test questions; The accuracy rate of the trainees is determined based on the answers provided. The student's thinking style is determined based on the student information, including: The combination method for each type of building block is determined based on the answer to each test question. The thought process is determined based on the combination that is used most frequently.

7. A smart terminal, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and executed as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer program is stored that can be loaded by a processor and executed as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • AI algorithm-based language structure reading method in adaptive learning

    CN110111610A

  • Test question text scoring method and device, electronic equipment and storage medium

    CN115827828A