A programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis

By introducing a multi-dimensional quality evaluation system based on program analysis on the programming language teaching practice platform, the problem that existing technology cannot automatically analyze and evaluate code quality is solved, comprehensive and real-time feedback on students' code quality is achieved, and teaching efficiency is improved.

CN113360372BActive Publication Date: 2025-03-28ANHUI ZHONGKEGUO CHUANGGAO CREDIBLE SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110557001.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-21
Publication Date
2025-03-28
Estimated Expiration
2041-05-21

AI Technical Summary

Technical Problem

The existing programming language teaching practice platform cannot automatically analyze and evaluate multi-dimensional quality indicators of code, such as readability, robustness and performance, making it difficult for teachers and students to obtain comprehensive feedback, reducing teaching efficiency.

Method used

Design a multi-dimensional quality evaluation system based on program analysis, and realize real-time analysis and multi-dimensional quality evaluation of student homework through the interaction between student terminals and network equipment, providing feedback on potential safety and error problems, readability, performance, best practices, robustness, security, etc.

Benefits of technology

It realizes comprehensive and real-time feedback on the quality of students' code, helps students improve code quality, reduces teachers' review burden, and improves teaching efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113360372B_ABST
    Figure CN113360372B_ABST
Patent Text Reader

Abstract

The present invention discloses a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis, the platform comprises: a first terminal, used for sending a first request to a network device under an attached network; the network device, used for generating a first result and first-level job evaluation data when receiving the first request, and sending the first result to the first terminal, the first result is used for characterizing whether the program job is executable and satisfies logical correctness; the first terminal is also used for sending a second request to the network device; the network device is also used for generating a second result and second-level job evaluation data when receiving the second request, and sending the second result to the first terminal, the second result is used for characterizing the comprehensive quality of the code of the program job, and in combination with the above two results, the network device is also used for generating a comprehensive evaluation of the job, the present invention realizes feedback on the results of the student's homework completion process, and more conveniently, comprehensively and efficiently performs a multi-dimensional comprehensive evaluation on the homework.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of education and training technology, and in particular to a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis. Background Art

[0002] As a highly practical course, programming language learning requires not only solid classroom theoretical knowledge accumulation, but also hands-on and practice. Only by combining theory with practice can good learning results be achieved. Computer practice is a good practical way to gradually and systematically improve the learning effect of programming languages. However, although the mainstream programming language practice platforms have realized the informatization of programming language teaching processes, some of which also provide computer practice, the programming requirements are still limited to being able to compile and run and output the expected results. As for the readability, robustness and performance of the code, which are closely related to the quality of the code, the existing solutions in the prior art lack relevant solutions, so it is impossible to automatically complete the analysis and evaluation of these program quality indicators, and can only rely on manual review by teachers or teaching assistants, which not only increases the repetitive workload, but also reduces the teaching efficiency. Students cannot get feedback other than the right or wrong results of program execution in a timely manner. In addition, teachers cannot intuitively obtain the evaluation of students' program quality to improve subsequent teaching improvements.

[0003] Moreover, in the actual process of programming language teaching, there is a serious disconnect between theory and practice. "Language programming" is a course that closely combines theory and practice. The main purpose of language teaching is to cultivate and output qualified software R&D talents for enterprises. Therefore, it cannot be limited to teaching students how to write executable programs. It is also necessary to cultivate students to write high-quality code and gradually establish good and correct software programming habits. The gap between teaching and practice can be bridged by early exposure to industrial or national programming standards and programming guidance specifications. However, the mainstream programming language teaching and practice platforms are very weak or even lacking in this regard. Summary of the invention

[0004] In response to the problems existing in the above-mentioned prior art, the present invention provides a programming language teaching practice platform, method, student terminal, network equipment and teacher terminal based on multi-dimensional quality evaluation of program analysis, which can provide feedback on the analysis results of the student's homework completion process, and conduct multi-dimensional comprehensive evaluation of the completed homework in a more convenient, comprehensive and efficient manner.

[0005] The technical solution is as follows:

[0006] In the first aspect, the present application provides a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis, including:

[0007] The first terminal is used to send an online homework request to the network device under the attached network;

[0008] A network device, for determining whether to respond to an online editing page after receiving an online homework request;

[0009] The first terminal is further configured to send a first request to a network device in the attached network;

[0010] The network device is further used to generate a first result and first-level job evaluation data upon receiving the first request, and send the first result to the first terminal, wherein the first result is used to indicate whether the program job is executable and satisfies logical correctness;

[0011] The first terminal is further used to send a second request to the network device under the attached network;

[0012] The network device is further used to generate a second result and second-level job evaluation data upon receiving a second request, and send the second result to the first terminal, wherein the second result is used to characterize the comprehensive quality of the code of the program job.

[0013] In a second aspect, the present application provides a programming language teaching practice method based on multi-dimensional quality evaluation of program analysis, which is applied to network devices, including:

[0014] receiving a first request for a program operation;

[0015] Determine a first result and first-level operation evaluation data in the program operation by using a preset first method in combination with a constraint condition corresponding to the first method, and send the first result to the first terminal;

[0016] If the first result and the first-level job evaluation data meet the preset requirements, determine whether there are second results and second-level job evaluation data that meet the preset requirements, and if so, receive the job submission request, and if not, receive the program job second request;

[0017] Determine a second result in the program operation and second-level operation evaluation data by using a preset second method in combination with a constraint condition corresponding to the second method, and send the second result to the first terminal;

[0018] If the second result and the second-level job evaluation data meet the preset requirements, the job submission request is received or the first request for the program job is received.

[0019] In a third aspect, the present application provides a terminal, including a transceiver, a memory, and a processor;

[0020] The memory is used to store instructions;

[0021] A transceiver, used to send an online homework request or a first request or a second request to a network device under the attached network; used to receive an online editing page or a first result or a second result responded by the network device under the attached network;

[0022] A processor, configured to execute instructions stored in the memory, wherein when the processor executes the instructions stored in the memory, the terminal device executes:

[0023] When receiving an online editing page responded by a network device under the attached network, the editing operation instruction of the online job is executed.

[0024] In a fourth aspect, the present application provides a network device, including a transceiver, a memory, and a processor;

[0025] The memory is used to store instructions;

[0026] A transceiver, configured to respond to the first terminal with an online editing page or a first result or a second result;

[0027] A processor, configured to execute instructions stored in the memory, wherein when the processor executes the instructions stored in the memory, the network device executes:

[0028] When receiving an online homework request, using a preset first constraint condition for the online homework to obtain a verification result of the first constraint condition;

[0029] Upon receiving the first request, a first result is obtained by using a preset first method in combination with a constraint condition corresponding to the first method, and first-level job evaluation data is obtained;

[0030] When the second request is received, a second result is obtained by using a preset second method in combination with the constraint conditions corresponding to the second method, and second-level job evaluation data is obtained.

[0031] In a fifth aspect, the present application provides a terminal, including a transceiver, a memory, and a processor;

[0032] The memory is used to store instructions;

[0033] A transceiver, used to send a request to check the completion status of an assignment or a second comprehensive evaluation result of an online assignment of a single student or a request to check the third comprehensive evaluation result of an online assignment of a single student or a request to check the completion results of an online assignment of all students to a network device under an attached network; used to receive an online assignment submitted by a single student and a first comprehensive evaluation result;

[0034] A processor, configured to execute instructions stored in the memory, wherein when the processor executes the instructions stored in the memory, the network device executes:

[0035] When receiving the submitted online job and the first comprehensive evaluation result sent by the network device, the editing instruction of the second comprehensive evaluation result is executed.

[0036] The present invention provides a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis, which has the beneficial effects of obtaining the first result and the first-level job evaluation data, the second result and the second-level job evaluation data through the first request of the student's homework, i.e., the logic verification request, and the second request, i.e., the code quality analysis request, so as to realize the real-time analysis of the completed program homework. The platform provides comprehensive and multi-dimensional quality problem feedback including potential security and error problems (bugs), readability, performance, best practices, robustness, security, etc., so as to deepen students' understanding of code quality and cultivate students' awareness of code quality in a timely manner. Students can continuously improve the code based on the feedback analysis results and write higher quality code while ensuring the correctness of the function. When reviewing the exercises, teachers and teaching assistants can provide feedback based on the analysis results of the student's homework completion process, and conduct a multi-dimensional comprehensive evaluation of the completed homework in a more convenient, comprehensive and efficient manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 It is a schematic diagram of information interaction between a student terminal and a network device in a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis in an embodiment of the present application;

[0038] Figure 2 It is a schematic diagram of information interaction between a teacher terminal and a network device in a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis in an embodiment of the present application;

[0039] Figure 3 It is a flow chart of a programming language teaching practice method based on multi-dimensional quality evaluation of program analysis applied to network devices in an embodiment of the present application. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions 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 are within the scope of protection of the present invention.

[0041] The existing programming language teaching practice platform uses different user roles to informatize the language teaching process, mainly including: teachers / teaching assistants, students, administrators / teaching affairs. The teacher arranges online homework through the platform, and the students complete the online homework through the platform. The teacher then reviews and scores the students' computer code. In the above process, although the platform will arrange online homework and automate the process of submitting online homework, the submitted online homework is only evaluated by whether the test case is passed to evaluate the correctness of the program. For the quality evaluation of the program, statistics on student learning conditions and other information still need to take up a lot of manual review energy. In order to make this part of the work also automated, and in the process of students submitting exercises, in real time guide students to write high-quality code, and feedback the students' learning effect to the teacher, the present application embodiment provides a programming language teaching practice platform based on program analysis multidimensional quality evaluation. When students write the code of online homework, they can use the platform to analyze the completed program homework in real time. The platform gives all-round and multi-dimensional quality problem feedback including potential security and error problems (bugs), readability, performance, best practices, robustness, security, etc., to deepen students' understanding of code quality and cultivate students' awareness of code quality in a timely manner. Students can continuously improve their codes based on the feedback analysis results, and write higher quality codes while ensuring the correct functions. When reviewing exercises, teachers and teaching assistants can conduct a multi-dimensional comprehensive evaluation of completed homework more conveniently, comprehensively and efficiently based on the analysis results of the students' homework completion process. In addition, the programming language teaching practice platform in this embodiment can provide feedback and support for teachers to adjust the subsequent teaching focus and optimize the teaching plan in a timely and targeted manner through statistics and analysis of quality evaluation data, making the entire language teaching practice more accurate and efficient.

[0042] Specifically, the embodiment of the present application provides a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis, including:

[0043] The first terminal is used to send an online homework request to the network device under the attached network;

[0044] A network device, for determining whether to respond to an online editing page after receiving an online homework request;

[0045] The first terminal is further used to send a first request to the network device under the attached network;

[0046] The network device is further used to generate a first result and first-level job evaluation data upon receiving the first request, and send the first result to the first terminal, the first result being used to indicate whether the program job is executable and satisfies logical correctness;

[0047] The first terminal is further used to send a second request to the network device under the attached network;

[0048] The network device is also used to generate a second result and second-level job evaluation data when receiving the second request, and send the second result to the first terminal, where the second result is used to characterize the comprehensive quality of the code of the program job.

[0049] Specifically, when receiving the online job request, the network device uses the preset first constraint condition for the online job to obtain the verification result of the first constraint condition;

[0050] Upon receiving the first request, a first result is obtained by using a preset first method in combination with a constraint condition corresponding to the first method, and first-level job evaluation data is obtained;

[0051] When the second request is received, a second result is obtained by using a preset second method in combination with the constraint conditions corresponding to the second method, and second-level job evaluation data is obtained.

[0052] The network device for processing the online homework request, the first request and the second request may be one or more. The network device may be a server, etc. The first terminal may be a student terminal.

[0053] The first request is a request for logic verification of the program job. The first method is a logic verification process of the program job. The corresponding constraint conditions include the correctness and executableness of the program code during the execution of the program job and whether the running time has exceeded. The first result includes errors that occurred during the execution of the program and whether all test cases are covered. The first-level job evaluation data includes resource usage data such as memory, CPU, and time consumption during the execution of the first analysis method, as well as the error categories, error severity, and statistical results of different errors during the execution of the first method, as well as the correctness of the execution result.

[0054] The second request is a request for quality analysis of program assignments. The second method is a quality analysis process for program assignments. The corresponding constraints may include a first constraint for program assignments preset by teachers according to course requirements, a second constraint for program assignments preset according to program high quality requirements, and other constraints. The first constraint and the second constraint may include prohibiting the use of specified language features, library functions, keywords, statements, types, etc., to ensure that students complete computer assignments through knowledge points in the teaching process, and may also include measurement values ​​of assignment codes, such as the number of parameters, nesting levels, cyclomatic complexity, etc., to ensure that students comply with corresponding standards. The second-level assignment evaluation data may include the detection results of the above-mentioned constraints, and may also include statistical analysis results of multiple types of detection results of the above-mentioned multiple constraints, and may also include program quality analysis results in terms of program readability, performance, best practices, robustness, security, etc. derived from the statistical analysis results;

[0055] In one embodiment, the first terminal is further used to send an online homework request and a first request to the network device again after receiving the first result, and receive the first result again; the first terminal is further used to send an online homework request and a second request to the network device again after receiving the second result, and receive the second result again. That is, the process of "the first terminal sends an online homework request and a first request to the network device, the network device generates a first result and a first-level homework evaluation data, and sends the first result to the first terminal" is repeated, and the process of "the first terminal sends an online homework request and a second request to the network device, the network device generates a second result and a second-level homework evaluation data, and sends the second result to the first terminal" is repeated.

[0056] The programming language teaching practice platform based on program analysis multi-dimensional quality evaluation and the programming language teaching practice method implemented on a network device include:

[0057] receiving a first request for a program operation;

[0058] Determine a first result and first-level operation evaluation data in the program operation by using a preset first method in combination with a constraint condition corresponding to the first method, and send the first result to the first terminal;

[0059] If the first result and the first-level job evaluation data meet the preset requirements, determine whether there are second results and second-level job evaluation data that meet the preset requirements, and if so, receive the job submission request, and if not, receive the program job second request;

[0060] Determine a second result in the program operation and second-level operation evaluation data by using a preset second method in combination with a constraint condition corresponding to the second method, and send the second result to the first terminal;

[0061] If the second result and the second-level job evaluation data meet the preset requirements, the job submission request is received or the first request for the program job is received.

[0062] In one embodiment, after completing the online homework, the student terminal sends a first request, and the network device performs a first analysis process based on the request to obtain a first result and a first-level homework evaluation data. If the first result indicates that the program job execution can cover all test cases, a second request can be sent, and the network device performs a second analysis process based on the request to obtain a second result and a second-level homework evaluation data. If the second result meets the constraints preset by the teacher and the requirements of high-quality programming, the student terminal can submit the homework, or confirm the logic verification result through the first process again.

[0063] If the student terminal chooses to confirm the logic verification results again through the first analysis process, then after the logic verification, if it is determined that the program job undergoing logic verification has passed the second analysis process and has obtained the second results and second-level job evaluation data that meet the preset requirements, the student terminal's job submission request can be received.

[0064] Of course, after receiving the first result and the second result, if the results do not meet the preset requirements, the student terminal can modify the homework to further optimize the homework code, and re-perform the first analysis process and the second analysis process until the first result representation covers all test cases, and until the second result is a relatively satisfactory analysis result.

[0065] In one embodiment, the student client can make a homework logic verification request, a homework quality analysis request, and a homework submission request for the completed homework. Specifically:

[0066] After completing the assignment, the student sends a logic verification request to the network device. After receiving the request, the network device runs the program code to determine whether there are logic errors and whether all test cases are covered, and then feeds back the logic verification results to the student. The student makes different operation requests based on the logic verification results.

[0067] If the logic verification result fails, the job modification process can be performed, and the job logic verification request can be made again based on the job modification result. The number of times the job modification process and the job logic verification request can be made again can be limited or unlimited;

[0068] If the logic verification result passes, the student terminal sends a homework quality analysis request to the network device. After receiving the request, the network device analyzes the quality of the homework based on the multi-dimensional code quality constraints, obtains the multi-dimensional code quality analysis results, and feeds back the quality analysis results to the student terminal. The student terminal can make different operation requests based on the quality analysis results.

[0069] If the quality analysis result does not meet the preset homework quality requirements or the student is not satisfied with the quality analysis result, the homework can be modified and the homework quality analysis request can be made again based on the homework modification result. The number of times the homework modification process and the homework quality analysis request can be made again can be limited or unlimited.

[0070] If the quality analysis results meet the requirements, a job logic verification request or a job submission request can be sent. After sending the job logic request and passing the logic verification, the student end can send a job submission request.

[0071] Through the above-mentioned multiple cycles of "logic verification-homework modification-logic verification again" and multiple cycles of "quality analysis-homework modification-quality analysis again", two processes of continuous code optimization, students can continuously improve code quality during the practice stage.

[0072] In one embodiment, the method for the network device to determine whether to respond to an online editing page includes:

[0073] Acquire the first terminal user identifier that sends the online request and the identifier of the online job;

[0074] Acquire a first constraint condition of the job based on the identifier of the job;

[0075] Based on the first terminal user identifier, the current time, and the operation record and status of the online job of the first terminal user, it is determined whether the current online job request satisfies the first constraint condition of the job.

[0076] The first constraint condition may include whether the online homework has been published, the homework submission deadline, the number of times the same student submits the homework online, etc. The responsive online editing page may be implemented based on an online code editor.

[0077] In addition, based on the first constraint condition, the network device can also remind students who have not submitted their homework according to the deadline of the online homework. When the students log in to the platform, if there are such online homeworks that have not been submitted, they will be reminded according to the two situations of expired or about to expire.

[0078] In one embodiment, the first terminal is further used to send an online homework submission request to the network device under the attached network; the network terminal is further used to receive the submitted online homework, generate a third result and a third-level homework evaluation data, and the third result is used to represent the comparison result of the submitted online homework with all the homework answer data submitted in the online homework answer library. For example, the third result can be data representing the originality of the online homework submitted by the student terminal, and judge whether the submitted homework has suspected plagiarism code.

[0079] In one embodiment, the network terminal is further used to generate first comprehensive evaluation data for the online job submitted by the first terminal based on the third-level job evaluation data, at least one of the first-level job evaluation data and at least one of the second-level job evaluation data.

[0080] In an embodiment of the present application, a method for a network terminal to generate first comprehensive evaluation data includes:

[0081] Extracting multiple evaluation factors according to the third result and the third-level operation evaluation data, at least one first-level operation evaluation data, and at least one second-level operation evaluation data, and dividing them into at least two evaluation factor sets by classification;

[0082] The evaluation factor set of each category is used as an evaluation dimension to generate the corresponding weight distribution structure;

[0083] Generate a sub-weight distribution structure for each evaluation factor under each evaluation dimension, and determine the score of each evaluation dimension according to each evaluation factor and the corresponding sub-weight distribution structure;

[0084] According to the corresponding score of each evaluation dimension and the corresponding weight distribution structure, the first comprehensive evaluation data of all evaluation dimensions are obtained.

[0085] Specifically, the above classification is divided into at least two evaluation factor sets, including:

[0086] (1) Cluster all evaluation factors to obtain multiple evaluation factor sets;

[0087] (2) performing similarity judgment on the central evaluation factors of the evaluation factor set, matching the central evaluation factors whose similarity meets the first preset condition, and obtaining a matching central evaluation factor group;

[0088] (3) performing weighted fusion on the central evaluation factors in the matching central evaluation factor group to obtain the weighted fused central evaluation factor, and then obtaining the evaluation factor set to which the weighted fused central evaluation factor belongs;

[0089] (4) Repeat the above steps (2) to (3) until the number of evaluation factor sets obtained meets the preset requirement, thereby obtaining the at least two evaluation factor sets.

[0090] The generation methods of the weight distribution structure and the sub-weight distribution structure are similar. In this embodiment, the generation method of the weight distribution structure is taken as an example for description. The method includes:

[0091] The total number of evaluation dimensions is recorded as n, and the importance of evaluation dimension i (i∈1,2,...,n) is compared with the n evaluation dimensions respectively to obtain the importance comparison data of the n evaluation dimensions i;

[0092] Fusing n importance comparison data of evaluation dimension i to obtain the first weight of the fused evaluation dimension i;

[0093] The matrix composed of the first weights of n evaluation dimensions is called the first matrix;

[0094] The first matrix is ​​modified according to a preset verification condition of the first matrix. Specifically, when the first matrix meets the verification condition, no modification is required. Otherwise, the first matrix is ​​modified. The preset constraint condition can be based on the calculation of the eigenvector α of the first matrix to determine whether the first matrix meets the consistency;

[0095] The modified first weights of the n evaluation dimensions are obtained based on the modified first matrix.

[0096] Generate m evaluation data for evaluation dimension i based on m preset methods;

[0097] Record the m evaluation data of n evaluation dimensions to form a second matrix;

[0098] Comprehensively analyze the m evaluation data of each evaluation dimension i in the second matrix to obtain the information entropy data A of the evaluation dimension i i ;

[0099] Generate a second weight for the evaluation dimension i according to the information entropy data;

[0100] Among them, the second weight P i 2 The generation method uses:

[0101]

[0102] The first weight and the second weight of the evaluation dimension i are fused to obtain the comprehensive weight of the evaluation dimension i, that is, the weight distribution structure of the n evaluation dimensions is obtained.

[0103] Based on the weight distribution structure of the above-mentioned n evaluation dimensions, in the embodiment of the present application, a preset trained target gradient boosting tree is used to correct the comprehensive weight of each evaluation dimension, and the target gradient boosting tree is used to analyze the comprehensive weight of each evaluation dimension.

[0104] In one embodiment, a programming language teaching practice platform based on multi-dimensional quality evaluation of program analysis further includes:

[0105] The second terminal is used to send a request for checking the completion status of a single student's online homework to the network device under the attached network;

[0106] A network device, used for sending the submitted online assignment and the first comprehensive evaluation result to the second terminal;

[0107] The second terminal is further used to send a second comprehensive evaluation result of the online homework of a single student to the network device based on the submitted online homework and the first comprehensive evaluation result;

[0108] The network device is also used to generate a third comprehensive evaluation result of a single student's online assignment based on the first comprehensive evaluation result and the second comprehensive evaluation result.

[0109] In an embodiment of the present application, the second terminal can be a teacher terminal. The second terminal can view the completion status of a single student's program assignment, and can view the submitted assignments and the corresponding first comprehensive evaluation results, and give personal comments. Based on the first comprehensive evaluation results and the teacher's personal comment data, the network device can generate the final third comprehensive evaluation results of the single student's online assignments.

[0110] In one embodiment, the first terminal is further used to send a third comprehensive evaluation result viewing request to the network device under the attached network; the second terminal is further used to send a third comprehensive evaluation result viewing request to the network device under the attached network. Then the network device can display the analysis results and evaluation results of multiple analysis processes of the corresponding online job to the first terminal and the second terminal.

[0111] In one embodiment, the second terminal is also used to send a request for viewing the results of all students completing the online assignment to the network device under the attached network; the network device is also used to generate and send statistical analysis data of the results of all students completing the online assignment to the second terminal based on the request for viewing the results of all students completing the assignment.

[0112] In the embodiment of the present application, the network device generates statistical analysis data of all student completion results of online assignments, including:

[0113] Based on at least one of the first results and first-level homework evaluation data for each student, at least one of the second result and second-level homework evaluation data, and the third result and third-level homework evaluation data, the homework errors and homework problems that occur in the process of all students completing the online homework are classified and statistically analyzed.

[0114] Specifically, the network equipment conducts statistical analysis based on all analysis processes and analysis results of all student assignments, and can then obtain frequently occurring errors and problems in the assignments, such as common programming errors, common readability violations, common standard violations, etc., and provide follow-up guidance and teaching suggestions to help teachers optimize teaching plans.

[0115] The embodiment of the present application also provides a terminal, which is applied to a student terminal, and includes a transceiver, a memory, and a processor; the memory is used to store instructions;

[0116] The transceiver is used to send an online homework request or a first request or a second request to a network device under the attached network; and is used to receive an online editing page or a first result or a second result responded by the network device under the attached network;

[0117] The processor is configured to execute the instructions stored in the memory. When the processor executes the instructions stored in the memory, the terminal device is caused to execute:

[0118] When receiving an online editing page responded by a network device under the attached network, the editing operation instruction of the online job is executed.

[0119] The embodiment of the present application further provides a network device, including a transceiver, a memory, and a processor; the memory is used to store instructions; the transceiver is used to respond to the first terminal with an online editing page or a first result or a second result; the processor is used to execute the instructions stored in the memory, and when the processor executes the instructions stored in the memory, the network device executes:

[0120] When receiving an online homework request, using a preset first constraint condition for the online homework to obtain a verification result of the first constraint condition;

[0121] Upon receiving the first request, a first result is obtained by using a preset first method in combination with a constraint condition corresponding to the first method, and first-level job evaluation data is obtained;

[0122] When the second request is received, a second result is obtained by using a preset second method in combination with the constraint conditions corresponding to the second method, and second-level job evaluation data is obtained.

[0123] The embodiment of the present application also provides a terminal, which is applied to a teacher side, and includes a transceiver, a memory, and a processor; the memory is used to store instructions; the transceiver is used to send a request to view the completion status of an assignment or a second comprehensive evaluation result of an online assignment of a single student or a request to view the third comprehensive evaluation result of an online assignment of a single student or a request to view the completion results of all students of an online assignment to a network device under an attached network; and is used to receive an online assignment submitted by a single student and a first comprehensive evaluation result;

[0124] The processor is configured to execute the instructions stored in the memory. When the processor executes the instructions stored in the memory, the network device is caused to execute:

[0125] When receiving the submitted online job and the first comprehensive evaluation result sent by the network device, the editing instruction of the second comprehensive evaluation result is executed.

[0126] In one embodiment, in the above-mentioned terminal applied to the teacher side, the transceiver is also used to send a job creation request to the network device under the attached network; the processor is also used to execute editing instructions for creating the job, and the editing instructions include editing instructions for the job content and editing instructions for all constraints corresponding to the job.

[0127] Specifically, teachers can create and publish homework requests. When creating homework, they can create it by creating a new one or selecting an existing computer-based question in the question bank, and set some corresponding constraints for the online homework, such as deadlines, prohibition of using specified language features, library functions, keywords, statements, types, etc., to ensure that students complete the online homework through the knowledge points in the teaching process.

[0128] The present invention is not limited to the above-mentioned specific implementation modes. Various changes made by ordinary technicians in this field based on the above-mentioned concepts without creative work are all within the protection scope of the present invention.

Claims

1. A programming language teaching practice system based on multi-dimensional quality evaluation of program analysis, characterized in that: include: The first terminal is used to send an online homework request to the network device under the attached network; A network device, for determining whether to respond to an online editing page after receiving an online homework request; The first terminal is further configured to send a first request to a network device in the attached network; The network device is further used to generate a first result and first-level job evaluation data upon receiving the first request, and send the first result to the first terminal, wherein the first result is used to indicate whether the program job is executable and satisfies logical correctness; The first terminal is further used to send a second request to the network device under the attached network; The network device is further used to generate a second result and second-level job evaluation data upon receiving the second request, and send the second result to the first terminal, wherein the second result is used to characterize the comprehensive quality of the code of the program job; The method for generating the first result and the first-level operation evaluation data comprises: Upon receiving the first request, a first result is obtained by using a preset first method in combination with a constraint condition corresponding to the first method, and first-level job evaluation data is obtained; The first method is a program operation logic verification process, and the corresponding constraint conditions include the correctness, executableness and whether the running time of the program code in the program operation execution process is overtime. The first result includes the errors occurred in the program execution and whether all test cases are covered. The first level of operation evaluation data includes the resource usage data in the execution process of the first analysis method and the error statistics in the execution process of the first method and the correctness of the execution result; The method for generating the second result and the second level operation evaluation data comprises: Upon receiving the second request, a second result is obtained by using a preset second method in combination with a constraint condition corresponding to the second method, and second-level job evaluation data is obtained; The second request is a request for quality analysis of program assignments, and the corresponding constraints include a first constraint of program assignments preset by the teacher according to course requirements, a second constraint of program assignments preset according to program high quality requirements, and other constraints, wherein the first constraint and the second constraint include prohibiting the use of specified language features, library functions, keywords, statements, types, and metrics of assignment codes; the second-level assignment evaluation data includes detection results of the first constraint, the second constraint, and other constraints, statistical analysis results of multiple types of detection results of the first constraint, the second constraint, and other constraints, and program quality analysis results derived from the statistical analysis results; The first terminal is further used to send an online job submission request to the network device under the attached network; The first terminal is further configured to, after receiving the first result, send the online homework request and the first request to the network device again, and receive the first result again; The first terminal is further configured to, after receiving the second result, send the online homework request and the second request to the network device again, and receive the second result again; The network terminal is used to receive the submitted online homework and generate a third result and a third-level homework evaluation data, wherein the third result is used to represent the comparison result of the submitted online homework with all the homework answer data submitted in the online homework answer library; The network terminal is further used to generate first comprehensive evaluation data for the online job submitted by the first terminal based on the third-level job evaluation data, at least one of the first-level job evaluation data, and at least one of the second-level job evaluation data; The method for the network terminal to generate first comprehensive evaluation data includes: Extracting multiple evaluation factors based on the third-level operation evaluation data, at least one first-level operation evaluation data, and at least one second-level operation evaluation data, and dividing them into at least two evaluation factor sets by classification; The evaluation factor set of each category is used as an evaluation dimension to generate the corresponding weight distribution structure; Generate a sub-weight distribution structure for each evaluation factor under each evaluation dimension, and determine the score of each evaluation dimension according to each evaluation factor and the corresponding sub-weight distribution structure; Obtaining first comprehensive evaluation data of all evaluation dimensions according to the corresponding score of each evaluation dimension and the corresponding weight distribution structure; The classification is divided into at least two evaluation factor sets, including: (1) Cluster all evaluation factors to obtain multiple evaluation factor sets; (2) performing similarity judgment on the central evaluation factors of the evaluation factor set, matching the central evaluation factors whose similarity meets the first preset condition, and obtaining a matching central evaluation factor group; (3) performing weighted fusion on the central evaluation factors in the matching central evaluation factor group to obtain the weighted fused central evaluation factor, and then obtaining the evaluation factor set to which the weighted fused central evaluation factor belongs; (4) Repeating the above steps (2) to (3) until the number of evaluation factor sets obtained meets the preset requirement, thereby obtaining the at least two evaluation factor sets; The method for generating the weight distribution structure comprises: The total number of evaluation dimensions is n, and the importance of evaluation dimension i, i∈1,2,...,n, is compared with the n evaluation dimensions respectively to obtain the importance comparison data of the n evaluation dimensions i; Fusing n importance comparison data of evaluation dimension i to obtain the first weight of the fused evaluation dimension i; The matrix composed of the first weights of n evaluation dimensions is called the first matrix; The first matrix is ​​modified according to a preset verification condition of the first matrix. Specifically, when the first matrix meets the verification condition, no modification is required. Otherwise, the first matrix is ​​modified. The preset verification condition is based on calculating the eigenvector α of the first matrix to determine whether the first matrix meets consistency. Obtaining the modified first weights of the n evaluation dimensions based on the modified first matrix; Generate m evaluation data for evaluation dimension i based on m preset methods; Record the m evaluation data of n evaluation dimensions to form a second matrix; Comprehensively analyze the m evaluation data of each evaluation dimension i in the second matrix to obtain the information entropy data A of the evaluation dimension i i ; Generate a second weight for the evaluation dimension i according to the information entropy data; Among them, the second weight P i 2 The generation method uses: Based on the fusion of the first weight and the second weight of the evaluation dimension i, the comprehensive weight of the evaluation dimension i is obtained, that is, the weight distribution structure of the n evaluation dimensions is obtained; Based on the weight distribution structure of the n evaluation dimensions, the comprehensive weight of each evaluation dimension is corrected by using a preset trained target gradient boosting tree, and the target gradient boosting tree is used to analyze the comprehensive weight of each evaluation dimension; The second terminal is used to send a request for viewing the completion results of all students of the online homework to the network device under the attached network; The network device is further used to generate and send to the second terminal statistical analysis data of all students' completion results of the online assignment based on the request for viewing all students' completion results; The statistical analysis data of all students' completion results of online homework on the network device includes: Based on at least one of the first results and first-level homework evaluation data for each student, at least one of the second result and second-level homework evaluation data, and the third result and third-level homework evaluation data, the homework errors and homework problems that occur in the process of all students completing the online homework are classified and statistically analyzed.

2. A programming language teaching practice system based on program analysis multidimensional quality evaluation according to claim 1, characterized in that: The method for the network device to determine whether to respond to an online editing page includes: Acquire the first terminal user identifier that sends the online request and the identifier of the online job; Acquire a first constraint condition of the job based on the identifier of the job; Based on the first terminal user identifier, the current time, and the operation record and status of the online job of the first terminal user, it is determined whether the current online job request satisfies the first constraint condition of the job.

3. A programming language teaching practice system based on program analysis multidimensional quality evaluation according to claim 1, characterized in that: Also includes: The second terminal is used to send a request for checking the completion status of a single student's online homework to the network device under the attached network; The network device is used to send the submitted online assignment and the first comprehensive evaluation result to the second terminal; The second terminal is further used to send a second comprehensive evaluation result of a single student's online homework to the network device based on the submitted online homework and the first comprehensive evaluation result; The network device is also used to generate a third comprehensive evaluation result of a single student's online homework based on the first comprehensive evaluation result and the second comprehensive evaluation result.

4. A programming language teaching practice system based on program analysis multi-dimensional quality evaluation according to claim 3, characterized in that: The first terminal is further used to send a request for viewing a third comprehensive evaluation result to the network device under the attached network; The second terminal is also used to send a third comprehensive evaluation result viewing request to the network device under the attached network.

Citation Information

Patent Citations

  • Efficiency state evaluation method of intelligent power distribution network

    CN111222755A