A cloud-based programming teaching method and system based on project-based teaching

The method of executing and managing code breakpoint identification through cloud servers solves the problems of project-based teaching and collaborative programming in online programming education, realizes learning and programming training anytime and anywhere without the need for a local deployment environment, and improves teaching effectiveness.

CN115529496BActive Publication Date: 2025-09-09HUNAN CHEM VOCATIONAL TECH COLLEGE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211146504.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-20
Publication Date
2025-09-09
Estimated Expiration
2042-09-20

AI Technical Summary

Technical Problem

In existing online programming education, students are unable to effectively conduct project-based teaching, lack collaborative programming support, and the need to deploy a programming environment locally increases the difficulty of learning.

Method used

A cloud server is used to provide a project-based programming teaching method. The code is executed through the cloud server and code breakpoint marks are set in the teaching video stream. The sending of the teaching video stream is paused to facilitate students to conduct programming training and collaboration on the remote learning terminal, avoiding the deployment of the local programming environment.

Benefits of technology

It enables learning anytime and anywhere without the need for a local deployment of a programming environment, improves teaching effectiveness, enhances students' programming practice skills and collaborative programming training, and reduces learning difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115529496B_ABST
    Figure CN115529496B_ABST
Patent Text Reader

Abstract

The present invention discloses a cloud-based programming teaching method and system based on project-based teaching, wherein the cloud-based programming teaching method includes the following steps: obtaining a corresponding teaching video according to a received course request and sending it to a remote learning terminal, wherein the teaching video stream has a code breakpoint identifier; pausing the sending of the teaching video stream at the code breakpoint identifier, and selecting a project code according to the programming course corresponding to the code breakpoint identifier, wherein the project code includes multiple code segments, each of which has corresponding programming requirements; selecting a corresponding code segment from the project code as the original code segment according to the code breakpoint identifier, and sending the programming requirements of the original code segment to the remote learning terminal for display; receiving the training code segment sent by the remote learning terminal for execution. The cloud-based programming teaching method and system of the present invention have the advantages of not requiring the deployment of a programming environment, enabling students to experience project-based teaching, and being conducive to improving teaching effects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of programming teaching technology, and in particular to a cloud-based programming teaching method and system based on project-based teaching. Background Art

[0002] Project-Based Learning (PBL) is the latest and most advanced teaching method in international education. It allows students to form teams and work together on collaborative projects to complete practical tasks, comprehensively cultivating their core competencies in the 5Cs. In existing online programming education, students learn programming through online interactions or offline self-study, without the ability to communicate with other students or coordinate programming tasks. Consequently, there is a lack of effective technology and equipment to support PBL (project-based learning) online collaborative programming.

[0003] In addition, in existing online programming education, in order to be able to practice code according to the teaching progress, students also need to deploy a programming environment on their local computers, which increases the difficulty of learning. Summary of the Invention

[0004] In view of the above-mentioned deficiencies in the existing technology, the technical problem to be solved by the present invention is: how to provide a cloud-based programming teaching method and system that does not require the deployment of a programming environment, allows students to experience project-based teaching, and is conducive to improving teaching effects.

[0005] In order to solve the above technical problems, the present invention adopts the following technical solutions:

[0006] A cloud-based programming teaching method based on project-based teaching, characterized by comprising the following steps:

[0007] S1. The cloud server obtains the corresponding teaching video according to the received course request and sends it as a teaching video stream to the remote learning terminal. The teaching video stream has code breakpoint identifiers set along the time axis according to the teaching content;

[0008] S2. Pause the transmission of the teaching video stream at the code breakpoint identifier, and select a project code that meets all teaching contents of the programming course according to the programming course corresponding to the code breakpoint identifier, wherein the project code includes multiple code segments corresponding to all code breakpoint identifiers in the teaching video, each code segment having a corresponding programming requirement;

[0009] S3. Selecting a corresponding code segment from the project code as an original code segment according to the code breakpoint identifier, and sending the programming requirements of the original code segment to the remote learning terminal for display;

[0010] S4. Receive the training code segment sent by the remote learning terminal for execution, and compare the execution result with the preset execution result of the original code segment. If the execution results match, replace the original code segment in the project code with the training code segment for merged execution, and then compare the execution result with the preset execution result of the project code. If the execution results are consistent, continue to send the teaching video stream and repeat steps S2 to S4; otherwise, return an error message and repeat step S4.

[0011] In the above teaching method, the code is executed on the cloud server, which not only reduces the hardware requirements of the local terminal, but also avoids the deployment of the programming environment of the local terminal, greatly reducing the difficulty of learning. In the case of a network, the convenience of learning anytime and anywhere can be achieved. In addition, this teaching method selects a project code that meets all the teaching contents in the programming course. In the process of programming training for each teaching content, students need to complete the code segment related to the teaching content in the project code on their own, that is, the training code segment. The execution result of the training code segment is first verified to train students' application ability of the current teaching content. Once the execution result of the training code segment meets the requirements, the training code segment needs to be merged with other code segments in the project code for execution, so that students can experience collaborative programming. This teaching method uses a project code with complete code as the collaborative programming object, without the cooperation of other students, and can also achieve code collaborative programming training, which is conducive to improving the effect of programming teaching.

[0012] Furthermore, in step S1, the cloud server receives the user login information and performs verification. After the verification is passed, the cloud server retrieves the corresponding user's learning data, which includes the learning progress of the teaching video stream; and sends the teaching video stream to the remote learning terminal according to the learning progress based on the received course request;

[0013] The following steps are also included:

[0014] S5. After the learning is completed, the sending progress or the playing progress of the teaching video stream is stored as the learning progress in the learning data of the corresponding user.

[0015] Furthermore, in step S4, if both execution results match the preset execution result, the current code breakpoint is marked as completed and stored in the learning data;

[0016] In the step S1, if the learning progress is at the code breakpoint mark position and the code breakpoint mark is not marked as a completed state, steps S3 to S4 are executed.

[0017] In this way, students can avoid going directly to the next stage of programming courses without completing the current programming training, ensuring that students have sufficient programming practice and collaborative programming training for the teaching content of each stage, thereby improving learning outcomes.

[0018] Furthermore, in step S2, the cloud server stores the selected project code in the learning data.

[0019] Furthermore, in step S4, if the two execution results are consistent with the preset execution results, the training code segment is sent to the learning data to replace the corresponding original code segment in the project code.

[0020] In this way, as the learning progress increases, the proportion of code segments edited by students themselves in the original project code gradually increases, which is conducive to enhancing the sense of achievement in learning and improving learning effects.

[0021] Furthermore, the programming requirements include predefined input parameters, output parameters and variables.

[0022] A cloud-based programming teaching system based on project-based teaching, characterized by comprising a cloud-based server deployed with a programming environment and a remote learning terminal connected to the cloud-based server via the Internet;

[0023] The cloud server includes:

[0024] A video storage unit, used to store teaching videos of programming courses, wherein the teaching videos have code breakpoint identifiers set along a time axis according to the teaching content;

[0025] A code storage unit storing at least one project code that satisfies all teaching contents in a programming course, wherein the project code includes a plurality of code segments corresponding to all code breakpoint identifiers in the teaching video, each code segment having corresponding programming requirements;

[0026] The cloud data interaction center is configured to receive a course request sent by a remote learning terminal, retrieve a corresponding teaching video from the video storage unit according to the course request, and send the teaching video stream to the remote learning terminal as a teaching video stream; pause the sending of the teaching video stream at a code breakpoint identifier, select a project code that meets all teaching contents of the programming course from the code storage unit according to the code breakpoint identifier, select a corresponding code segment from the project code as an original code segment according to the code breakpoint identifier, and send the programming requirements of the original code segment to the remote learning terminal for display;

[0027] The cloud data interaction center is further configured to receive the training code segment sent by the remote learning terminal and send the training code segment to the cloud code execution module for execution; the cloud code execution module is configured to send the execution result of the training code segment to the cloud code verification module, and the cloud code verification module compares the received execution result with the preset execution result of the corresponding original code segment and sends the comparison result of the training code segment to the cloud data interaction center;

[0028] The cloud data interaction center receives the comparison result of the training code segment. If the comparison result does not match, the comparison result is sent to the remote learning terminal for display; otherwise, the training code segment replaces the original code segment in the project code as the collaborative project code, and the collaborative project code is sent to the cloud code execution module for execution; the cloud code execution module is used to send the execution result of the collaborative project code to the cloud code verification module, and the cloud code verification module compares the received execution result with the preset execution result of the corresponding project code, and sends the comparison result of the collaborative project code to the cloud data interaction center;

[0029] The cloud data interaction center receives the comparison result of the collaborative project code, and if the comparison result does not match, sends the comparison result to the remote learning terminal for display; otherwise, continues to send the teaching video stream to the remote learning terminal.

[0030] Furthermore, the cloud server also includes an account management module for storing and verifying user login information and a user data storage module for storing learning data.

[0031] The cloud data interaction center receives the user login information and sends it to the account management module. The account management module verifies the user login information and returns the account verification result to the cloud data interaction center. If the account verification result is unqualified, the account verification result is sent to the remote learning terminal for display. Otherwise, the learning data of the corresponding user is retrieved from the user data storage module according to the user login information. The learning data includes the learning progress of the teaching video stream, and the corresponding teaching video is retrieved as the teaching video stream according to the received course request, and the teaching video stream is sent to the remote learning terminal according to the learning progress.

[0032] The cloud data interaction center is further configured to store the sending progress or the playing progress of the teaching video stream as the learning progress in the user data storage module.

[0033] Furthermore, the learning data also includes status information of the code breakpoint identifier. The cloud data interaction center receives the comparison result of the collaborative project code. If the comparison result matches, the current code breakpoint identifier is marked as a completed state, and the completed state marked by the code breakpoint identifier is stored as learning data in the user data storage module.

[0034] The cloud data interaction center retrieves the learning data of the corresponding user from the user data storage module according to the user login information, and determines the playback position of the teaching video stream according to the learning progress in the learning data. If the learning progress is at the code breakpoint identifier position, the completion status of the code breakpoint identifier is continued to be read from the learning data. If the completion status of the code breakpoint identifier is read, the teaching video stream is sent to the remote learning terminal according to the learning progress; otherwise, the sending of the teaching video stream is paused, and the corresponding code segment is selected from the project code as the original code segment according to the code breakpoint identifier, and the programming requirements of the original code segment are sent to the remote learning terminal for display.

[0035] Furthermore, the learning data also includes project codes; the cloud data interaction center is also used to select corresponding code segments from the project codes in the learning data as original code segments according to code breakpoint identifiers. If there is no project code in the learning data, a project code that meets all teaching contents in the programming course is selected from the code storage unit according to the code breakpoint identifier and stored as learning data in the user data storage module.

[0036] In summary, the cloud-based programming teaching method and system of the present invention have the advantages of not requiring the deployment of a programming environment, allowing students to experience project-based teaching, and improving teaching effectiveness. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 This is an overall diagram of the programming education system.

[0038] Figure 2 This is a schematic diagram of the teaching terminal.

[0039] Figure 3 This is a flow chart for using teaching terminals for teaching and teaching video recording.

[0040] Figure 4 This is a structural diagram of the teaching video.

[0041] Figure 5 Schematic diagram of the cloud server in Example 1 and Example 2.

[0042] Figure 6 This is a schematic diagram of the interface of the remote identification interaction module.

[0043] Figure 7This is a diagram of the interface of the remote code editing module.

[0044] Figure 8 This is a schematic diagram of the cloud server in Example 3.

[0045] Figure 9 This is a flowchart of project-based programming teaching using a cloud server in Example 3.

[0046] Figure 10 This is a schematic diagram of the local learning terminal in Example 4. DETAILED DESCRIPTION

[0047] The present invention will be further described in detail below in conjunction with embodiments of the present invention.

[0048] Example 1:

[0049] A programming teaching system based on cloud services, such as Figure 1 As shown, the system includes a cloud server 1, a teaching terminal 2 equipped with a programming environment, and a remote learning terminal 3, both of which are connected to the cloud server 1 via the Internet. It also includes multiple local learning terminals 4 located in the same classroom as the teaching terminal 2. The remote learning terminal 3 can be an internet-connected device such as a computer, tablet, or mobile phone.

[0050] like Figure 2 As shown, the teaching terminal 2 includes a teaching storage module 21, a courseware display area 22, a code display area 23, a teaching operation module 24, a course recording module 25 and a data interaction module 26.

[0051] The teaching storage module 21 is used to store teaching courseware, teaching codes or teaching videos;

[0052] The courseware display area 22 is used to retrieve teaching courseware from the teaching storage module 21 according to operation instructions and display the courseware content;

[0053] The code display area 23 is used to display the programming content in real time according to the received programming instructions, and to execute the code according to the execution request instruction to generate and display the running results;

[0054] The teaching operation module 24 is used to receive a click instruction to activate the courseware display area or the code display area, and generate a corresponding activation mark;

[0055] The course recording module 25 is used to record the contents of the activated courseware display area or code display area along the time axis, and synchronously record the teacher's audio to merge and produce a teaching video, and set breakpoint marks along the time axis on the teaching video according to the activation mark and store it in the teaching storage module 21;

[0056] The data interaction module 26 is used to send the teaching video in the teaching storage module 21 to the cloud server 1;

[0057] The remote learning terminal 3 is used to send a course request to the cloud server 1 and play or pause the teaching video stream sent by the cloud server 1;

[0058] The cloud server 1 is used to store the teaching video, and retrieve the corresponding teaching video as a teaching video stream according to the course request sent by the remote learning terminal 3 and send it to the remote learning terminal 3, and pause sending the teaching video stream at the breakpoint mark.

[0059] Using the teaching system of this embodiment, offline teaching is first carried out through the teaching terminal 2, and the online teaching course recording is completed at the same time as the offline teaching for online teaching. The specific steps are as follows:

[0060] S11 , conducting offline teaching through the teaching terminal 2 , and activating the courseware display area 22 or the code display area 23 through the teaching operation module 24 according to the teaching content.

[0061] S12, when the teaching operation module 24 activates the courseware display area 22, a corresponding activation identifier is generated. The course recording module 25 sets a breakpoint identifier on the video recording timeline according to the activation identifier, and uses the breakpoint identifier as a starting point to record the activated courseware display area 22, and then merges it with the synchronously recorded teacher audio to produce a teaching video. The continuous breakpoint identifiers on the timeline and the corresponding teaching video constitute the courseware video;

[0062] When the teaching operation module 24 activates the code display area 23, a corresponding activation mark is generated. The course recording module 25 sets a breakpoint mark on the video recording timeline according to the activation mark, and uses the breakpoint mark as the starting point to record the activated code display area 23, and then merges it with the synchronously recorded teacher audio to produce a teaching video. The continuous breakpoint marks on the timeline and the corresponding teaching video constitute the code video storage;

[0063] S13, the course recording module 25 arranges the courseware video (including the corresponding breakpoint identification) and the code video (including the corresponding breakpoint identification) into a complete teaching video in the order of the time axis and stores it in the teaching storage module 21. Figure 3 As shown, the complete teaching video structure is as follows Figure 4 shown.

[0064] S14, the data interaction module 26 sends the teaching video stored in the teaching storage module 21 to the cloud server 1;

[0065] S15, conducting online learning through the remote learning terminal 3, sending a course request to the cloud server 1 according to the learning progress, the cloud server 1 retrieves the corresponding teaching video according to the received course request as a teaching video stream and sends it to the remote learning terminal 3 according to the timeline, and the remote learning terminal 3 plays or pauses the teaching video stream;

[0066] S16. The remote server 1 pauses sending the teaching video stream at the breakpoint mark of the teaching video until receiving a course request, and repeats step S15.

[0067] The teaching system 2 and local learning terminal 4 of this embodiment can be used to complete offline teaching. During offline teaching, the teacher uses the teaching operation module to display the courseware content in the courseware display area or edit and execute code in the code display area according to the teaching content to complete the teaching demonstration. At the same time, the course recording module, teaching operation module, teaching storage module and data interaction module set in the teaching system 2 are used to record the teaching demonstration content in the background. This allows the recording of online courses to be completed during offline teaching, greatly reducing the workload of teachers.

[0068] Specifically, during the offline course teaching process, the course recording module records the courseware display area or the code display area according to the teaching operation module, and adds breakpoint marks to the recorded teaching video according to the activation mark. That is, the teaching video recorded when the courseware display area is activated is the displayed courseware content, which can be called a courseware video; and the teaching video recorded when the code display area is activated is the code editing process and execution results, which can be called a code video; and corresponding breakpoint marks are added to the starting points of the courseware video and the code video. The recorded teaching video is first stored in the teaching storage module of the teaching terminal, and then transmitted to the cloud server through the data interaction module.

[0069] In addition, considering that the traditional switching activation method between the courseware display area and the code display area is to click the corresponding window with the mouse, it is easy to cause accidental activation when the teacher is operating the courseware or editing the code. The use of an independently set teaching operation module can, on the one hand, avoid the erroneous operation caused by the traditional mouse clicking window activation mode, and on the other hand, it can also ensure the consistency of the recorded content. For example, during the courseware video recording process, even if the code display area is clicked due to an accidental operation, the code display area will not be activated, and the erroneous operation will not be recorded in the teaching video.

[0070] The remote learning terminal 3 and cloud server 1 in this embodiment can be used for offline learning. During online learning, students connect to the cloud server through the remote learning terminal and send a course request. The cloud server retrieves the corresponding teaching video based on the course request sent by the remote learning terminal as a teaching video stream and sends it to the remote learning terminal according to the timeline for playback, allowing online students to review the teaching or learn new courses. During the learning process, students can pause or play the teaching video through the remote learning terminal.

[0071] Furthermore, thanks to the breakpoint markers automatically added during the course recording process, the cloud server can pause the teaching video stream when the teaching video reaches the breakpoint marker, forcing students to temporarily stop learning through the video. This allows them to review the content in the courseware video or review the code editing content in the code video, which helps to improve the lack of interactivity in pure video teaching. The paused teaching video stream can be resumed upon another course request from the remote learning terminal.

[0072] It can be seen that the teaching system of this embodiment can meet the offline teaching needs of teachers and the online learning (review) needs of students. At the same time, the background can automatically complete the recording of teaching videos during the teacher's offline teaching process, without the need for teachers to record special online courses separately, which greatly reduces the teacher's labor intensity and saves the teacher's time cost. In addition, the automatically recorded teaching video also has a breakpoint mark to pause or interrupt the online teaching process, allowing students to passively stop while watching the teaching video, so that students have more time to review the courseware content and review the programming code, which is conducive to improving learning effects.

[0073] Example 2:

[0074] When learning a video course, if a video is paused, learners are unaware of the reason and purpose of the pause and often simply click the play button (send a course request) to continue watching the video, thus missing out on actively reviewing the courseware or replaying the code. To help students better understand the purpose of pausing the teaching video stream, this second embodiment adds the following configuration to the first embodiment:

[0075] The teaching operation module 24 also includes a marking control 241 for inputting breakpoint identification information. The marking control 241 is displayed in a pop-up window when the courseware display area 22 or the code display area 23 is activated, and has an input box for receiving the input breakpoint identification information and sending the breakpoint identification information to the course recording module 25; the course recording module 25 is also used to receive the breakpoint identification information and store it in the teaching storage module 21 in a manner matching the breakpoint identification; the cloud server 1 is also used to send the matching breakpoint identification information at the breakpoint identification to the remote learning terminal 3 for pop-up display and pause sending the teaching video stream. The marking control 241 also has a prompt information box for standardizing the breakpoint identification information and is displayed together with the pop-up window.

[0076] With the above configuration, when the teacher clicks on the teaching operation module to switch between the courseware display area and the code display area, a pop-up window will be displayed with annotation controls so that the teacher can enter the corresponding breakpoint identification information. In addition, displaying annotation controls in the form of pop-ups allows teachers to perform operations other than course teaching only when the window pops up, allowing teachers to focus more on the teaching content, thereby reducing the difficulty of recording teaching videos and reducing the difficulty of teachers' use. That is, teachers do not need to conduct more professional recording and learning to produce teaching videos that meet the requirements.

[0077] The breakpoint identification information input using the above-mentioned annotation control can be displayed in the form of a pop-up window on the remote learning terminal when the teaching video stream is played to the breakpoint identification. Therefore, the breakpoint identification information can be used to remind students of the content they need to pay attention to, form teaching interaction, and improve the effect of online programming learning.

[0078] In the process of learning programming, the most effective way to learn is to practice programming. In order to allow students to better practice programming, this embodiment further adopts the following configuration:

[0079] The activation identifier includes a courseware activation identifier generated by activating the courseware display area and a code activation identifier generated by activating the code display area, and the breakpoint identifier includes a courseware breakpoint identifier and a code breakpoint identifier corresponding to the courseware activation identifier and the code activation identifier;

[0080] like Figure 5 As shown, the cloud server 1 includes a cloud code execution module 11 deployed with a programming environment, and the cloud code execution module 11 is used to receive and execute the code sent by the remote learning terminal 3, and return the execution result to the remote learning terminal 3 for display;

[0081] The remote learning terminal 3 includes a remote identification interaction module 31 and a remote code editing module 32. The remote identification interaction module 31 is used to display the breakpoint identification information sent by the cloud server, such as Figure 6 As shown, the remote identification interaction module 31 includes a courseware control 311 and a code control 312 corresponding to the received courseware breakpoint identifier and code breakpoint identifier. The courseware control 311 is used to receive a click instruction to close the remote identification interaction module 31 and send a course request to the cloud server 1; the code control 312 is used to receive a click instruction to close the remote identification interaction module 31 and activate the remote code editing module 32; the remote code editing module 32 includes a remote code editing area 321, a remote execution control 322 and a code confirmation control 323, as shown in FIG. Figure 7 As shown, the remote code editing area 321 is used to edit and modify the code, and the remote execution control 322 is used to receive a click instruction to send the code of the remote code editing area 321 to the cloud server 1 for execution; the code confirmation control 323 is used to receive a click instruction to close the remote code editing module 321 and send a course request to the cloud server 1.

[0082] With the above system, when learners are watching teaching videos, the remote identification interaction module can display the matching breakpoint identification information at the breakpoint identification, and provide learning prompts to learners. Learners click on the courseware control to close the remote identification interaction module and continue with the subsequent video learning; click on the code control to activate the remote code editing module, and then cooperate with the remote learning terminal to perform programming exercises. The entire online teaching has good interactive functions, which is conducive to improving learning effects. In addition, the above system deploys the programming environment and cloud code execution module on the cloud server, and the remote learning terminal only deploys the remote code editing module, thereby reducing the hardware requirements for the remote learning terminal. Learners can learn programming on tablets or mobile phones that do not have a deployed programming environment, thereby reducing the difficulty of learning.

[0083] In addition, in this embodiment, in order to allow students to better perform programming exercises in the remote code editing module, the remote code editing module 32 further includes a programming requirement display area 324 for displaying breakpoint identification information.

[0084] In this way, when teachers encounter a code breakpoint mark pop-up control during offline teaching, they can enter the programming requirements for programming exercises as breakpoint mark information. In this way, after activating the remote code editing module, the programming requirements can be always displayed on the screen through the programming requirements display area, making it easier for students to practice programming according to the programming requirements. The programming requirements can include preset variable names, input parameters and output parameters, etc.

[0085] In order to pursue learning progress, some students will directly ignore the remote code editing module and do not carry out effective programming practice. In order to ensure that all students complete the corresponding programming practice, in this embodiment, the cloud server 1 also includes a cloud code verification module 12, and the cloud code verification module 12 is used to verify the code execution result and send the verification qualification information to the remote learning terminal 3; the remote learning terminal 3 is used to receive the verification qualification information and display the code confirmation control 323.

[0086] In this way, during the programming training process, if an error is reported during the code execution, the cloud-based code execution module will send the error information to the remote learning terminal for display, but the cloud-based code verification module will not send the verification pass information to the remote learning terminal, and the code confirmation control will not be displayed. Learners cannot skip the programming training module and proceed to subsequent video learning, which prevents learners from completing all programming courses without programming training, which is conducive to improving learning effects.

[0087] In this embodiment, the annotation control 241 includes a first input area for inputting breakpoint identification information and a second input area for inputting the preset code execution result, wherein the second input area is displayed only when the code display area is activated; the annotation control is also used to send the preset code execution result to the course recording module 25; the course recording module 25 is also used to receive the preset code execution result and store it in the teaching storage module 21 in a manner matching the corresponding breakpoint identification; the cloud server 1 is also used to send the matching preset code execution result at the code breakpoint identification to the cloud code verification module 12, and the cloud code verification module 12 is used to compare the execution result of the cloud code execution module 11 with the preset code execution result and send a verification pass message when the comparison result is consistent. In this way, learners must perform programming exercises according to programming requirements, avoiding learners using irrelevant code for verification in order to deceive the system, which is conducive to ensuring learning results.

[0088] During implementation, the teaching terminal 2 further includes a teaching code saving control 27, which is used to store the code displayed in the code display area 23 as a teaching code and the breakpoint identifier that activates the code display area in the teaching storage module 21; the remote code editing module 32 further includes a remote help control 325, which is used to receive a click instruction and send a help request to the cloud server 1;

[0089] The cloud server 1 further includes a cloud code callback module 13, which is used to receive the help request and retrieve the matching teaching code, randomly hollow out the teaching code, and then return it to the remote learning terminal 3 for display.

[0090] This allows the code used as examples during teaching to be stored and then, after being hollowed out, used as fill-in-the-blank exercises for students to learn programming. This reduces the difficulty of programming training and prevents students from stalling due to inability to complete programming training. Specifically, random hollowing removes some variables or logical relationship symbols from the code, creating fill-in-the-blank exercises for students to complete based on the context of the code and programming requirements, primarily to help students better understand the code.

[0091] In addition, the cloud server 1 also includes a learning progress storage module 14 and a programming review module 15. The learning progress storage module 14 is used to store the playback progress of the teaching video stream, and to receive the help request and store the corresponding breakpoint identification information as review identification information; the programming review module 15 is used to randomly select the courseware breakpoint identification, and select the review identification information from the learning progress storage module 14 at the selected courseware breakpoint identification and send it to the remote learning terminal 3.

[0092] Usually, learners will choose to send a help request when they encounter programming difficulties. The breakpoint identification information of the help request will be used as review identification information and sent to the remote learning terminal at the breakpoint identification of the courseware, so that the breakpoint identification information received by the remote identification interaction module is actually the breakpoint identification information of the code breakpoint identification, that is, the learner enters the programming practice mode and performs programming training on the programming content that has been difficult to encounter, which is conducive to consolidating the learning effect.

[0093] The teaching system in this embodiment has the following comprehensive advantages:

[0094] 1. During offline teaching, teaching videos for online teaching can be produced simultaneously, which greatly saves teachers' time in producing teaching videos and reduces labor intensity.

[0095] 2. Through the background recording of the teaching terminal, the difficulty of course recording is greatly reduced. No additional training is required to complete the recording of teaching videos, which is easy to use.

[0096] 3. By switching the courseware display area and the code display area, while realizing video recording of different areas, breakpoint marks and breakpoint mark information are added to the teaching video, which is conducive to improving the quality of the teaching video.

[0097] 4. During online learning, the teaching video stream can be stopped according to the breakpoint mark, and students are forced to practice programming, which can improve the effect of programming learning.

[0098] 5. The remote help control can reduce the difficulty of programming practice and ensure learning progress. At the same time, the programming review module can be used to review the programming content that has been helped, thereby enhancing learning effects.

[0099] Example 3:

[0100] Based on Example 2, Example 3 is further configured with:

[0101] like Figure 8 As shown, the cloud server 1 includes a cloud storage module 16 and a cloud data interaction center 17 , and the cloud storage module 16 includes the video storage unit 161 and the code storage unit 162 .

[0102] The video storage unit 161 is used to store a teaching video of a programming course, wherein the teaching video has code breakpoint marks set along a time axis according to the teaching content;

[0103] A code storage unit 162 stores at least one project code that meets all teaching contents of the programming course, wherein the project code includes a plurality of code segments corresponding to all code breakpoint identifiers in the teaching video, each code segment having corresponding programming requirements;

[0104] The cloud data interaction center 17 is configured to receive a course request sent by the remote learning terminal 3, retrieve the corresponding teaching video from the video storage unit 161 according to the course request, and send it to the remote learning terminal 3 as a teaching video stream; pause the sending of the teaching video stream at a code breakpoint identifier, and select a project code that meets all the teaching contents of the programming course from the code storage unit 162 according to the code breakpoint identifier, and select a corresponding code segment from the project code as the original code segment according to the code breakpoint identifier, and send the programming requirements of the original code segment to the remote learning terminal 3 for display;

[0105] The cloud data interaction center 17 is further configured to receive the training code segment sent by the remote learning terminal 3 and send the training code segment to the cloud code execution module 11 for execution; the cloud code execution module 11 is configured to send the execution result of the training code segment to the cloud code verification module 12, and the cloud code verification module 12 compares the received execution result with the preset execution result of the corresponding original code segment and sends the comparison result of the training code segment to the cloud data interaction center 17;

[0106] The cloud data interaction center 17 receives the comparison result of the training code segment. If the comparison result does not match, the comparison result is sent to the remote learning terminal 3 for display; otherwise, the training code segment replaces the original code segment in the project code as the collaborative project code, and the collaborative project code is sent to the cloud code execution module 11 for execution; the cloud code execution module 11 is used to send the execution result of the collaborative project code to the cloud code verification module 12. The cloud code verification module 12 compares the received execution result with the preset execution result of the corresponding project code, and sends the comparison result of the collaborative project code to the cloud data interaction center 17;

[0107] The cloud data interaction center 17 receives the comparison result of the collaborative project code, and if the comparison result does not match, sends the comparison result to the remote learning terminal 3 for display; otherwise, continues to send the teaching video stream to the remote learning terminal 3.

[0108] When implementing, if Figure 9 As shown, the following steps are used for teaching:

[0109] S1. The cloud server 1 obtains the corresponding teaching video according to the received course request and sends it to the remote learning terminal 3 as a teaching video stream. The teaching video stream has code breakpoint identifiers set along the time axis according to the teaching content;

[0110] S2. Pause the transmission of the teaching video stream at the code breakpoint identifier, and select a project code that meets all teaching contents of the programming course according to the programming course corresponding to the code breakpoint identifier, wherein the project code includes multiple code segments corresponding to all code breakpoint identifiers in the teaching video, each code segment having a corresponding programming requirement;

[0111] S3, selecting a corresponding code segment from the project code as an original code segment according to the code breakpoint identifier, and sending the programming requirements of the original code segment to the remote learning terminal 3 for display;

[0112] S4. Receive the training code segment sent by the remote learning terminal 3 for execution, and compare the execution result with the preset execution result of the original code segment. If the execution result does not match, return an error message and repeat step S4; otherwise, replace the original code segment in the project code with the training code segment for merged execution, and then compare the execution result with the preset execution result of the project code. If the execution result does not match, return an error message and repeat step S4; otherwise, continue to send the teaching video stream and repeat steps S2 to S4.

[0113] In the above teaching method, the code is executed on the cloud server, which not only reduces the hardware requirements of the local terminal, but also avoids the deployment of the programming environment of the local terminal, greatly reducing the difficulty of learning. In the case of a network, the convenience of learning anytime and anywhere can be achieved. In addition, this teaching method selects a project code that meets all the teaching contents in the programming course. In the process of programming training for each teaching content, students need to complete the code segment related to the teaching content in the project code on their own, that is, the training code segment. The execution result of the training code segment is first verified to train students' application ability of the current teaching content. Once the execution result of the training code segment meets the requirements, the training code segment needs to be merged with other code segments in the project code for execution, so that students can experience collaborative programming. This teaching method uses a project code with complete code as the collaborative programming object, without the cooperation of other students, and can also achieve code collaborative programming training, which is conducive to improving the effect of programming teaching.

[0114] During implementation, the cloud server 1 further includes an account management module 18 for storing and verifying user login information and a user data storage module 14 for storing learning data.

[0115] The cloud data interaction center 17 receives the user login information and sends it to the account management module 18. The account management module 18 verifies the user login information and returns the account verification result to the cloud data interaction center 17. If the account verification result is unqualified, the account verification result is sent to the remote learning terminal 3 for display. Otherwise, the learning data of the corresponding user is retrieved from the user data storage module 14 according to the user login information. The learning data includes the learning progress of the teaching video stream, and the corresponding teaching video is retrieved as the teaching video stream according to the received course request, and the teaching video stream is sent to the remote learning terminal 3 according to the learning progress.

[0116] The cloud data interaction center 17 is further configured to store the sending progress or the playing progress of the teaching video stream as the learning progress in the user data storage module 14 .

[0117] Correspondingly, in step S1, the cloud server 1 receives the user login information and performs verification. After the verification is passed, the cloud server 1 retrieves the corresponding user's learning data, which includes the learning progress of the teaching video stream; and sends the teaching video stream to the remote learning terminal 3 according to the learning progress based on the received course request;

[0118] The following steps are also included:

[0119] S5. After the learning is completed, the sending progress or the playing progress of the teaching video stream is stored as the learning progress in the learning data of the corresponding user.

[0120] During implementation, the learning data also includes status information of the code breakpoint identifier. The cloud data interaction center 17 receives the comparison result of the collaborative project code. If the comparison result matches, the current code breakpoint identifier is marked as a completed state, and the completed state marked by the code breakpoint identifier is stored as learning data in the user data storage module 14.

[0121] The cloud data interaction center 17 retrieves the learning data of the corresponding user from the user data storage module 14 according to the user login information, and determines the playback position of the teaching video stream according to the learning progress in the learning data. If the learning progress is at the code breakpoint identifier position, the completion status of the code breakpoint identifier is continued to be read from the learning data. If the completion status of the code breakpoint identifier is read, the teaching video stream is sent to the remote learning terminal 3 according to the learning progress; otherwise, the sending of the teaching video stream is paused, and the corresponding code segment is selected from the project code as the original code segment according to the code breakpoint identifier, and the programming requirements of the original code segment are sent to the remote learning terminal 3 for display.

[0122] Correspondingly, in step S4, if both execution results match the preset execution result, the current code breakpoint is marked as completed and stored in the learning data;

[0123] In the step S1, if the learning progress is at the code breakpoint mark position and the code breakpoint mark is not marked as a completed state, steps S3 to S4 are executed.

[0124] In this way, students can avoid going directly to the next stage of programming courses without completing the current programming training, ensuring that students have sufficient programming practice and collaborative programming training for the teaching content of each stage, thereby improving learning outcomes.

[0125] During implementation, the learning data also includes a project code; the cloud data interaction center 17 is also used to select a corresponding code segment from the project code in the learning data as the original code segment according to the code breakpoint identifier. If there is no project code in the learning data, a project code that meets all the teaching contents in the programming course is selected from the code storage unit 162 according to the code breakpoint identifier and stored as learning data to the user data storage module 14.

[0126] Correspondingly, in step S2, the cloud server 1 stores the selected project code in the learning data.

[0127] During implementation, the cloud data interaction center 17 receives the comparison result of the collaboration project code. If the comparison result matches, the collaboration project code replaces the original collaboration project code in the learning data and stores it in the user data storage module 14.

[0128] Correspondingly, in step S4, if the two execution results are consistent with the preset execution results, the training code segment is sent to the learning data to replace the corresponding original code segment in the project code.

[0129] In this way, as the learning progress increases, the proportion of code segments edited by students themselves in the original project code gradually increases, which is conducive to enhancing the sense of achievement in learning and improving learning effects.

[0130] The essence of the code segments, training code segments and original code segments in this embodiment are all codes. Like the codes in Examples 1 and 2, this embodiment uses "project codes" to split into multiple code segments that meet the learning content requirements of programming teaching. Students edit codes with input and output requirements during the programming practice process. The programming difficulty is higher than that of ordinary demonstration codes, which can improve students' project programming capabilities.

[0131] In order to enable students to better complete programming practice and ensure learning progress, in this embodiment, a help request solution as in Example 2 may also be adopted, which is implemented in this embodiment as follows:

[0132] The remote code editing module 32 also includes a remote help control 325, which is used to receive click commands and send a help request to the cloud server 1. The cloud server 1 also includes a cloud code callback module 13. The cloud data interaction center 17 is further used to receive the help request and send it to the cloud code callback module 13. The cloud code callback module 13 retrieves the matching original code segment from the user data storage module 14 based on the help request, randomly cuts out the original code segment, and then returns it to the remote learning terminal 3 through the cloud data interaction center 17 for display. In this way, by providing students with fill-in-the-blank questions for programming learning after cutting out the blanks, the difficulty of programming training can be reduced, preventing students from stalling due to inability to complete programming training, ensuring that students complete programming training while maintaining learning progress.

[0133] In addition, the cloud server 1 also includes a programming review module 15. The learning progress storage module 14 is further configured to receive the help request and store the corresponding breakpoint identification information as review identification information. The programming review module 15 is configured to randomly select a courseware breakpoint identification and, at the selected courseware breakpoint identification, select the review identification information from the learning progress storage module 14 and send it to the remote learning terminal 3. Typically, when a learner encounters programming difficulties, they will choose to send a help request. The breakpoint identification information for which the help request was sent will be used as review identification information and sent to the remote learning terminal at the courseware breakpoint identification. This allows the remote identification interaction module to receive the breakpoint identification information that is actually a code breakpoint identification, thus allowing the learner to enter a programming practice mode and perform programming training on the programming content they previously encountered difficulties, which is conducive to consolidating learning effects.

[0134] This embodiment also has other functions as in embodiment 2, which will not be described in detail here.

[0135] Example 4:

[0136] In Example 3, the project codes are mainly prepared in advance by teachers and stored in the code storage unit 162. This method of having teachers prepare project codes will increase the teachers' extra labor intensity on the one hand, and on the other hand, it is impossible to obtain multiple project codes (each project code is composed of multiple code segments).

[0137] During offline teaching, teachers will have students conduct collaborative programming training. During each collaborative programming training session, programming requirements will be sent to the local learning terminal 4, and students will conduct project-based programming exercises. That is, each student or several students will work together to complete a code segment in the project code, and then all code segments will be merged into the project code. In this way, during each programming training session, teachers can obtain a set of project codes. If all of these project codes are stored in the code storage unit 162, it can increase the resources for online learning.

[0138] To this end, in this embodiment, the teaching terminal 2 further includes a programming task distribution module 28, which is used to select a local learning terminal and send programming requirements to the selected local learning terminal through the data interaction module 26; the local learning terminal 4 includes a local code editing area 41 and a code execution request control 42, such as Figure 10 As shown, the local code editing area 41 is used to edit and modify the code; the code execution request control 42 is used to receive a click instruction to send the code of the local code editing area 41 to the teaching terminal 2 for execution;

[0139] The data interaction module 26 is also used to receive the code sent by the code execution request control 42 and send it to the code display area 23 for execution. In specific use, if the execution result meets the programming requirements, the teacher can use the teaching code storage control 27 to match the code displayed in the code display area 23 as the teaching code and the breakpoint identifier that activates the code display area, and then store it in the teaching storage module 21, and finally save it to the code storage unit 162.

[0140] In addition, when students are conducting programming training, the teacher's terminal is idle most of the time, and the code display area 23 is not activated by the teaching operation module 24. The contents of the code display area and the courseware display area during this time period may not be recorded. For this reason, in this embodiment, the programming task distribution module 28 is also used to stop the course recording module 25 when entering the sending programming task state, and start the course recording module 25 when exiting the sending programming task state.

[0141] In order to allow students to always see the programming requirements during the programming process, the local learning terminal 4 also includes a local task display area 43, which is used to display the programming requirements sent by the programming task distribution module 28.

[0142] In this embodiment, the local learning terminal only needs to have code editing capabilities, and the configuration requirements are low. Sending the code from the local learning terminal to the teaching terminal for execution can, on the one hand, reduce the hardware configuration of the local learning terminal and avoid the workload of configuring the programming environment. On the other hand, it also makes it easier for teachers to view the code segments edited by students, making it easier for teachers to modify and adjust them, which is conducive to the smooth progress of classroom teaching.

[0143] The teacher stores the code segments that meet the requirements in the teaching storage module 21 through the teaching code saving control 27. Finally, the project code in each class can be used as a code resource for online teaching, which can reduce the teacher's workload and expand teaching resources.

[0144] The above description is only a preferred embodiment of the present invention and does not limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A cloud-based programming teaching method based on project-based teaching, characterized by: The steps include: S1. The cloud server (1) receives user login information and performs verification. After verification, the cloud server (1) retrieves the corresponding user's learning data, wherein the learning data includes the learning progress of the teaching video stream; the cloud server (1) obtains the corresponding teaching video according to the received course request and sends it as the teaching video stream to the remote learning terminal (3) according to the learning progress. The teaching video stream has code breakpoint identifiers set along the time axis according to the teaching content; S2. Pause the transmission of the teaching video stream at the code breakpoint identifier, and select a project code that meets all teaching contents of the programming course according to the programming course corresponding to the code breakpoint identifier, wherein the project code includes multiple code segments corresponding to all code breakpoint identifiers in the teaching video, each code segment having a corresponding programming requirement; The cloud server (1) stores the selected project code in the learning data; S3, selecting a corresponding code segment from the project code as an original code segment according to the code breakpoint identifier, and sending the programming requirements of the original code segment to the remote learning terminal (3) for display; the programming requirements include predefined input parameters, output parameters and variables; S4, receiving the training code segment sent by the remote learning terminal (3) for execution, and comparing the execution result with the preset execution result of the original code segment. If the execution results match, the training code segment replaces the original code segment in the project code as the collaborative project code for combined execution, and then compares the execution result with the preset execution result of the project code. If the execution results are consistent, continue to send the teaching video stream and repeat steps S2 to S4; otherwise, return an error message and repeat step S4; S5. After the learning is completed, the sending progress or the playing progress of the teaching video stream is stored as the learning progress in the learning data of the corresponding user; In step S4, if both execution results match the preset execution results, the current code breakpoint is marked as completed and stored in the learning data, and the training code segment is sent to the learning data to replace the corresponding original code segment in the project code; In the step S1, if the learning progress is at the code breakpoint mark position and the code breakpoint mark is not marked as a completed state, steps S3 to S4 are executed.

2. A cloud-based programming teaching system based on project-based teaching, characterized by: It comprises a cloud server (1) deployed with a programming environment and a remote learning terminal (3) connected to the cloud server (1) via the Internet; The cloud server (1) comprises: A video storage unit (161) is used to store a teaching video of a programming course, wherein the teaching video has code breakpoint identifiers set along a time axis according to the teaching content; A code storage unit (162) stores at least one project code that satisfies all teaching contents in a programming course, wherein the project code includes a plurality of code segments corresponding to all code breakpoint identifiers in a teaching video, each code segment having a corresponding programming requirement; The cloud data interaction center (17) is used to receive a course request sent by the remote learning terminal (3), retrieve the corresponding teaching video from the video storage unit (161) according to the course request, and send it to the remote learning terminal (3) as a teaching video stream; pause the sending of the teaching video stream at the code breakpoint mark, and select a project code that meets all the teaching contents in the programming course from the code storage unit (162) according to the code breakpoint mark, and select a corresponding code segment from the project code as an original code segment according to the code breakpoint mark, and send the programming requirements of the original code segment to the remote learning terminal (3) for display; The cloud data interaction center (17) is further configured to receive the training code segment sent by the remote learning terminal (3), and send the training code segment to the cloud code execution module (11) for execution; the cloud code execution module (11) is configured to send the execution result of the training code segment to the cloud code verification module (12); the cloud code verification module (12) compares the received execution result with the preset execution result of the corresponding original code segment, and sends the comparison result of the training code segment to the cloud data interaction center (17); The cloud data interaction center (17) receives the comparison result of the training code segment, and if the comparison result does not match, sends the comparison result to the remote learning terminal (3) for display; otherwise, replaces the original code segment in the project code with the training code segment as the collaborative project code, and sends the collaborative project code to the cloud code execution module (11) for execution; the cloud code execution module (11) is used to send the execution result of the collaborative project code to the cloud code verification module (12), and the cloud code verification module (12) compares the received execution result with the preset execution result of the corresponding project code, and sends the comparison result of the collaborative project code to the cloud data interaction center (17); The cloud data interaction center (17) receives the comparison result of the collaborative project code, and if the comparison result does not match, sends the comparison result to the remote learning terminal (3) for display; otherwise, continues to send the teaching video stream to the remote learning terminal (3); The cloud server (1) further comprises an account management module (18) for storing and verifying user login information and a user data storage module (14) for storing learning data. The cloud data interaction center (17) receives the user login information and sends it to the account management module (18). The account management module (18) verifies the user login information and returns the account verification result to the cloud data interaction center (17). If the account verification result is unqualified, the account verification result is sent to the remote learning terminal (3) for display. Otherwise, the learning data of the corresponding user is retrieved from the user data storage module (14) according to the user login information. The learning data includes the learning progress of the teaching video stream, and the corresponding teaching video is retrieved as the teaching video stream according to the received course request, and the teaching video stream is sent to the remote learning terminal (3) according to the learning progress. The cloud data interaction center (17) is further configured to store the sending progress or the playing progress of the teaching video stream as the learning progress in the user data storage module (14); The learning data also includes status information of the code breakpoint identifier. The cloud data interaction center (17) receives the comparison result of the collaborative project code. If the comparison result matches, the current code breakpoint identifier is marked as a completed state, and the completed state marked by the code breakpoint identifier is stored as learning data in the user data storage module (14); The cloud data interaction center (17) retrieves the learning data of the corresponding user from the user data storage module (14) according to the user login information, and determines the playback position of the teaching video stream according to the learning progress in the learning data. If the learning progress is at the code breakpoint mark position, the completion status of the code breakpoint mark is continuously read from the learning data. If the completion status of the code breakpoint mark is read, the teaching video stream is sent to the remote learning terminal (3) according to the learning progress; otherwise, the sending of the teaching video stream is paused, and the corresponding code segment is selected from the project code as the original code segment according to the code breakpoint mark, and the programming requirements of the original code segment are sent to the remote learning terminal (3) for display; The learning data also includes a project code; the cloud data interaction center (17) is also used to select a corresponding code segment from the project code in the learning data as an original code segment according to a code breakpoint identifier; if there is no project code in the learning data, a project code that meets all teaching contents in the programming course is selected from the code storage unit (162) according to the code breakpoint identifier as learning data and stored in the user data storage module (14).

Citation Information

Patent Citations

  • Interactive multimedia intelligent teaching system

    CN106157709A

  • Website system for ASP.NET teaching and construction method

    CN110246068A