Practical training task submission checking system
By designing a practical training task submission inspection system, using AI engine and OJ engine to realize automated task inspection and scoring, the problem of long-term and lack of automation in traditional methods of practical training task evaluation is solved, and teaching efficiency and effect are improved.
Patent Information
- Application Number
- CN202510171071.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-17
- Publication Date
- 2025-06-06
AI Technical Summary
It is difficult for the existing technology to effectively evaluate students' programming and non-programming training tasks. The traditional methods are time-consuming and lack automated evaluation and feedback.
A practical training task submission inspection system is designed, including teacher-side, student-side, AI engine and OJ engine. Multimodal evaluation is performed through the AI engine and code analysis is performed to realize automated task inspection and scoring.
It realizes automated detection of programming tasks and multimodal evaluation of non-programming tasks, provides fast, accurate and real-time practical training task inspection, and improves classroom teaching efficiency and teaching effect.
Smart Images

Figure CN120106659A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of teaching training technology, and in particular to a training task submission and checking system. Background Art
[0002] The submission and checking of practical training tasks are important links in evaluating students' learning outcomes and skills mastery. The traditional submission and checking process of practical training tasks usually relies on manual review by teachers or evaluators. The manual review process of task completion is time-consuming, especially when there are a large number of students, which significantly increases the workload of teachers. In addition, the evaluation criteria of different teachers may differ, resulting in objective and inconsistent scoring, which affects the fairness of the evaluation. At the same time, for complex tasks (such as programming tasks, experimental reports, etc.), traditional methods are difficult to achieve automated evaluation and feedback, and students usually need to wait a long time to get feedback, which not only affects the learning effect, but also reduces students' enthusiasm.
[0003] The patent with publication number CN115311920B discloses a VR-based training method, which scores the student training process through predefined scoring rules, which improves the efficiency of task completion inspection to a certain extent. However, its scoring rules are fixed, and it is necessary to set scoring standards for each task separately, which is not flexible enough.
[0004] The patent publication number is CN117875862A, which discloses an AI-based student homework marking method, which can realize automatic marking of students' text homework, and to a certain extent solves the problem that traditional methods are difficult to automate evaluation. However, it requires teachers to enter the marking process of practical training content into the system in advance, and then train the model, and automatically mark it through the trained model. Therefore, the accuracy of the model depends on the scale of training data, and it is not effective for practical training tasks that are not included in the training data. Moreover, this method can only mark text homework, and its use has certain limitations. Summary of the invention
[0005] In view of the deficiencies of the prior art, the present invention solves the problem that the prior art lacks evaluation of students' programming and non-programming practical training tasks.
[0006] The technical solution adopted by the present invention is: a training task submission and inspection system includes:
[0007] Teacher side, student side, AI engine, OJ engine; among them,
[0008] The teacher end is used for student information management, student training environment creation, training task template creation, training task release and training result statistics;
[0009] The student end is used to view and submit practical training tasks and view practical training results;
[0010] The AI engine is used for training task analysis and training result detection;
[0011] The OJ engine provides code analysis, code running result judgment and code scoring.
[0012] As a preferred implementation of the present invention, the teacher side is composed of Streamlit page service, container management service, data storage service, and web page service.
[0013] As a preferred implementation of the present invention, the AI engine is composed of a large model service, a knowledge base, an OCR recognition service, and an interface service.
[0014] As a preferred implementation of the present invention, the OJ engine is composed of an interface service and an automatic evaluation service.
[0015] As a preferred implementation of the present invention, the practical training tasks include programming tasks and non-programming tasks.
[0016] As a preferred embodiment of the present invention, checking the practical training task includes:
[0017] Step S1: if the training task is a programming task, go to step S2; if the training task is a non-programming task, go to step S3;
[0018] Step S2: Take the student's training code as input, pass it into the check script of this task in the OJ engine, run the check script, and obtain the number of input-output test cases that have passed;
[0019] Step S3: The task information, student information, and screenshots of student training results are passed into the AI engine to generate prompt words and attachments. The prompt words and attachments are respectively passed into the image recognition model and the dialogue model for judgment. If the results are consistent, the scoring results are output; otherwise, the public cloud model is used for judgment; otherwise,
[0020] Step S4: Use the public cloud big model to make a judgment.
[0021] As a preferred embodiment of the present invention, in step S2, the OJ engine checks the student tasks including:
[0022] Step S20, initialize counter count, initialize counter size, and input all input-output test case pairs into a queue; if the queue is empty, go to S25; otherwise, go to step S21;
[0023] Step S21, pop the first set of test case pairs from the queue, counter size+1; pass the input in the test case pair as input to the student code, run the student code, if the run fails, go to S24;
[0024] Step S22, compare the output of the student code with the output of the test case pair; if the two are completely consistent, go to step S23; otherwise, go to step S24;
[0025] Step S23, counter count+1, indicating that a test case has passed successfully;
[0026] Step S24, check whether the queue is empty; if the queue is not empty, return to step S21 to process the next test case; if the queue is empty, go to S25;
[0027] Step S25: Calculate the task score. The score formula is: Output the task score.
[0028] As a preferred implementation of the present invention, if size is 0 in step S25, the task score is 0.
[0029] As a preferred implementation of the present invention, the teacher writes a non-programming task template, including a task name, a task description, and a number of checkpoints; if a checkpoint does not specify a score field, the checkpoint is automatically scored, including:
[0030] Step S00, initializing total_score, existing_score and counter count;
[0031] Parse the checkpoints field and queue all checkpoints;
[0032] If the queue is empty, go to step S04; otherwise go to step S01;
[0033] Step S01, pop the first element from the queue; if the checkpoint specifies the score field, add the value of the score field to existing_score;
[0034] Otherwise, count+1;
[0035] If the queue is not empty, return to step S01;
[0036] Step S02, calculate the remaining score remaining_score=total_score-existing_score;
[0037] If remaining_score is less than 0 or count is 0, log an error message and terminate the process;
[0038] If count is not 0, calculate
[0039] Step S03, traverse the first count-1 checkpoints that do not specify the score field, add a score field to them, and the value is new_score, and add a score field to the last checkpoint that does not specify the score field, and the value is: remaining_score-(new_score×(count-1));
[0040] Step S04: output the modified task template.
[0041] As a preferred embodiment of the present invention, in step S3, the AI engine checks the student tasks, including:
[0042] Step SA0, generating prompt words and attachments according to the prompt word template, task requirements, and student task screenshots;
[0043] Step SA1: transfer the prompt word and the attachment to the local image recognition model to obtain the judgment result of the local image recognition model;
[0044] Step SA2: convert the student's task screenshot into text through image text recognition, and generate prompt words according to the prompt word template, task information, student information, and image-to-text conversion results;
[0045] Step SA3: passing the prompt word into the local dialogue model to obtain the judgment result of the dialogue model;
[0046] Step SA4: determine whether the result of the image recognition large model is consistent with the result of the dialogue large model;
[0047] Step SA5: The prompt word and attachment generated in step SA0 are transmitted to the public cloud image recognition model to obtain the judgment result of the public cloud model;
[0048] Step SAS6: Generate the final task score and the reason for not scoring based on the judgment result of the public cloud big model and the local model result that matches it.
[0049] Beneficial effects of the present invention:
[0050] 1. Automated task inspection and scoring are achieved through artificial intelligence technology, providing automated detection of programming tasks and multimodal evaluation of non-programming tasks. Through the collaborative work of multi-level models, the accuracy of the evaluation is guaranteed while taking into account the rational use of computing resources, thus avoiding unnecessary cloud computing expenses;
[0051] 2. After students submit their training results, the platform can start the automatic inspection process and quickly give scores and feedback, which solves the problems of low efficiency, strong subjectivity and lack of real-time feedback in the inspection of the completion of training tasks in traditional classroom teaching. It provides automatic, fast, accurate and real-time training task inspection, effectively improving classroom teaching efficiency and teaching effectiveness. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 It is a block diagram of the practical training task submission system of the present invention;
[0053] Figure 2 It is a schematic diagram of the program design task inspection process of the present invention;
[0054] Figure 3 It is a flowchart of non-programming task checking of the present invention. DETAILED DESCRIPTION
[0055] The present invention is further described below in conjunction with the accompanying drawings and embodiments. This figure is a simplified schematic diagram, which only illustrates the basic structure of the present invention in a schematic manner, and therefore it only shows the components related to the present invention.
[0056] like Figure 1 As shown, a training task submission and checking system includes: a teacher end, a student end, an AI engine, and an OJ engine; wherein,
[0057] The teacher end is used for student information management, student training environment creation, training task template creation, training task release and training result statistics;
[0058] The student end is used to view and submit practical training tasks and view practical training results;
[0059] The AI engine is used for training task analysis and training result detection;
[0060] The OJ engine provides code analysis, code running result judgment and code scoring.
[0061] The teacher side consists of Streamlit page service, container management service, data storage service, and web page service;
[0062] Streamlit page service provides teacher-side pages;
[0063] The container management service is used to create a student training environment. Each student has an independent container environment. The training environment service runs in the container, and students access the training environment through a browser.
[0064] The data storage service includes a cache database and a relational database. The cache database is used to cache student data, and the relational database is used to permanently store data.
[0065] The web service creates a connection address based on the student ID and name for each student through reverse proxy and second-level domain name.
[0066] The AI engine consists of a large model service, knowledge base, OCR recognition service, and interface service;
[0067] The big model service includes the local image recognition big model and the local dialogue big model, providing intelligent services;
[0068] The knowledge base is built by teachers and includes data from previous students and experimental data from teachers’ lesson preparation, which is used to improve the accuracy of the model;
[0069] The OCR recognition service is used to convert the practical training screenshots provided by students into text;
[0070] The interface service is used to receive requests and return responses.
[0071] The OJ engine consists of interface services and automatic evaluation services;
[0072] The interface service is used to receive requests and return responses;
[0073] The automatic evaluation service is based on input-output test cases to determine whether the output of the code is consistent with the expected output under the specified input;
[0074] The teacher creates a training environment for students based on their information, with each student having an independent environment. The student training environment can receive the training tasks issued by the teacher, and the teacher can obtain the task results provided by the student in real time.
[0075] There are two types of practical training task templates created on the teacher side, programming tasks and non-programming tasks; programming tasks include task name, task description, and several groups of input-output test cases; non-programming tasks include task name, task description, and several groups of checkpoint information; in the practical training task template, variable content is specified by placeholders in the form of {name}, and the variable content will be automatically replaced according to the student's information when the practical training task is released; for example: the title is to create user {name}, and the specified group is {class_name}; then Zhang San from Cloud Computing 241 class receives the task: create user Zhang San, and specify the group as Cloud Computing 241; variable content includes student name, student ID number, and student class.
[0076] The inspection process for practical training tasks for programming and non-programming classes includes:
[0077] Input: training task information, student information, and student training results;
[0078] Output: practical training task inspection results;
[0079] Step S0: The student saves the training results, triggering the automatic task checking process;
[0080] Step S1: if the current task is a programming task, go to step S2; if the current task is a non-programming task, go to S3;
[0081] Step S2: Take the student's training code as input, pass it into the check script of this task in the OJ engine, run the check script, and obtain the number of input-output test cases that have passed;
[0082] Step S3: The task information, student information, and screenshots of student training results are passed into the AI engine, prompt words and attachments are generated according to the prompt word template, task information, student information, and screenshots of student training results, and the prompt words and attachments are passed into the local image recognition model to obtain the judgment result of the image recognition model;
[0083] Step S4: Convert the screenshot of the student's training result into text through image text recognition, generate prompt words according to the prompt word template, task information, student information, and recognized text, and pass the prompt words into the local dialogue model to obtain the judgment result of the dialogue model;
[0084] Step S5: If the judgment result of the image recognition large model is consistent with the judgment result of the dialogue large model, generate the final result; otherwise, go to step S6;
[0085] Step S6: Generate prompt words and attachments according to the prompt word template, task information, student information, and screenshots of student training results, and transfer the prompt words and attachments to the public cloud image recognition model to obtain the judgment result of the public cloud model;
[0086] Step S7: Generate a final result based on the judgment result of the public cloud big model and the result of the local big model;
[0087] The local big model includes the image recognition big model and the dialogue big model.
[0088] The following are examples of programming task templates:
[0089]
[0090] The programming task template uses the JSON structure format, using placeholders such as {{student_name}} to represent content that is dynamically filled in when generating practical training tasks.
[0091] In the programming task template, name is the task name, description and requirements are the task description, input_output_examples is the input-output test case pair, there can be multiple groups, in which input is the input, output is the corresponding output, and code_example is the example code for this task.
[0092] If you specify code_example in the task template, you do not need to specify input_output_examples, and the input-output test case pairs will be generated by the code specified in code_example.
[0093] If neither input_output_examples nor code_example is specified, the task is passed to the AI engine, and the local large model generates input-output test case pairs.
[0094] After the programming task template is written, the teacher selects the class, specifies the dynamic filling content, and performs the student task generation operation. If input_output_examples is not specified, input_output_examples is generated according to code_example or task information; then the dynamic content is filled for each student, the code_example field is deleted, the task is written to the OJ engine, and then two pairs of input-output test case pairs are retained and the tasks are distributed to the specified students.
[0095] After receiving the practical training task, students can enter the test code in the practical training platform. After the code is written, students can submit the task. After submitting the task, the student's code will be checked by the OJ engine. After the check is completed, students can see the score of the task, but cannot see which input-output test case pairs have not passed.
[0096] like Figure 2 ,The process of OJ engine checking the student task completion status in step S2 is as follows:
[0097] Input: student code, input-output test case pairs
[0098] Output: Task score
[0099] Step S20, initialize the counter count to 0, initialize the counter size to 0, and input all input-output test case pairs into the queue; if the queue is empty, go to S25; otherwise, go to step S21;
[0100] Step S21, pop the first set of test case pairs from the queue, counter size+1; pass the input in the test case pair as input to the student code, and try to run the student code. If the run fails, go to S24;
[0101] Step S22, compare the output of the student code with the output of the test case pair; if the two are completely consistent, go to step S23; otherwise, go to step S24;
[0102] Step S23, counter count+1, indicating that a test case has passed successfully;
[0103] Step S24, check whether the queue is empty; if the queue is not empty, return to step S21 to process the next test case; if the queue is empty, go to S25;
[0104] Step S25: Calculate the task score. If size is not 0, the calculation method is: If size is 0, the task score is 0 and the task score is output.
[0105] Teachers write non-programming task templates, including task names, task descriptions, and several sets of checkpoint information;
[0106] An example of a non-programming task template is:
[0107]
[0108] The non-programming task template uses the JSON structure format, using a placeholder like {{student_name}} to represent the content that is dynamically filled when the task is generated.
[0109] In the non-programming task template, name is the task name, description and requirements are the task description, checkpoints is the checkpoint information, and there can be multiple groups. The score field in each group of checkpoints indicates the score of this checkpoint. output_examples is the output example, which is the result image after completing the task as required, converted into text through the OCR service. It is used to improve the recognition accuracy of the large model and help the system better understand and evaluate the student's submission results. This field can be empty.
[0110] After the non-programming task template is written, the teacher selects the class, specifies the dynamic filling content, performs the student task generation operation, fills the dynamic content for each student, deletes the output_examples field, generates the task requirements, and distributes the task requirements to the specified students.
[0111] If a checkpoint does not specify a score field, the checkpoint is automatically scored. The process is as follows: Input: Task template
[0112] Output: Re-assigned task template
[0113] Step S00, initialize total_score to 100, initialize existing_score to 0, and initialize counter count to 0;
[0114] Parse the checkpoints field and queue all checkpoints;
[0115] If the queue is empty, go to step S04; otherwise go to S01;
[0116] Step S01, pop the first element from the queue; if the checkpoint specifies a score field, add the value of the score field to existing_score;
[0117] Otherwise, the counter count+1;
[0118] If the queue is not empty, return to step S01;
[0119] Step S02, calculate the remaining score remaining_score=total_score-existing_score;
[0120] If remaining_score is less than 0 or count is 0, log an error message and terminate the process;
[0121] If count is not 0, calculate
[0122] Step S03, traverse the first count-1 checkpoints that do not specify the score field, add a score field to them, and the value is new_score, and add a score field to the last checkpoint that does not specify the score field, and the value is: remaining_score-(new_score×(count-1));
[0123] Step S04: output the modified task template.
[0124] After receiving the task, students upload screenshots on the training platform. After the screenshots are uploaded, they will be checked by the AI engine. After the check is completed, students can see the score of the task and the reason for not getting a score.
[0125] like Figure 3 ,The process of the AI engine checking the student's task completion includes:
[0126] Input: student task requirements, student information, student task screenshots;
[0127] Output: task score, reason for not scoring;
[0128] Step SA0, generating prompt words and attachments according to the prompt word template, task requirements, and student task screenshots;
[0129] Step SA1: transfer the prompt word and the attachment to the local image recognition model to obtain the judgment result of the local image recognition model;
[0130] Step SA2: convert the student's task screenshot into text through image text recognition, and generate prompt words according to the prompt word template, task information, student information, and image-to-text conversion results;
[0131] Step SA3: passing the prompt word into the local dialogue model to obtain the judgment result of the dialogue model;
[0132] Step SA4: If the image recognition large model result is consistent with the dialogue large model result, go to step SA6; otherwise, go to step SA5;
[0133] Step SA5: The prompt word and attachment generated in step SA0 are transmitted to the public cloud image recognition model to obtain the judgment result of the public cloud model;
[0134] Step SAS6: Generate the final task score and the reason for not scoring based on the judgment result of the public cloud big model and the local model result that matches it.
[0135] Based on the above ideal embodiments of the present invention, the relevant staff can make various changes and modifications without departing from the technical concept of the present invention through the above description. The technical scope of the present invention is not limited to the contents of the specification, and its technical scope must be determined according to the scope of the claims.
Claims
1. A training task submission and inspection system, characterized in that: include: Teacher side, student side, AI engine, OJ engine; among them, The teacher end is used for student information management, student training environment creation, training task template creation, training task release and training result statistics; The student end is used to view and submit practical training tasks and view practical training results; The AI engine is used for training task analysis and training result detection; The OJ engine is used for code analysis, code execution result judgment and code scoring.
2. The training task submission and checking system according to claim 1 is characterized in that: Practical training tasks include programming and non-programming types.
3. The training task submission and checking system according to claim 2 is characterized in that: Checking the practical training tasks includes: Step S1: if the training task is a programming task, go to step S2; if the training task is a non-programming task, go to step S3; Step S2: Take the student training code as input, pass it into the task check script in the OJ engine, and obtain the number of input-output test cases that have passed; Step S3: The task information, student information, and screenshots of student training results are passed into the AI engine to generate prompt words and attachments. The prompt words and attachments are respectively passed into the image recognition model and the dialogue model for judgment. If the results are consistent, the scoring results are output; otherwise, the public cloud model is used for judgment; otherwise, Step S4: Use the public cloud big model to make a judgment.
4. The training task submission and checking system according to claim 3 is characterized in that: In step S2, the OJ engine checks the student tasks including: Step S20, initialize counters count and size, and input the input-output test case pair into a queue; if the queue is empty, go to step S25; otherwise, go to step S21; Step S21, pop the first set of test case pairs from the queue, counter size+1; pass the input in the test case pair as input to the student code, run the student code, if the run fails, go to step S24; Step S22: compare the output result of the student code with the output result of the test case pair to see if they are consistent. If they are completely consistent, go to step S23; otherwise, go to step S24; Step S23, counter count+1, indicating that a test case has passed successfully; Step S24, check whether the queue is empty; if the queue is not empty, return to step S21 to process the next test case; if the queue is empty, go to S25; Step S25: Output the task score, the formula is:
5. The training task submission and checking system according to claim 4 is characterized in that: In step S25, if size is 0, the task score is 0.
6. The training task submission and checking system according to claim 3 is characterized in that: Teachers write non-programming task templates, including task name, task description, and several groups of checkpoints. If a checkpoint does not specify a score field, the checkpoint will be automatically scored. include: Step S00, initializing total_score, existing_score and counter count; Parse the checkpoints field and queue all checkpoints; If the queue is empty, go to step S04; otherwise go to step S01; Step S01, pop the first element from the queue; if the checkpoint specifies the score field, add the value of the score field to existing_score; Otherwise, count+1; If the queue is not empty, return to step S01; Step S02, calculate the remaining score remaining_score=total_score-existing_score; If remaining_scoer is less than or equal to 0, log the error message and terminate the process; If count is not 0, calculate Step S03, traverse the first count-1 checkpoints that do not specify the score field, add a score field to them, and the value is new_score, and add a score field to the last checkpoint that does not specify the score field, and the value is: remaining_score-(new_score×(count-1)); Step S04: output the modified task template.
7. The training task submission and checking system according to claim 3 is characterized in that: In step S3, the AI engine checks the student tasks, including: Step SA0, generating prompt words and attachments according to the prompt word template, task requirements, and student task screenshots; Step SA1: transfer the prompt word and the attachment to the local image recognition model to obtain the judgment result of the local image recognition model; Step SA2: convert the student's task screenshot into text through image text recognition, and generate prompt words according to the prompt word template, task information, student information, and image-to-text conversion results; Step SA3: pass the prompt word into the local dialogue model to obtain the judgment result of the dialogue model; Step SA4: determine whether the result of the image recognition large model is consistent with the result of the dialogue large model; Step SA5: The prompt word and attachment generated in step SA0 are transmitted to the public cloud image recognition model to obtain the judgment result of the public cloud model; Step SAS6: Generate the final task score and the reason for not scoring based on the judgment result of the public cloud big model and the local model result that matches it.
8. The training task submission and checking system according to claim 1 is characterized in that: The teacher side consists of Streamlit page service, container management service, data storage service, and web page service.
9. The training task submission and checking system according to claim 1 is characterized in that: The AI engine consists of large model services, knowledge base, OCR recognition services, and interface services.
10. The training task submission and checking system according to claim 1, characterized in that: The OJ engine consists of interface services and automatic evaluation services.
Citation Information
Patent Citations
A VR training system, method, device, medium, and equipment
CN115311920B
Big data interactive teaching training method
CN117875862A
Cited By
Medical experiment report intelligent reviewing method and system and storage medium
CN121601136A