Training course arrangement method, computing device, storage medium and program product
By detecting the update status of lesson templates when creating new sessions for training courses, and using lesson template reuse or selecting target templates to generate scheduling information, the problems of low efficiency and insufficient accuracy in training course scheduling are solved, achieving efficient and accurate scheduling of multi-session training courses.
Patent Information
- Application Number
- CN202511676707.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-14
- Publication Date
- 2026-02-06
AI Technical Summary
The scheduling of training courses is inefficient and inaccurate, especially for training courses with multiple sessions or classes. Existing technology relies on manual input, which leads to inefficiency and inconsistencies.
When creating a new course period for a training course, the system checks whether multiple associated course period templates have been updated. If not, it matches the target course period from historical course periods to reuse the scheduling information. If updated, it selects the target course period template to generate scheduling information, thereby improving efficiency and accuracy by utilizing course period templates.
It improved the efficiency of training course scheduling, ensured the consistency of class information across different course periods, avoided redundant configurations, and enhanced scheduling accuracy.
Smart Images

Figure CN121481804A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of computer, and particularly relate to a course scheduling method for training courses, a computing device, a storage medium and a program product. BACKGROUND
[0002] With the vigorous development of the current training industry, arranging courses (i.e., course scheduling) as a core link in training management plays a decisive role in the efficient use of training resources.
[0003] The course scheduling of training courses has its particularity and complexity. For example, due to the influence of factors such as scattered sources of students, fragmented learning time, and diversified training courses, training courses need to be trained through multiple course periods, and each course period contains multiple course sections, which may be the same or different due to the influence of training content changes, and the learning form of training courses supports the combination of online teaching and offline practice. Therefore, for complex and special training courses, teaching staff usually manually input course scheduling information of each course period, such as entering course section information of each course section under each course period, and entering course period information of each course period, which not only is low in efficiency, but also is prone to inaccurate course scheduling, and needs to be improved. SUMMARY
[0004] Embodiments of the present application provide a course scheduling method for training courses, a computing device, a storage medium and a program product, to solve the problems of low efficiency and accuracy of course scheduling of training courses in the prior art.
[0005] In a first aspect, a course scheduling method for training courses is provided in embodiments of the present application, applied to a server, comprising: detecting a course period creation event for a training course, creating a new course period for the training course; determining a plurality of course section templates associated with the training course; the plurality of course section templates are updated based on a creation operation and / or a change operation of a course section template; the course section template includes pre-set course section information; determining whether the plurality of course section templates are updated within a predetermined period of time; if not, determining a target course period matching the new course period course section from the historical course period of the training course, and generating the course scheduling information of the new course period according to the course scheduling information of the target course period; if yes, determining at least one target course section template from the plurality of course section templates associated with the training course, and generating the course scheduling information of the new course period according to the pre-set course section information of the at least one target course section template.
[0006] In a second aspect, a course scheduling method for training courses is provided in embodiments of the present application, applied to a user terminal, comprising: The system receives a course reuse notification from the server. This notification is generated when the server detects a course creation event for the training course, creates a new course for the course, and determines that the course template for the training course has not been updated within a preset time period. It is used to prompt the server to confirm whether the new course should reuse the scheduling information of the training course's historical course periods. The training course is associated with multiple course templates, which are updated based on the creation and / or modification operations of the course templates. Each course template includes pre-set course information. In response to the confirmation operation for the course reuse prompt information, a confirmation instruction is sent to the server to instruct the server to determine the target course period that matches the course segments of the new course period from the historical course periods, and generate the course schedule information of the new course period based on the scheduling information of the target course period; In response to the rejection operation for the course reuse prompt information, a rejection instruction is sent to the server to instruct the server to determine at least one target course template from the multiple course templates associated with the training course, and to generate the scheduling information for the new course period based on the course information pre-set in the at least one target course template.
[0007] Thirdly, this application provides a computing device, including a processing component and a storage component; the storage component stores a computing program; the computer program is used to be called and executed by the processing component to implement the training course scheduling method as described in the first or second aspect above.
[0008] Fourthly, this application provides a computer storage medium storing a computer program thereon, which, when executed by a processing component, implements the course scheduling method for training courses as described in the first or second aspect above.
[0009] Fifthly, this application provides a computer program product, including a computer program or instructions, which, when executed by a processing component, implement the course scheduling method for training courses as described in the first or second aspect above.
[0010] In this embodiment, after detecting a course period creation event for a training course, a new course period is created for the training course, and multiple lesson templates associated with the training course are determined. These multiple lesson templates are updated based on the creation and / or modification operations of the lesson templates, and each lesson template contains pre-set lesson information. It is determined whether the multiple lesson templates have been updated within a predetermined time period. If not, a target course period matching the lessons of the new course period is determined from the historical course periods of the training course, and the scheduling information for the new course period is generated based on the scheduling information of the target course period. If so, at least one target lesson template is determined from the multiple lesson templates, and the scheduling information for the new course period is generated based on the pre-set lesson information of the at least one target lesson template. In this embodiment, when generating scheduling information for a newly created course period, priority is given to whether there is a target course period matching the lessons of the new course period in the historical course periods. If so, the scheduling information for the new course period is generated with reference to the scheduling information of the target course period. At this point, there's no need to repeatedly determine the lesson information for the new course period, which not only improves scheduling efficiency but also ensures consistency of lesson information for the same lessons across different courses, thus enhancing scheduling accuracy. Furthermore, this embodiment pre-constructs multiple lesson templates containing lesson information for the training course. When no matching target course period is available, scheduling information for the new course period is generated by selecting a template and using the lesson information from the selected template. Compared to manually entering the lesson information for each lesson, directly reusing the lesson information from the template improves efficiency. Moreover, since all courses in this training course share a single lesson template, consistency of lesson information for the same lessons across different courses is ensured, and the problem of duplicate lesson configurations within the same course period is avoided, further improving the scheduling accuracy of the training course.
[0011] In other words, this embodiment, based on the pre-built lesson templates for training courses, designs a scheduling strategy that supports dynamic addition of multiple course periods and flexible aggregation of lessons. It can quickly copy scheduling information from historical course periods or lesson templates to schedule new course periods, reducing the error rate of information configuration for the same lessons across different course periods and alleviating scheduling costs. This is unprecedented in existing traditional scheduling processes, creating a new working paradigm.
[0012] These or other aspects of this application will become more apparent in the following description of the embodiments. Attached Figure Description
[0013] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This application provides a system architecture diagram for scheduling training courses. Figure 2A flowchart illustrating an embodiment of the training course scheduling method provided in this application is shown. Figure 3 This illustration shows a schematic diagram of the lesson template creation process in a practical application scenario provided in this application; Figure 4 A schematic diagram illustrating the course scheduling process in a practical application scenario provided in this application is shown; Figure 5 A flowchart illustrating another embodiment of the training course scheduling method provided in this application is shown; Figure 6 This application illustrates a schematic diagram of the data processing procedure for a training course in a real-world scenario. Figure 7 A schematic diagram of the device structure of one embodiment of the training course scheduling device provided in this application is shown. Figure 8 A schematic diagram of the device structure of another embodiment of the training course scheduling device provided in this application is shown; Figure 9 A schematic diagram of the structure of the computing device provided in this application is shown. Detailed Implementation
[0014] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0015] It should be noted that, in the cases involving user information in the embodiments of this application, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse. In addition, the various models involved in this application (including but not limited to language models or large models) comply with relevant laws and standards.
[0016] Additionally, it should be noted that when user interaction operations or triggering operations are involved in the embodiments of this application, these operations include, but are not limited to, various interaction methods such as touch operations, gesture operations, voice operations, head movement operations, and eye movement operations. Touch operations include, but are not limited to, click operations, double-click operations, long-press operations, swipe operations, pinch operations, or mouse hover operations. Swipe operations include, but are not limited to, straight-line swipes and curved-line swipes.
[0017] It should be noted that the technical solutions in this application are applicable to virtual network environments, and the users described generally refer to "virtual users." Real users can register user accounts on the server through registration to obtain user identities in the network environment. The same user account can log in to the server through different types of client terminals, enabling the server to identify the same user.
[0018] Interactions between the server and the user can be based on user accounts. The data received or sent by the server to the user is also based on the user account; in reality, the user's client, corresponding to the user account, receives or sends data to the server. Furthermore, users can also communicate with each other through their user accounts. Here, "user" can refer to an individual or an organization, such as a company; this application does not impose specific restrictions.
[0019] For ease of reference, some terms that may be used in this application, such as training course, course duration, and class period, are defined as follows. It is understood that the terms and their respective definitions are not strictly limited to these definitions, and terms may be further defined through their use in this disclosure: In the vocational training courses of this application embodiment, a training course comprises multiple semesters, and a semester comprises multiple lessons. A training course refers to a systematic collection of teaching content designed to achieve a specific learning objective, typically revolving around a theme or subject, such as an introductory Python programming course or an advanced mathematics course. A semester is a specific implementation phase or batch of the course, representing a single session of the training course within a specific time period, such as the first semester of the introductory Python programming course, the second semester of the introductory Python programming course, etc. A lesson represents a specific teaching activity, such as a single lesson, an explanation of a knowledge point, or a practice task, such as an explanation of variables and data types, or an explanation of conditional and loop statements. The learning method corresponding to a lesson (i.e., the lesson learning method) can include, but is not limited to, online videos and offline practical exercises. Online videos can further include live online videos and pre-recorded online videos. Different semesters may contain the same lessons or different lessons. For example, a training course may include semester 1, semester 2, and semester 3. In this scenario, Course Period 1 includes Lesson A, Lesson B, and Lesson C. If Course Period 1 is effective, then when scheduling Course Period 2, Lesson A, Lesson B, and Lesson C can also be set for Course Period 2. At this point, Course Period 1 and Course Period 2 contain the same lessons, meaning they satisfy a lesson matching relationship. Suppose that the teaching staff adjusts Lesson C of the training course based on the course type and chapter difficulty, resulting in Lesson D. To ensure students can learn all the latest content of the course, the subsequently created Course Period 3 can include Lesson A, Lesson B, and Lesson D (Lesson D replaces Lesson C). In this scenario, for Lesson A, students first learn part of Lesson A in Course Period 1, and then their current course period changes from Course Period 1 to Course Period 3. Afterwards, students can continue learning the unlearned parts of Lesson A from Lesson A in Course Period 3, thus achieving complete learning of Lesson A's content.
[0020] Therefore, the training course scheduling method provided in this application embodiment is used to schedule training courses in the above-mentioned vocational training scenario that includes multiple course periods, each course period including multiple class sessions.
[0021] As the background information above indicates, the training courses involved in this embodiment are more unique and complex than traditional school courses. Due to this uniqueness and complexity, trainees cannot attend training courses at fixed times and locations. Therefore, traditional scheduling methods involving class time, teacher resources, and classroom space allocation are not suitable for training course scheduling. Therefore, a scheduling method has been designed where a training course comprises multiple semesters, and each semester comprises multiple sessions. Currently, this scheduling method typically involves administrative staff manually entering the scheduling information for each semester through a scheduling information configuration interface, such as entering the session information for each semester and the semester information for each semester. For the same training course, the sessions in different semesters have a high degree of overlap, requiring manual re-entry of session information for the same sessions across different semesters. This not only results in low efficiency but also easily leads to inconsistencies in the input of session information for the same sessions across different semesters, or the repeated input of session information for the same session within the same semester, significantly impacting scheduling accuracy.
[0022] To address the aforementioned technical problems, this application provides a solution. The basic idea is as follows: Upon detecting a course period creation event for a training course, a new course period is created for the training course, and multiple lesson templates associated with the training course are identified. These multiple lesson templates are updated based on the creation and / or modification operations of the lesson templates, and each lesson template contains pre-set lesson information. It is determined whether the multiple lesson templates have been updated within a predetermined time period. If not, a target course period matching the lessons of the new course period is determined from the historical course periods of the training course, and the scheduling information for the new course period is generated based on the scheduling information of the target course period. If so, at least one target lesson template is determined from the multiple lesson templates, and the scheduling information for the new course period is generated based on the pre-set lesson information of the at least one target lesson template. In this embodiment, when generating scheduling information for a newly created course period, priority is given to whether there is a target course period matching the lessons of the new course period in the historical course periods. If so, the scheduling information for the new course period is generated with reference to the scheduling information of the target course period. At this point, there's no need to repeatedly determine the lesson information for the new course period, which not only improves scheduling efficiency but also ensures consistency of lesson information for the same lessons across different courses, thus enhancing scheduling accuracy. Furthermore, this embodiment pre-constructs multiple lesson templates containing lesson information for the training course. When no matching target course period is available, scheduling information for the new course period is generated by selecting a template and using the lesson information from the selected template. Compared to manually entering the lesson information for each lesson, directly reusing the lesson information from the template improves efficiency. Moreover, since all courses in this training course share a single lesson template, consistency of lesson information for the same lessons across different courses is ensured, and the problem of duplicate lesson configurations within the same course period is avoided, further improving the scheduling accuracy of the training course.
[0023] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0024] Figure 1 A system architecture diagram of the technical solution applied to an embodiment of this application is shown. This system architecture may include a user terminal 101 and a server terminal 102. The server terminal 102 may be a server providing vocational course training services, and the user terminal 101 may be the training terminal corresponding to the academic affairs personnel providing vocational course training services. The user terminal 101 interacts with the server terminal 102 to schedule training courses.
[0025] In this system, the user terminal 101 and the server terminal 102 can establish a connection via a network. The network provides a communication link between the user terminal 101 and the server terminal 102. The network can include various connection types, such as wired, wireless, or fiber optic cables. The user terminal 101 can interact with the server terminal 102 through the network to receive or send messages, etc.
[0026] The user terminal 101 can be a browser, an app (application), a web application such as an H5 (HyperText Markup Language 5) application, a lightweight application (also known as a mini-program), or a cloud application. The user terminal 101 can be deployed on electronic devices and depends on the device to run or on certain apps within the device. Electronic devices can have displays and support information browsing, such as personal mobile terminals like mobile phones, tablets, personal computers, desktop computers, smart speakers, smartwatches, etc. For ease of understanding, Figure 1The user end is primarily represented by the image of a device. Various other types of applications can also be configured in electronic devices, such as human-computer interaction applications, model training applications, text processing applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, and social media platform software. Electronic devices can refer to devices used by users that have the computing, internet access, and communication functions required by the user, such as mobile phones, tablets, personal computers, and wearable devices. Electronic devices typically include at least one processing component and at least one storage component. Electronic devices may also include basic configurations such as network interface cards (NICs), I / O (input / output) buses, and audio / video components; this application does not limit their inclusion of these components. Optionally, depending on the implementation of the electronic device, it may also include some peripheral devices, such as keyboards, mice, input pens, and printers; this application does not limit their inclusion of these components.
[0027] Server 102 may include servers that provide vocational course training services, such as servers that provide services for selling training courses, learning, scheduling, and statistics on learning progress.
[0028] It should be noted that server 102 can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. The server can also be a server in a distributed system, or a server integrated with blockchain. The server can also be a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
[0029] It should be noted that the training course scheduling method provided in this embodiment is generally executed by the server 102, and the corresponding training course scheduling device is generally located in the server 102. However, in other embodiments of this application, the user terminal 101 may also have similar functions to the server 102, thereby executing the training course scheduling method provided in this embodiment. In other embodiments, the training course scheduling method provided in this embodiment may also be jointly executed by the user terminal 101 and the server 102. It should be understood that Figure 1 The number of client and server instances shown is merely illustrative. Depending on implementation needs, there can be any number of client and server instances.
[0030] The implementation details of the technical solutions in the embodiments of this application are described in detail below.
[0031] Figure 2A flowchart illustrating an embodiment of a training course scheduling method provided in this application is shown. This embodiment is described using a server-side application as an example and includes the following steps: S201, A course period creation event for a training course was detected. A new course period is created for the training course.
[0032] The course creation event can be an event that triggers the creation of a new course period for a training course and schedules classes for the new period. In this embodiment, the course creation event can be generated in several ways. One method is as follows: When a user (such as an academic administrator in the training service) has a need to create a course period for a specific training course, they initiate a course period creation request to the server through their client. This request can then be considered a course creation event. Upon receiving this request, the server can recognize it as a detected course period creation event for the training course. This method allows for the flexible creation of new course periods based on user needs.
[0033] Another generation method involves the server detecting changes (including addition, deletion, and modification) and / or creation operations to a training course's lesson template, and generating a course creation event for that training course. The specific creation and modification processes for lesson templates will be described in detail in subsequent embodiments. This method ensures that after a lesson template is created or modified, a new course corresponding to the latest template is created promptly, guaranteeing that students can learn the latest lesson content (either online video lectures or offline practical training content).
[0034] In another generation method, to facilitate course management, each course's information can be configured with corresponding start and end times (i.e., the start and end times of the course). Each course can only be accessed by students within its designated start time. Therefore, this implementation method can generate a course creation event when it detects that the start times of all historical courses for a training course meet the end conditions. The end conditions can be that the start time has expired (i.e., the current time is no longer within the start time) or is about to expire (e.g., the current time has less than the preset end time of the course). This method enables the timely creation of new course periods before they expire, ensuring that students who subsequently enroll in the training course can continue learning.
[0035] This embodiment can create a new course period for the training course corresponding to the course period creation event after detecting a course period creation event generated in any of the above methods. For example, it can first determine the training course corresponding to the course period creation event, and then run a course period creation script based on the training course to create a new course period for the training course.
[0036] S202 defines multiple lesson templates associated with a training course.
[0037] In this embodiment, multiple lesson templates are generated based on the creation of lesson templates and modified through the modification of lesson templates. The creation and modification of lesson templates are collectively referred to as lesson template updates. This embodiment can pre-divide the teaching process of any training course into multiple lessons based on the course information (such as course assessment requirements, content requiring intensive training, content requiring online learning, etc.), and construct a corresponding lesson template for each lesson. Each lesson template corresponds to one lesson in the teaching process. Each lesson template includes pre-set lesson information, which can be specific attribute information of the lesson, such as, but not limited to: lesson name, learning method (such as online video or offline practical training), learning address (such as the viewing address of online videos), learning duration, assessment criteria, course identifier, lesson exam address, and other expandable information. The above lesson information can be the information entered by the user in the lesson template configuration interface on their client. In this embodiment, the multiple lesson templates generated for the training course are not fixed but can be changed according to actual needs, such as adding, deleting, or modifying them. It should be noted that the process of generating and modifying multiple lesson templates will be described in detail in subsequent embodiments.
[0038] In this embodiment, multiple lesson templates can be associated with their corresponding training courses and stored in a preset storage area (such as a database or data table). At this time, for the training course corresponding to the new course period, multiple lesson templates associated with the training course can be retrieved from the preset storage area.
[0039] S203, determine whether multiple lesson templates have been updated within a predetermined time period.
[0040] The so-called scheduled time period can be a fixed time period set in advance, or it can refer to the interval between the completion of the previous session of the training course and the current moment.
[0041] This embodiment has many ways to determine whether multiple lesson templates have been updated within a preset time period, and no limitation is imposed on this one. One implementation method is to determine whether there are creation and / or modification operations for the lesson templates within the preset time period. If so, it means that multiple lesson templates have been updated within the preset time period; otherwise, multiple lesson templates have not been updated within the preset time period.
[0042] Another implementation method is: for each lesson template, its lesson information contains the time of creation and / or modification of the lesson template. In this case, for each lesson template obtained in S202, the creation and / or modification time in its lesson information can be obtained, and it can be determined whether the time is within a predetermined time period. If there are lesson templates whose creation or modification time is within the predetermined time period, it means that multiple lesson templates have been updated within the predetermined time period; otherwise, multiple lesson templates have not been updated within the predetermined time period.
[0043] S204, If not, determine the target course period that matches the course sessions of the new course period from the historical course periods of the training course, and generate the course schedule information of the new course period based on the scheduling information of the target course period.
[0044] Each training course supports the creation of multiple course periods. In this embodiment, the course periods that the training course has already built and completed scheduling when the course period creation event is detected can be regarded as historical course periods.
[0045] In this embodiment, if multiple lesson templates are not updated within a predetermined time period, it indicates that the lesson information of the training course has not changed. In this case, the new course period can continue to maintain the lesson scheduling method of the historical course period. To prevent the duplicate setting of the same lesson information, this embodiment can determine the target course period that matches the lesson information of the new course period from the historical course periods of the training course. The scheduling information of the new course period is generated directly based on the scheduling information of the target course period to ensure the consistency of the same lesson information under different course periods and improve scheduling efficiency. In this embodiment, "matching the lesson information of the new course period" can refer to a high degree of similarity to the lesson information of the new course period (such as being consistent with the lesson information of the new course period).
[0046] This embodiment describes several ways to determine the target course period matching the new course period from the historical course periods of the training course. One possible approach is to interact with the user terminal, where the user (e.g., an academic administrator) selects the target course period matching the new course period from the historical course periods based on their actual course period configuration needs. Specifically, a course period selection prompt message can be generated based on the course period information corresponding to at least one historical course period and sent to the user terminal. This prompt message guides the user to select the target course period matching the new course period from multiple historical course periods. The user terminal displays this prompt message; for example, it can display each historical course period and its corresponding course period information in a list for the user to view. The user can trigger a historical course period (i.e., the target course period) matching the new course period based on their actual course period configuration needs. The user terminal can respond to the user's triggering operation for a historical course period, using the triggered historical course period as the target course period and sending it back to the server. The corresponding server will then receive the target course period from the user terminal.
[0047] Another possible approach is to determine the target course period from historical course periods that matches the new course period's lessons, based on pre-set selection rules. For example, the historical course period whose creation time is closest to the current time could be used as the target course period. Alternatively, student evaluation information and / or graduation rates for each historical course period could be obtained. Based on this information, the quality of each lesson in each historical course period could be analyzed; for example, better student evaluations indicate higher lesson quality, and a higher graduation rate also indicates higher lesson quality. The historical course period with the highest lesson quality could then be selected as the target course period.
[0048] The scheduling information in this embodiment includes at least the lesson information arranged for the course period (i.e., the lesson information corresponding to the lessons that need to be studied in this course period). The types of information contained in this lesson information are the same as the types of information contained in the course period information in the lesson template. Since the lessons of the target course period and the new course period are matched, that is, the lesson information of the two should be the same, the lesson information of the target course period (i.e., the scheduling information) can be directly reused in the new course period. In other words, the scheduling information of the target course period can be used as the scheduling information of the new course period.
[0049] In some embodiments, the scheduling information may include not only lesson information but also course duration information. For example, course duration information may include, but is not limited to, course duration name and start time. In this case, generating the scheduling information for the new course duration based on the target course duration's scheduling information can be achieved by extracting lesson information from the target course duration's scheduling information and using it as the lesson information for the new course duration. This directly reuses the lesson information from the target course duration and then additionally configures the course duration information for the new course duration, greatly reducing the creation of duplicate content and the error rate during the creation process. The configuration of course duration information can be performed automatically by the server according to preset rules, or it can be determined through interaction with the user client based on the user's configuration. No limitation is imposed on this.
[0050] S205, if so, determine at least one target lesson template from multiple lesson templates associated with the training course, and generate the scheduling information for the new course period based on the lesson information pre-set in the at least one target lesson template.
[0051] In this embodiment, if multiple lesson templates are updated within a predetermined time period, it indicates that the lesson information of the training course has changed compared to the previous course period. In order to ensure that students can learn the latest content, it is necessary to reselect at least one target lesson template that meets the lesson configuration requirements of the new course period from multiple lesson templates, and then generate the course scheduling information of the new course period based on the lesson information preset in at least one target lesson template.
[0052] This embodiment describes several ways to determine at least one target lesson template from multiple lesson templates associated with a training course. One possible approach is to interact with the user terminal, allowing the user to select at least one target lesson template from multiple templates based on their actual lesson configuration needs. Specifically, this could involve sending template selection prompts to the user terminal based on the lesson information corresponding to each of the multiple lesson templates. These prompts would then guide the user to select at least one target lesson template from the multiple templates. The system would also receive feedback from the user terminal regarding the at least one target lesson template. Specifically, this prompt could be a list displaying the lesson information corresponding to each of the multiple templates, along with a template selection prompt message. The user terminal would then display the received prompts for review. The user could then select from the multiple lesson templates according to their actual lesson configuration needs. The user terminal would respond to the user's selection, determine the target lesson template, and send it back to the server. The server would then receive the at least one target lesson template from the user terminal. In this approach, users can personalize the selection of target lesson templates according to their needs to generate the scheduling information for the new semester. This achieves flexible aggregation of lessons within a semester, allowing users to appropriately increase or decrease the number of lessons in the new semester as needed, thus improving the flexibility and diversity of lesson configuration within a semester.
[0053] Another possible approach is to determine at least one target lesson template from multiple lesson templates based on pre-set target lesson selection rules. For example, in this embodiment, the lesson template also includes a pre-set template identifier and configuration time. The template identifier is a unique identifier for the lesson template corresponding to a lesson in the training course. For multiple lessons divided into a training course, each lesson has its own unique template identifier. Different lessons have different template identifiers. However, for any lesson, if its corresponding lesson information changes, multiple lesson templates with different lesson information may be constructed for that lesson. In this case, these multiple lesson templates have the same template identifier, but different configuration times and lesson information. The configuration time can be the creation or modification time of the lesson template. For example, if the lesson template has not been modified since its creation, the configuration time can be the creation time; if it has been modified, the configuration time can be the modification time. Accordingly, determining at least one target lesson template can involve iterating through the template identifiers of multiple lesson templates and, for each template identifier, selecting the lesson template with the closest configuration time to the current time to form the target lesson template. This method locates the course segment corresponding to the course segment template based on the template identifier, and then selects the latest configured course segment template under each course segment as the target course segment template based on the configured time. The course scheduling information is generated through the latest configured course segment template, which enables students to learn the latest content of each course segment of the training course.
[0054] In some embodiments, the scheduling information in this embodiment can be lesson information. In this case, the method for generating the scheduling information for the new semester based on the lesson information pre-set by at least one target lesson template can be to sequentially use the pre-set lesson information of at least one target lesson template as the lesson information for at least one lesson to be learned in the new semester. Specifically, if there is only one target lesson template, the lesson information of that target lesson template can be directly used as the lesson information for the lesson to be learned in the new semester. If there are multiple target lesson templates, the teaching order corresponding to the multiple target lesson templates can be determined first. For example, this can be done through interaction with the user terminal, allowing the user to set the order; or it can be determined by parsing the lesson information according to certain rules. Then, the lesson information of the multiple target lesson templates can be sequentially used as the lesson information for the multiple lessons to be learned in the new semester according to the teaching order.
[0055] In some embodiments, the scheduling information in this embodiment includes course period information and lesson information. The method for generating scheduling information for a new course period can be: configuring the course period information for the new course period (such as course name and start time), and sequentially using the lesson information pre-set in at least one target lesson template as the lesson information for at least one lesson to be learned in the new course. The method of configuring the course period information for the new course period is similar to the method described in S204. The method of sequentially using the lesson information of at least one target lesson template as the lesson information for at least one lesson to be learned in the new course has also been described and will not be repeated here. This embodiment directly reuses the lesson information of the target lesson template; only the course period information needs to be configured to complete the scheduling of the new course period, without repeatedly performing the lesson information configuration operation, greatly reducing the creation of duplicate content and the error rate in the creation process.
[0056] In some embodiments, to further manage the learning time of multiple lessons within a course period, this embodiment can also configure a unique start time for each lesson in the new course period during the process of generating scheduling information. That is, each lesson is available for students to learn within its start time. The process of configuring the start time can be either automatically allocated by the server according to preset rules, or determined through interaction between the server and the user, based on the user's configuration operations. Specifically, if scheduling information is generated via S204, in addition to reusing the lesson information of the target course period and configuring the course period information, a unique start time can be configured for each lesson in the new course period. If scheduling information is generated via S205, in addition to reusing the lesson information of at least one target template and configuring the course period information, a unique start time can be configured for each lesson in the new course period.
[0057] Upon detecting a course period creation event for a training course, this embodiment creates a new course period for the training course and identifies multiple lesson templates associated with the training course. These lesson templates are updated based on creation and / or modification operations, and each lesson template contains pre-set lesson information. It then determines whether the multiple lesson templates have been updated within a predetermined time period. If not, it identifies a target course period matching the new course period's lessons from the training course's historical course periods and generates the new course period's scheduling information based on the target course period's scheduling information. If so, it identifies at least one target lesson template from the multiple lesson templates and generates the new course period's scheduling information based on the pre-set lesson information of the at least one target lesson template. In generating scheduling information for a newly created course period, this embodiment prioritizes whether there is a target course period matching the new course period's lessons in the historical course periods. If so, it generates the new course period's scheduling information by referring to the target course period's scheduling information. At this point, there's no need to repeatedly determine the lesson information for the new course period, which not only improves scheduling efficiency but also ensures consistency of lesson information for the same lessons across different courses, thus enhancing scheduling accuracy. Furthermore, this embodiment pre-constructs multiple lesson templates containing lesson information for the training course. When no matching target course period is available, scheduling information for the new course period is generated by selecting a template and using the lesson information from the selected template. Compared to manually entering the lesson information for each lesson, directly reusing the lesson information from the template improves efficiency. Moreover, since all courses in this training course share a single lesson template, consistency of lesson information for the same lessons across different courses is ensured, and the problem of duplicate lesson configurations within the same course period is avoided, further improving the scheduling accuracy of the training course.
[0058] In some embodiments, since there are multiple lesson templates in this embodiment, there are many ways to configure lessons for the new course period. Therefore, even if multiple lesson templates are not updated within a predetermined time period, there may not be a target course period in the historical course period that matches the lessons of the new course period. Therefore, when performing the above-mentioned S204 to determine the target course period, this embodiment may also send a course period reuse prompt message to the user terminal. The course period reuse prompt message is used to prompt whether to reuse the scheduling information of the historical course period of the training course for the new course period. Optionally, this example may be generated based on the scheduling information of the historical course period and the reuse prompt message. The user terminal receives and displays the course period reuse prompt message to help the user understand the scheduling information of the historical course period more intuitively and quickly give an instruction on whether to reuse (such as a confirmation instruction or a rejection instruction) according to the prompt. Afterwards, if the user gives a confirmation instruction, the user terminal will respond to the confirmation instruction operation triggered by the user in response to the course period reuse prompt message and send a confirmation instruction to the server. Correspondingly, if the server receives the confirmation instruction from the user terminal, it determines the target course period that matches the lessons of the new course period from the historical course period of the training course. Optionally, in this example, the confirmation instruction from the user may or may not include the historical course period selected by the user. If it does, the historical course period included in the confirmation instruction can be directly used as the target course period to match the new course period. If it does not, the target course period to match the new course period can be further determined from the historical course periods of the training course in the manner described in S204 above.
[0059] If the user issues a rejection instruction, the client will respond to the rejection instruction triggered by the course reuse prompt by sending a rejection command to the server. Upon receiving the rejection command from the client, the server can determine at least one target course template from among the multiple course templates associated with the training course, similar to the process described in S205, and generate the new course schedule information based on the pre-set course information of the at least one target course template.
[0060] This embodiment allows users to compare the scheduling of historical lessons with the current lesson schedule based on the lesson arrangement requirements of the new lesson period, even when multiple lesson templates have not been updated within a predetermined time period. This enables them to decide whether to reuse the scheduling information of historical lessons, further improving the flexibility of the scheduling process and meeting users' personalized scheduling needs.
[0061] The training course in this embodiment includes multiple sessions. For each student in the training course, there is a corresponding current learning session, which is the session the student is currently studying. This current learning session is one of the multiple sessions of the training course. For example, the session that is currently being offered when the student purchases the training course can be used as their current learning session. If this example schedules new sessions using the method described in S205 above, the session information for the new session is generated based on a target session template determined from multiple session templates, without reusing historical sessions. Therefore, the new session usually corresponds to the latest learning content. To ensure that students in the training course can learn the latest content, the current learning session of the students corresponding to the training course can be adjusted to the new session after the new session scheduling information generation operation is completed (i.e., after executing the S205 operation). Specifically, the current learning session of all students corresponding to the training course can be adjusted to the new session. Alternatively, the current course period for some students (such as those who have not yet completed their studies, or those who meet the level requirements) can be adjusted to the new course period.
[0062] If this example schedules new courses using the S204 method, since the new courses reuse the scheduling information of the previous courses, there are no changes to the course information compared to the previous courses. In this case, you can choose to change or not change the student's current course.
[0063] Next, the process of creating lesson templates for training courses in this embodiment will be described, including the following sub-steps: Sub-step 1: In response to the user's request to create a lesson template for the training course, generate configuration prompts for the lesson template based on the course information of the training course.
[0064] The configuration prompts are used to indicate multiple candidate lesson segments for the training course based on course information, and to configure lesson segment information for these candidate segments. Course information can include course assessment requirements, content requiring intensive training, or content requiring online learning, assisting users in splitting the training course into lesson segments. Candidate lesson segments are lesson segments obtained by splitting the training course according to a preset lesson segmentation strategy, generating lesson segment templates for the user to choose from. In this embodiment, for any training course, multiple candidate lesson segments can be obtained through one splitting strategy, or multiple different splitting strategies can be used to split the training course into lesson segments, with all segments obtained from different strategies serving as candidate lesson segments. The lesson segment information configured for candidate lesson segments in this embodiment is the lesson segment information pre-configured in the candidate lesson segment template.
[0065] In this embodiment, when a user wants to create a lesson template for any training course, they can trigger a template creation operation for that training course through their client (e.g., clicking the template creation button). The client will respond to this template creation operation by generating a lesson template creation request for that training course and sending it to the server. This lesson template creation request carries the identification information of the training course, such as the name of the training course. The server responds to the received lesson template creation request, retrieves the corresponding training course identification information, then searches for the course information based on the identification information, and finally generates the configuration prompt information for the lesson template based on the course information and the template configuration prompt message.
[0066] Sub-step 2: Send configuration prompts to the user terminal.
[0067] Sub-step 3: Obtain lesson information for multiple candidate lessons as reported by the user in response to the configuration prompts.
[0068] The server will send template configuration prompts to the client for display. Based on the course information in the configuration prompts, the user can split the training course into multiple optional lessons according to at least one lesson splitting strategy, and then enter the lesson information for each optional lesson. The client will respond to the user's input operation, retrieve the lesson information for multiple candidate lessons, and send it to the server.
[0069] Sub-step four: Based on the lesson information of multiple candidate lessons, create multiple lesson templates associated with the training course.
[0070] The server can create a corresponding lesson template for each received candidate lesson information, thereby obtaining multiple lesson templates associated with the training course.
[0071] This embodiment pre-creates multiple associated lesson templates for each training course. When scheduling training courses subsequently, the lesson information from the corresponding template can be directly selected and reused, eliminating the need to repeatedly configure the same lesson information. This improves scheduling efficiency and reduces error rates. Furthermore, the method of building lesson templates also reduces the cost and difficulty of maintaining lesson information.
[0072] In this embodiment, the training course session templates can be dynamically changed according to user needs. The process of changing the training course session templates is described below. It can involve: receiving a session template change request from the user; the session template change request containing template attribute change information; and changing multiple session templates associated with the training course based on the template attribute change information. In this embodiment, based on changes in the training course's teaching content, assessment standards, learning methods, or student learning feedback, the system can analyze whether the course type and chapter's key points and difficulties need adjustment, i.e., whether the training course session templates need to be changed. If so, the system can remind the user to change the session templates. At this time, the user can perform a template attribute change information input operation for the training course through the user terminal. The user terminal responds to this input operation, obtains the template attribute change information for the training course, and then, based on the relevant information of the training course and the user-input template attribute change information, generates a session template change request and sends it to the server. The server responds to the session template change request, obtains the template attribute change information contained within it, and locates the training course that needs to be changed. The template attribute change information describes the method of changing the lesson template (such as adding, deleting, or modifying), as well as the specific lesson information that needs to be changed. Then, according to the template change method and the specific lesson information specified in the template attribute change information, change operations are performed on multiple lesson templates of the training course that need to be changed. For example, it could be deleting a lesson template, or modifying an existing lesson template or adding a new lesson template based on the specific lesson information that needs to be changed. This embodiment allows users to dynamically change the lesson model of training courses according to their needs, so that subsequent course scheduling can incorporate the changed lesson information, ensuring that students can learn the latest lesson content for the same training course.
[0073] In some embodiments, if the lesson template is modified, after the modification operation is performed on the lesson template, the modified lesson information (such as the modified information) can be synchronously applied to the lesson information of all lessons using that lesson template. This eliminates the need to create new lessons and ensures that students learn the latest lesson content, avoiding inconsistencies in lesson content across different lessons.
[0074] Based on the above embodiments, even if multiple lesson templates change within a preset time period, the lesson information of the historical lessons has been synchronized with the modified lesson template information, so the lesson information of the historical lessons can be reused in the new lessons to improve scheduling efficiency. Therefore, before performing the above S205 operation, this embodiment can further determine whether the update that occurs within the predetermined time period is a modification of the lesson template, and whether the modified content is lesson information that has been synchronized to the historical lessons. If both of the above conditions are met, a target lesson period matching the lesson information of the new lesson period can be determined from the historical lessons of the training course, and the scheduling information of the new lesson period can be generated according to the scheduling information of the target lesson period; if one condition is not met, the operation of S205 continues.
[0075] In this embodiment, to avoid duplicate sessions within a single training course period during scheduling, the example also performs a duplicate check on the session templates of the training course, thereby ensuring mutual exclusion between session templates of the same training course. This can be achieved by detecting whether there are session templates with identical session information for the training course; if so, deduplication is performed on multiple session templates associated with the training course.
[0076] Specifically, the method compares the lesson information of multiple lesson templates for the training course to see if they are completely identical. If so, it indicates that multiple lesson templates have the same lesson information. To avoid duplicate lesson configurations in the same course period during subsequent scheduling, the multiple lesson templates with identical lesson information can be deduplicated. That is, only one of the multiple lesson templates with identical lesson information is kept, and the others are deleted. This embodiment can perform the duplication check operation after creating a lesson template for the training course or after changing the lesson template of the training course (i.e., after updating the lesson template of the training course), or it can be performed periodically. This embodiment deduplicatizes duplicate lesson templates for the training course to avoid selecting duplicate lesson templates for new course periods, that is, to prevent the duplication of lesson templates within the same course period, thereby ensuring the accuracy of the scheduling information (i.e., lesson information) generated for new course periods.
[0077] Figure 3 The illustration shows a template for creating training courses provided in this application, such as... Figure 3 As shown, this embodiment can construct lesson templates based on course information. Each lesson template contains lesson information, such as... Figure 3The course template includes the course name, assessment label, learning address, and extended attributes. The course information configured in the course template can be provided to various user terminals via Kafka (a high-throughput distributed publish-subscribe messaging system) through a unified interface service to obtain the course information configured by the user for each optional course in the training course. The course template with configured course information can be associated with the corresponding training course and stored in the database. To ensure mutual exclusion between multiple course templates under a training course, this embodiment can set up a scheduled task to perform duplicate checks on the course templates. For example, multiple course templates for the training course can be periodically retrieved and pushed to a message queue. The message queue messages are listened to for duplicate checks. For course templates that fail to be pushed to the message queue, they are re-pushed and checked again, thus ensuring mutual exclusion between multiple course templates for the training course and preventing duplicate configurations of the same course when scheduling the training course based on that template. In this embodiment, course templates that pass the duplicate check can then be further saved to the database.
[0078] Next, combine Figure 4 This document provides an example of how to schedule training courses based on lesson templates. Specifically, lesson templates can be retrieved from a database, and these templates are based on the course information of the training courses. Figure 3 The method shown can be used to construct lessons, and the results can be displayed as a list of lesson templates, such as... Figure 4As shown, the course template list includes Course Template 1, Course Template 2, and Course Template N. Each course template contains course information such as course name, assessment criteria, learning address, and extended attributes. The course templates displayed in the list undergo periodic template validation to ensure mutual exclusion among multiple course templates under the same training course. After detecting the course period creation time for the training course, a course period can be created for the training course based on the course information, such as course assessment requirements, content requiring intensive training, and content requiring online learning. Then, course information is generated for the course period. If a target course period exists in the historical course period that matches the course information of the new course period, the new course period can reuse the course information of the target course period. For example, assuming the course information of course period N matches course period A, the course information of course period A can be directly copied as the course information of course period N, meaning that the course content of course period N and course period A is the same. If no target course period matches the new course period's sessions in the historical course schedule, the new course period's session information will be sourced from the session template. Specifically, a target session template will be selected, and the session information for the new course period will be generated based on the template's session information. After the training course scheduling is completed, the vendor can sell the training course to students. Once the vendor and student sign a contract and complete the order payment, the student can view the course information and scheduling information for that training period on their student app.
[0079] Figure 5 This is a flowchart illustrating an embodiment of a training course scheduling method provided in this application. The technical solution of this embodiment can be executed by a user terminal. Figure 5 As shown, the method may include the following steps: S501 receives a course reuse notification message sent by the server.
[0080] The course period reuse prompt is generated when the server detects a course period creation event for the training course, creates a new course period for the training course, and determines that the course session template of the training course has not been updated within a preset time period. It is used to prompt for confirmation whether the new course period should reuse the scheduling information of the training course's historical course period. The training course is associated with multiple course session templates, and the multiple course session templates are updated based on the creation and / or modification operations of the course session templates. The course session template includes pre-set course session information.
[0081] S502, in response to the confirmation operation for the course reuse prompt information, sends a confirmation instruction to the server, instructing the server to determine the target course period that matches the course segments of the new course period from the historical course periods in response to the confirmation instruction, and generate the course schedule information of the new course period based on the scheduling information of the target course period.
[0082] S503, in response to the rejection operation for the course reuse prompt information, a rejection instruction is sent to the server to instruct the server to determine at least one target course template from multiple course templates associated with the training course, and to generate the scheduling information for the new course period based on the course information pre-set in the at least one target course template.
[0083] In some embodiments, the process of the server determining at least one target lesson template from multiple lesson templates associated with the training course can be implemented through interaction between the server and the user. Specifically, the user may receive template selection prompt information sent by the server. The template selection prompt information is generated based on the lesson information corresponding to each of the multiple lesson templates and is used to prompt the user to select at least one target lesson template from the multiple lesson templates based on the lesson information corresponding to each of the multiple lesson templates. In response to the selection operation for multiple lesson templates, at least one target lesson is determined and the at least one target lesson is fed back to the server.
[0084] In some embodiments, the user client can also interact with the server to complete the construction of lesson templates. Specifically, the user client may send a lesson template creation request for a training course to the server, so that the server can generate configuration prompts for the lesson template based on the course information of the training course; receive the configuration prompts for the lesson template sent by the server; the configuration prompts are used to prompt the determination of multiple candidate lessons for the training course based on the course information, and to configure lesson information for the multiple candidate lessons; in response to the configuration operation of the configuration prompts, obtain the lesson information of the multiple candidate lessons, and feed the lesson information of the multiple candidate lessons back to the server, so that the server can create multiple lesson templates associated with the training course based on the lesson information of the multiple candidate lessons.
[0085] In some embodiments, the user client can also interact with the server to complete the modification operation of the lesson template. Specifically, it can send a lesson template modification request for the training course to the server; the lesson template modification request includes template attribute change information, so that the server can modify multiple lesson templates associated with the training course based on the template attribute change information.
[0086] It should be noted that the course scheduling method for training courses in this embodiment is applied to the user side. The specific implementation methods and beneficial effects of each step have been introduced on the server side above, and will not be repeated here.
[0087] In some embodiments, the pre-built training course session templates can not only assist in scheduling training courses, but also help researchers track the learning progress of any session during the course. The specific implementation includes the following steps: Step A: Identify the target learners whose learning progress needs to be tracked for the training courses.
[0088] In this context, "target learners" refers to those whose learning progress needs to be statistically analyzed for the training course. The learning progress statistically analyzed in this embodiment may include, but is not limited to, statistical learning time and / or statistical learning outcomes. Specifically, statistical learning time can be the cumulative or distributed learning time of the target learners for one or more lessons. Statistical learning outcomes can be the learners' mastery and application abilities for one or more lessons.
[0089] Optionally, there are many ways to trigger this step, and the strategy for determining the target student varies depending on the triggering method. Specifically, one triggering method could be: when any student needs to view their learning progress, they can trigger this step through their student client. In this case, the student with the learning progress query request is the target student. Specifically, the student can send a learning progress query request to the server through their student client. This request can include the student's identifier (such as student account) and the course identifier of the training course whose progress is to be queried. If the student wants to query a specific lesson, they can also include the lesson identifier. After receiving the learning progress query request from the student's client, the server will trigger this step to determine the target student, such as selecting the student corresponding to the student identifier carried in the learning progress query request as the target student.
[0090] Another triggering method could be: when a new learning record is added to the training course, this step would be executed. In this case, the student corresponding to the new learning record could be selected as the target student. For example, if a new learning record is detected in the training course, a first operation instruction is generated, and in response to the first operation instruction, the target student whose learning progress needs to be statistically analyzed is determined based on the new learning record; and / or, the new learning record is stored as a set of data to be processed in a preset cache, and a second operation instruction is generated when preset triggering conditions are met, and in response to the second operation instruction, the target student whose learning progress needs to be statistically analyzed is determined based on each set of data to be processed in the preset cache.
[0091] Specifically, this triggering method can further include several scenarios: Scenario 1: Upon detecting a learning record in a training course, a first operation command is generated in real time to trigger the execution of an operation targeting the specific student, thus synchronously tracking the student's learning progress. Scenario 2: After detecting a new learning record in a training course, the new learning record is first saved in a preset cache. When preset triggering conditions are met (such as reaching a preset time, or the remaining capacity in the preset cache being less than a capacity threshold), a second operation command is generated to trigger the execution of an operation targeting the specific student, avoiding frequent triggering of learning progress statistics and reducing energy consumption and operating costs. Scenario 3: Combining Scenario 1 and Scenario 2, upon detecting a new learning record in a training course, not only is a first operation command generated in real time to trigger the execution of this step and subsequent operations, but a second operation command is also generated again when preset triggering conditions are met, triggering the execution of this step and subsequent operations. The learning progress information determined by the second operation command is used to verify the accuracy of the learning progress information determined by the first operation command. This achieves synchronous tracking of the target student's learning progress while also periodically verifying the accuracy of the student's learning progress to ensure the accuracy of the learning progress statistics. It should be noted that in this scenario, the learning records will contain relevant information about the learners (such as learner identifiers). Therefore, this embodiment can locate the target learner based on the relevant information about the learners contained in the learning records.
[0092] Another triggering method could be: if a lesson change event is detected for any student, that student would be designated as the target student for the training course's learning progress to be statistically analyzed. The lesson change event could be an adjustment to the student's main course period and / or a change in the lesson information within the current learning period. In such cases, students might be learning the same lesson across different periods, or the learning plan information for a lesson (such as lesson duration, assessment criteria, etc.) might change. To prevent errors in the student's learning progress information after a lesson change, this embodiment can trigger the determination of the target student upon detecting a lesson change event, that is, designate the student involved in the lesson change event as the target student.
[0093] It should be noted that the number of target students determined in this embodiment can be one or more. If there are multiple target students, the following steps B to E can be performed for each target student.
[0094] Step B involves determining the current learning period of the target learner in the training course, and identifying the statistical sessions from the multiple sessions in the current learning period that will be used to track the learning progress.
[0095] In this embodiment, the current learning period refers to the period that the target learner is currently studying in the training course. The current learning period may contain multiple lessons; in this embodiment, only the lessons for which learning progress statistics are required can be selected as the statistical lessons. Alternatively, all lessons in the current learning period can be selected as statistical lessons, or at least one lesson can be chosen as the statistical lesson.
[0096] Specifically, if step A is triggered by a learning progress query request sent by the student, then if the query request contains a lesson identifier, the lesson with that identifier can be selected from multiple lessons in the current learning period as the statistical lesson. If it does not contain that identifier, all lessons in the current learning period can be selected as statistical lessons. If step A is triggered by adding a learning record, then one or more lessons corresponding to the learning record can be selected from multiple lessons in the current learning period as statistical lessons. If step A is triggered by a lesson change event, if the main learning period is adjusted, then all lessons in the adjusted main learning period (i.e., the current learning period) can be selected as statistical lessons, or the same lessons in both the pre-adjustment and post-adjustment periods can be selected as statistical lessons. If the lesson change event is a change in lesson information in the current learning period, then the lessons whose information has changed in the current learning period can be selected as statistical lessons.
[0097] Since training courses consist of multiple sessions, and each session corresponds to multiple students, tracking learning progress can consume significant resources when the number of students is large. To address this issue, in some embodiments, after determining the current learning session, it can be further determined whether the target student has not completed the training course. If so, the method described above is used to further determine the sessions from the multiple sessions of the current learning session for which learning progress needs to be tracked. If not, subsequent progress tracking operations are stopped, i.e., the progress information determination operation is not performed on that target student. Specifically, determining whether a target student has completed the training course can be done by judging whether the target student has studied the course content and passed the assessment, i.e., judging whether the target student has graduated from the training course. If they have graduated, it means they have completed the training course; if they have not graduated, it means they have not completed the training course. Alternatively, it can be done by judging whether the start time of the current learning session has ended. If it has ended, it means they have completed the training course; if it has not ended, it means they have not completed the training course. This embodiment only continues to track the learning progress of target learners who have not completed the training course, in order to reduce the power consumption and cost of the server.
[0098] Step C: Obtain learning behavior data of the target learners for at least one session of the training course, based on the statistical sessions. The at least one session of the training course can be all sessions included in the training course, or all sessions that the target learner has studied in connection with the training course. The at least one session includes the current learning session.
[0099] Learning behavior data can be data generated by target learners during at least one lesson of a training course. This data may include, but is not limited to: learning start time, learning end time, learning test results (such as exam scores), learning evaluation results (such as teacher evaluations of target learners), key playback nodes in online video learning, and the number of episodes in a video series. This embodiment can capture and record learning behavior data generated by each learner during each lesson of a training course in different lessons through event tracking on the training course learning platform. This data is saved as learner learning records. To facilitate the management and maintenance of learning behavior data, each learning record may include: learner identifier, course period identifier, lesson identifier, and learning behavior data.
[0100] Optionally, this embodiment may involve searching for learning behavior data related to at least one lesson within a given course period from the stored data corresponding to the target learner's associated learning records. For example, if this embodiment is triggered by a new learning record in the training course, the acquired learning behavior data will include not only the currently added learning behavior data but also previous historical learning behavior data. If the trigger is through a progress query request sent by the learner or a lesson change event, the acquired learning behavior data may be previous historical learning behavior data.
[0101] After obtaining the learning behavior data, this example can either directly execute the subsequent step D, or first add the obtained learning behavior data to a preset cache (such as a data table), and then trigger the subsequent step D in batches when preset trigger conditions are met (such as reaching a preset time, or the remaining capacity in the preset cache being less than a capacity threshold). This avoids repeatedly triggering the learning progress statistics operation for the target student.
[0102] Step D: Determine the statistical lesson template corresponding to the statistical lesson from the multiple lesson templates associated with the training course.
[0103] In this embodiment, multiple lesson templates can be associated with their corresponding training courses and stored in a preset storage area (such as a database or data table). For statistical lessons, the lesson template can be retrieved from the preset storage area and used as the statistical lesson template. The lesson information in this statistical lesson template includes learning planning information. This learning planning information can be information on planning learning parameters (such as learning duration, desired learning outcomes, etc.), including at least one learning parameter and its corresponding expected target value. For example, it can include a learning duration parameter and a learning assessment parameter. The target value for the learning duration parameter can be set to 3 hours, and the target value for the learning assessment parameter can be an assessment score of 80 points.
[0104] In practical applications, training course templates can be dynamically changed after creation, and these changes include adding new templates, modifying existing templates, or deleting them. Therefore, the number of templates associated with a statistical lesson after a change may be one or more. Thus, when performing this step, if the statistical lesson is associated with only one template, that template can be directly used as the statistical lesson template. If the statistical lesson is associated with multiple templates, the scheduling information for the current learning period can be obtained. Since this scheduling information includes the lesson information actually configured for the statistical lesson, the template associated with the statistical lesson that matches the lesson information actually configured for the statistical lesson in the current learning period can be used as the statistical lesson template.
[0105] Step E: Based on the learning plan information of the statistical lesson template and the learning behavior data, determine the learning progress information of the target students for the statistical lessons.
[0106] In this embodiment, the statistical values corresponding to each learning parameter can be determined based on learning behavior data, using the learning planning information contained in the statistical lesson template. For example, when the learning parameter is a learning duration parameter, this learning duration parameter can be determined based on the learning start time and learning end time. Therefore, the learning start time and learning end time can be extracted from the learning behavior data, and the time interval between the two times can be used as the statistical value. Optionally, if the learning behavior data contains multiple sets of learning start times and learning end times, a learning duration can be determined for each set of learning start times and learning end times, and then the determined learning durations can be accumulated to obtain the statistical value. Then, based on the statistical values of each learning parameter and the target value, the learning progress information of the target student for the statistical lesson can be determined. Specifically, whether the statistical value has reached the target value requirement can be used as the learning progress information, or the completion ratio of the target value (such as the percentage of the learned time to the total learning time of the lesson) can be determined based on the statistical data as the learning progress information. Optionally, to further enrich the content of the learning progress information, the learning parameters in this embodiment may further include learning parameters for key playback nodes and video playback episodes. In this case, the key playback nodes in the learning behavior data and the playback episodes of the series of videos may be accumulated to obtain learning progress information about key playback nodes and playback episodes.
[0107] Since the training courses in this embodiment include both online video and offline practical training, and the learning parameters focused on by different learning methods may differ, this step can further involve determining the target learning parameter from multiple learning parameters based on the learning method in the lesson information, determining the statistical value corresponding to the target learning parameter based on learning behavior data, and determining the learning progress information of the target student for the statistical lesson based on the statistical value and the target value of the target learning parameter. Specifically, the target learning parameter corresponding to the learning method of the statistical lesson can be determined from multiple learning parameters based on the pre-set correspondence between the learning method and the learning parameter. Then, following the method described in the above embodiment, the subsequent operations of determining the statistical value corresponding to the target learning parameter based on learning behavior data and determining the learning progress information of the target student for the statistical lesson are performed. In this embodiment, different learning parameters are selected for different learning methods to determine the learning progress information, making the learning progress statistics of different learning methods more targeted and thus improving the accuracy of the learning progress information statistics.
[0108] In some embodiments, to prevent students from "brushing" (i.e., completing the entire duration of a lesson but scoring zero on a quiz), determining learning progress solely based on study time is inaccurate in skill-based learning scenarios where the goal is for students to master the lesson content. Similarly, if a student repeatedly studies parts of a lesson, accumulating the full lesson duration but not completing the entire lesson, determining progress solely based on study time is also inaccurate. To avoid these situations and improve the accuracy of learning progress statistics, the target learning reference in this embodiment can simultaneously include: a study time parameter and a learning assessment parameter. In this case, when determining the learning progress information of a target student for the statistical lesson based on the statistical and target values of the target learning parameters, the target value of the study time parameter can be used as a benchmark, combined with the statistical value of the study time parameter, to determine the study time statistics. The target value of the study time parameter can be the expected study time for the lesson, and the statistical value of the study time parameter is the student's actual accumulated study time for that statistical lesson. At this point, the proportion of the statistical value to the target value can be calculated as learning time statistics. Alternatively, the difference between the target value and the statistical value (i.e., the remaining learning time) can be used as learning time statistics. Then, using the target value of the learning assessment parameters as a benchmark, and combining it with the statistical data of the learning assessment parameters, learning outcome statistics are determined. Here, the target value of the learning assessment parameters can be a specific assessment standard (e.g., a test score of 60 or above, an attendance rate of 90%), and the statistical data of the learning assessment parameters can be used to measure whether the assessment standards have been met, such as test scores and attendance records. It can be determined whether the statistical value of the learning assessment parameters meets the target value requirements, serving as learning outcome statistics. Finally, based on the learning time statistics and learning outcome statistics, the learning progress information of the target student for the statistical lessons is determined. This embodiment can directly use the learning duration statistics and learning outcome statistics as learning progress information; it can also determine whether the target student can complete the course based on the learning duration statistics and learning outcome statistics, and use the result of the completion determination as learning progress information; or it can use the learning duration statistics, learning outcome statistics, and the result of the completion determination together as learning progress information. There is no limitation on this approach.
[0109] In some embodiments, the lesson template in this embodiment supports dynamic changes. For example, academic staff can dynamically adjust the learning plan information, lesson attribute information, and learning address information of the lesson template in the user interface. If the learning plan information is modified, it will affect the learning parameters to be counted in the learning progress statistics stage and their corresponding target values; if the lesson attribute information is modified, it will have little impact on the learning progress statistics process; if the learning address information is modified, the obtained learning behavior data may include both the learning behavior data before and after the modification, which will affect the statistical values of each learning parameter in the learning progress statistics stage.
[0110] To address the above situation, when performing this step, you can first determine whether the statistical lesson template is the modified lesson template. If not, determine the learning progress information of the target student for the statistical lesson according to the methods described in the above embodiments. If yes, you can further determine whether the learning address information of the statistical lesson template has been modified. If not, regardless of whether the learning plan information or the lesson attribute information has been modified, you can determine the learning progress information of the target student for the statistical lesson based on the currently configured learning plan information in the statistical lesson template, according to the methods described in the above embodiments. If the learning address information has been modified, you can first filter out the target learning behavior data corresponding to the modified learning address information (i.e., the learning behavior data generated by learning the statistical lesson content under the modified learning address) from the learning behavior data. Then, based on the target learning behavior data, determine the statistical values corresponding to each learning parameter in the learning plan information. Finally, based on the statistical values and target values of each learning parameter, determine the learning progress information of the target student for the statistical lesson.
[0111] Optionally, if the statistical lessons are all lessons under the current learning period, this embodiment can also summarize the learning progress information of multiple statistical lessons after determining the learning progress information of the statistical lessons, so as to obtain the learning progress information of the training course.
[0112] Optionally, to help learners understand their learning progress and motivate them to catch up, this embodiment can also generate learning progress reminders based on the determined learning progress information for the statistical lessons or the training course; and send these reminders to the corresponding learner's device. This example can use the learning progress information directly as the reminder, or it can add preset prompts to the learning progress information, or it can generate a progress chart based on the learning progress information, etc. The determined learning progress information is then sent to the learner's device for display.
[0113] Optionally, if step A is triggered by a learning progress query request sent by the student, the generation and sending of learning progress notification information can be triggered immediately after the learning progress information is determined. If step A is triggered by other means, the server can first analyze whether the target student's learning progress is slower than the normal progress based on the target student's learning progress information. If so, the generation and sending of learning progress notification information can be performed. Alternatively, the generation and sending of learning progress notification information can be performed simultaneously when a preset page (such as a lesson list display page) needs to be sent to the student's client, so that the student's client can display the target student's learning progress notification information on that preset page.
[0114] This embodiment identifies the target learner whose learning progress needs to be statistically analyzed for a training course, and the current learning period of that learner within the course. It then determines the statistical period for which learning progress needs to be analyzed from multiple lessons within that current learning period. Next, it acquires learning behavior data of the target learner for that statistical period within at least one lesson of the training course, and identifies the corresponding statistical period template from multiple lesson templates within the training course. Based on the learning planning information and learning behavior data contained in the statistical period template, it determines the learning progress information of the target learner for that statistical period. This embodiment provides a method for acquiring learning behavior data of learners for statistical periods across different lessons, and then combining this data with the learning planning information recorded in the lesson template of the statistical period to determine learning progress information. This method ensures the comprehensiveness and completeness of the acquired learning behavior data, thereby guaranteeing the accuracy of the determined learning progress information. In addition, this embodiment pre-builds a lesson template containing lesson information (such as learning plan information) for each lesson of the training course. The learning plan information in the lesson template can be directly reused during the process of calculating the learning progress, without the need for manual re-entry of the learning plan information for each lesson, which improves the efficiency of learning progress calculation. Moreover, all lessons of this training course use the same lesson template, which can also ensure the consistency of the learning plan information used when different students perform learning progress calculations for the same lesson, or when the same student performs learning progress calculations for the same lesson multiple times, thereby improving the accuracy of training course learning progress calculation.
[0115] In some embodiments, if this embodiment detects that there are learning records in the training course, it not only generates a first operation instruction in real time, triggering the execution of the above-mentioned steps A-E (at this time, the learning progress information of the statistical lessons obtained by step E is the second learning progress information), but also generates a second operation instruction again under a preset trigger condition, triggering the execution of the above-mentioned steps A-E (at this time, the learning progress information of the statistical lessons obtained by step E is the first learning progress information). Then, the second learning progress information can be verified for consistency based on the first learning progress information. The first learning progress information is the learning progress information determined in response to the second update instruction, and the second learning progress information is the learning progress information determined in response to the first update instruction. If the verification results are consistent, it indicates that the learning progress information generated after the first operation instruction is triggered is accurate and does not need to be modified. If the verification results are inconsistent, an error message is generated and sent to the user terminal. The error message is used to indicate that the learning progress information of the target student needs to be reviewed. The error message in this embodiment may or may not include the first and second learning progress information. This embodiment not only performs real-time statistics on learning progress for newly added learning records, but also repeats the determination of learning progress after a preset trigger condition is met, in order to verify the accuracy of the real-time statistical learning progress information and further ensure the accuracy of the learning progress statistics.
[0116] In a practical application scenario, Figure 3 This application illustrates a schematic diagram of the data processing procedure for a training course in a real-world application scenario. Figure 3 As shown, this embodiment is implemented through the interaction of an operations backend, a student client, a statistics system, and a training client (corresponding to the user client mentioned above). The operations backend and statistics system are server-side components. The operations backend is mainly used for building course templates and scheduling classes, while the statistics system is mainly used for tracking student learning progress. The student client is used to view course information and study course content. The training client is used for selling courses, interacting with the operations backend to schedule training courses, and managing student information.
[0117] Specifically, the operations backend pre-creates multiple lesson templates for each training course it provides, based on the course information. Each lesson template contains pre-configured lesson information, such as learning address, learning duration, learning method (online / hands-on), assessment criteria, and other extended attributes. Upon detecting a lesson creation event for a training course, a new lesson period is created for the training course, and the lesson period information is configured, thereby configuring the lesson information for the created lesson period. If a target lesson period matching the new lesson period exists in the training course's historical lesson periods, the new lesson period can directly reuse the target lesson period's lesson information. If no target lesson period matching the new lesson period exists in the historical lesson periods, a target lesson template can be selected from the training course's multiple lesson templates, and the lesson information for the new lesson period is configured based on the target lesson template's lesson information. Furthermore, in this embodiment, lesson templates, lesson period information, and lesson information all support dynamic adjustment. For example, teaching staff on the training side can add, delete, or modify information as needed.
[0118] Once the training courses are scheduled, the training provider can obtain the course list from the operations team, which may consist of a list of scheduled training courses. After the student and the training provider complete the course payment, the operations team will send the course information to the student's end, including scheduling information and learning progress information. Simultaneously, the training provider will record the information of newly added students, which can be viewed later, such as course progress, offline training information, learning evaluations, and learning data.
[0119] When a student adds new learning data or changes information about course sessions or durations, the statistics system is triggered to track the learning progress of each session. The system then sends the confirmed learning progress information, such as course progress or completion status, to the student's device so they can understand their learning status. Furthermore, to ensure the accuracy of the learning progress information, this embodiment can store student learning behavior data in a cache queue and periodically re-execute the learning progress information operation to calibrate the recorded information. If inconsistencies are found, the training provider can be prompted for manual intervention. Additionally, the operation backend of this embodiment can support the export of student learning data and completion data. Based on this data, and according to pre-set analysis rules, it can be used to analyze whether there was any cheating behavior during the student's learning of the training course.
[0120] In this embodiment, the lesson template belongs to the training course. Lesson templates are not interchangeable between different training courses. When scheduling a new course period based on the lesson template, all lessons in the new period come from the lesson template of that training course, and lesson templates for the same period are not selected repeatedly. When a lesson template changes, the system can asynchronously check for duplicate templates by listening to queue messages to avoid selecting duplicate lesson information when scheduling subsequent periods. Furthermore, this embodiment allows for the creation of multiple different periods under the same training course to accommodate different batches of learners. The lesson content under each period comes from the lesson template of this training course or reuses lesson information from a previous period, improving scheduling efficiency while reducing repetitive work and error rates. After scheduling a new period, it can be set as the student's main period (i.e., the current learning period), triggering progress statistics for students whose period or lesson content has changed.
[0121] In addition, this embodiment also supports tracking student learning behavior data, such as recording online live or recorded courses, offline centralized training, in-class quizzes, course practical records, teacher evaluations, and other relevant learning nodes for use in statistical analysis of learning progress. This learning behavior data can be recorded using a combination of event tracking and message subscription, and stored in a data table to prevent data loss. A scheduled task is used to repeatedly verify at fixed times each day whether multiple course templates in the training course are duplicated and whether student learning progress information is accurate. An early warning monitoring system monitors the verification results; if the verification results are inconsistent, an alarm will be triggered, or manual intervention will be prompted.
[0122] The detailed implementation methods and beneficial effects of each step in this embodiment have been described in detail in the foregoing embodiments, and will not be elaborated here.
[0123] It should be noted that some processes described in the above embodiments and accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear in this document, or they may be executed in parallel. The operation numbers, such as S204, S205, etc., are merely used to distinguish different operations and do not represent any execution order. Furthermore, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should also be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.
[0124] Figure 7 A schematic diagram of a training course scheduling device provided for an exemplary embodiment of this application is shown. The device includes: Course period creation module 701 is used to detect a course period creation event for a training course and create a new course period for the training course; The lesson template determination module 702 is used to determine multiple lesson templates associated with the training course; the multiple lesson templates are updated based on the creation and / or modification operations of the lesson templates; the lesson templates include pre-set lesson information; The update judgment module 703 is used to determine whether the multiple lesson templates have been updated within a predetermined time period; The first scheduling module 704 is used to determine, if not, a target course period that matches the course segments of the new course period from the historical course periods of the training course, and generate the scheduling information of the new course period based on the scheduling information of the target course period; The second scheduling module 705 is used to determine at least one target lesson template from multiple lesson templates associated with the training course if the condition is met, and to generate the scheduling information for the new course period based on the lesson information pre-set in the at least one target lesson template.
[0125] In some embodiments, the apparatus further includes: a lesson template creation module, configured to respond to a lesson template creation request sent by a user terminal for the training course, generate configuration prompt information for the lesson template based on the course information of the training course; the configuration prompt information is used to prompt the user terminal to determine multiple candidate lessons for the training course based on the course information, and to configure lesson information for the multiple candidate lessons; send the configuration prompt information to the user terminal; obtain the lesson information of the multiple candidate lessons fed back by the user terminal in response to the configuration prompt information; and create multiple lesson templates associated with the training course based on the lesson information of the multiple candidate lessons.
[0126] In some embodiments, the apparatus further includes: a lesson template modification module, configured to receive a lesson template modification request for the training course sent by the user terminal; the lesson template modification request includes template attribute modification information; and modify multiple lesson templates associated with the training course based on the template attribute modification information.
[0127] In some embodiments, the apparatus further includes: a template verification module, configured to detect whether there are lesson templates with the same lesson information in the training course; if so, to perform deduplication processing on multiple lesson templates associated with the training course.
[0128] In some embodiments, the apparatus further includes an event generation module, configured to generate a course creation event if a creation operation and / or modification operation of a course template for the training course is detected.
[0129] In some embodiments, the first scheduling module 704 is specifically used to send a course reuse prompt message to the user terminal; the course reuse prompt message is used to prompt confirmation of whether the new course reuses the scheduling information of the historical course of the training course; if a confirmation instruction is received from the user terminal, a target course matching the course of the new course is determined from the historical course of the training course; the second scheduling module 705 is further used to, if a rejection instruction is received from the user terminal, determine at least one target course template from multiple course templates associated with the training course, and generate the scheduling information of the new course based on the course information preset in the at least one target course template.
[0130] In some embodiments, the second scheduling module 705 is further configured to send template selection prompt information to the user terminal based on the lesson information corresponding to each of the plurality of lesson templates; the template selection prompt information is used to prompt the user terminal to select at least one target lesson template from the plurality of lesson templates based on the lesson information corresponding to each of the plurality of lesson templates; and to receive at least one target lesson template from the user terminal.
[0131] In some embodiments, any lesson template further includes a pre-set template identifier and a configuration time; the second scheduling module 705 is also specifically used to traverse the template identifiers of the multiple lesson templates, and for each template identifier, select the lesson template with the configuration time closest to the current time to form a target lesson template.
[0132] In some embodiments, the device further includes a course period adjustment module, which is used to generate the scheduling information of the new course period based on the course period information preset in the at least one target course period template, and then adjust the current learning course period of the student corresponding to the training course to the new course period.
[0133] In some embodiments, the second scheduling module 705 is further configured to configure the schedule information of the new course period, and to use the pre-set course information of the at least one target course template as the course information of at least one course to be learned in the new course.
[0134] Figure 7 The training course scheduling device described above can perform... Figure 2 The implementation principle and technical effects of the training course scheduling method described in the illustrated embodiment will not be repeated here. The specific methods by which each module and unit of the training course scheduling device in the above embodiments perform their operations have been described in detail in the embodiments related to this method, and will not be elaborated upon here.
[0135] Figure 8 A schematic diagram of another training course scheduling device provided for an exemplary embodiment of this application, the device comprising: The receiving module 801 is used to receive a course reuse prompt message sent by the server. The course reuse prompt message is generated when the server detects a course creation event for the training course, creates a new course for the training course, and determines that the course session template for the training course has not been updated within a preset time period. It is used to prompt confirmation whether the new course session should reuse the scheduling information of the training course's historical course sessions. The training course is associated with multiple course session templates, and these multiple course session templates are updated based on the creation and / or modification operations of the course session templates. The course session templates include pre-set course session information. The sending module 802 is used to send a confirmation instruction to the server in response to the confirmation operation for the course reuse prompt information, so as to instruct the server to determine the target course period that matches the course sessions of the new course period from the historical course periods in response to the confirmation instruction, and generate the course schedule information of the new course period according to the scheduling information of the target course period; The sending module 802 is further configured to send a rejection instruction to the server in response to the rejection operation of the course reuse prompt information, so as to instruct the server to determine at least one target course template from the multiple course templates associated with the training course, and generate the scheduling information of the new course based on the course information preset in the at least one target course template.
[0136] In some embodiments, the receiving module 801 is further configured to receive template selection prompt information sent by the server. The template selection prompt information is generated based on the lesson information corresponding to each of the plurality of lesson templates and is used to prompt the selection of at least one target lesson template from the plurality of lesson templates based on the lesson information corresponding to each of the plurality of lesson templates.
[0137] The device further includes a target lesson determination module, configured to determine at least one target lesson in response to a selection operation for multiple lesson templates, and the sending module 802 is further configured to send the at least one target lesson back to the server.
[0138] In some embodiments, the sending module 802 is further configured to send a request to the server to create a lesson template for the training course, so that the server can generate configuration prompt information for the lesson template based on the course information of the training course; the receiving module 801 is further configured to receive the configuration prompt information for the lesson template sent by the server; the configuration prompt information is used to prompt the determination of multiple candidate lessons for the training course based on the course information, and to configure lesson information for the multiple candidate lessons.
[0139] The device further includes a lesson information acquisition module, used to acquire lesson information of multiple candidate lessons in response to configuration operations for configuration prompts. The sending module 802 is also used to feed back the lesson information of the multiple candidate lessons to the server, so that the server can create multiple lesson templates associated with the training course based on the lesson information of the multiple candidate lessons.
[0140] In some embodiments, the sending module 802 is further configured to send a lesson template change request for the training course to the server; the lesson template change request includes template attribute change information, so that the server can change multiple lesson templates associated with the training course based on the template attribute change information.
[0141] Figure 8 The training course scheduling device described above can perform... Figure 5 The implementation principle and technical effects of the training course scheduling method described in the illustrated embodiment will not be repeated here. The specific methods by which each module and unit of the training course scheduling device in the above embodiments perform their operations have been described in detail in the embodiments related to this method, and will not be elaborated upon here.
[0142] Figure 9 This is a schematic diagram of the structure of one embodiment of a computing device provided in this application. Figure 9 As shown, in practice, the computing device may include a storage component 901 and a processing component 902.
[0143] Storage component 901 is used to store computer programs and can be configured to store various other data to support operation on a computing device. Examples of this data include instructions for any application or method used to operate on the computing device, data structures, contact data, phone book data, messages, pictures, videos, etc.
[0144] Processing component 902, coupled to storage component 901, is used to execute computer programs in storage component 901 for implementing, etc. Figure 2 or Figure 5 The training course scheduling method is shown.
[0145] Furthermore, such as Figure 9 As shown, the computing device may also include other components such as a communication component 903, a display component 904, a power supply component 905, and an audio component 906. Figure 9 The diagram only shows some components and does not mean that the device includes only these components. Figure 9 The components shown. Additionally... Figure 9The components within the dashed box are optional, not mandatory, and their specific requirements depend on the product form of the computing device. The computing device in this embodiment can be a terminal device such as a desktop computer, laptop computer, smartphone, or IoT (Internet of Things) device, or a server-side device such as a conventional server, cloud server, or server array. If the computing device in this embodiment is implemented as a terminal device such as a desktop computer, laptop computer, or smartphone, it may include... Figure 9 The components within the dashed box; if the computing device in this embodiment is implemented as a conventional server, cloud server, or server array, etc., then it may not include... Figure 9 The component within the dashed box.
[0146] The processing component described above includes one or more processors to execute computer instructions to complete all or part of the steps in the method described above. Alternatively, the processing component may be implemented as one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the method described above.
[0147] The aforementioned storage components can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0148] The aforementioned communication component is configured to facilitate wired or wireless communication between the device housing the communication component and other devices. The device housing the communication component can access wireless networks based on communication standards, such as mobile communication networks, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel.
[0149] The aforementioned display components may include a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation.
[0150] The aforementioned power supply components provide power to various components within the device in which they reside. These power supply components may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device in which they reside.
[0151] The aforementioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals can be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.
[0152] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described method embodiments. The computer-readable storage medium includes volatile or non-volatile components, or a combination thereof, and can be removable or non-removable. Examples of computer-readable storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), flash memory or other memory technologies, CD-ROM, Digital Video Disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium. Accordingly, this application also provides a computer program product, which includes a computer program or instructions that, when executed by a processor, cause the processor to implement the steps in the above method embodiments. It should be understood that each step or combination of steps in the above method flow can be implemented by the computer program or instructions. Furthermore, these computer programs or instructions can be applied to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device, enabling the processor of the general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to function as an apparatus for implementing the corresponding functions in the above method embodiments.
[0153] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0154] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0155] Finally, it should be noted that the above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for scheduling training courses, characterized in that, Applied to the server side, including: A course period creation event for a training course is detected; a new course period is created for the training course. The training course is associated with multiple lesson templates; these multiple lesson templates are updated based on lesson template creation and / or modification operations; each lesson template includes pre-set lesson information. Determine whether the multiple lesson templates have been updated within the predetermined time period; If not, determine the target course period that matches the course sessions of the new course period from the historical course periods of the training course, and generate the course schedule information of the new course period based on the course schedule information of the target course period; If so, at least one target lesson template is determined from the multiple lesson templates associated with the training course, and the scheduling information for the new course period is generated based on the lesson information pre-set in the at least one target lesson template.
2. The method according to claim 1, characterized in that, Also includes: In response to a request from the user to create a lesson template for the training course, a configuration prompt message for the lesson template is generated based on the course information of the training course. The configuration prompt information is used to prompt the determination of multiple candidate lesson segments for the training course based on the course information, and to configure lesson segment information for the multiple candidate lesson segments; Send the configuration prompt information to the user terminal; Obtain the lesson information of the multiple candidate lessons as fed back by the user terminal in response to the configuration prompt information; Based on the lesson information of the multiple candidate lessons, multiple lesson templates associated with the training course are created.
3. The method according to claim 2, characterized in that, Also includes: Receive a lesson template change request for the training course sent by the user terminal; the lesson template change request includes template attribute change information; Based on the template attribute change information, change the templates of multiple lesson sessions associated with the training course.
4. The method according to claim 2 or 3, characterized in that, Also includes: The system checks if any training course has a template with identical lesson information. If duplicates exist, the multiple lesson templates associated with the training course are deduplicated.
5. The method according to claim 2 or 3, characterized in that, Also includes: If a creation and / or modification operation of a lesson template for the training course is detected, a lesson creation event is generated.
6. The method according to claim 1, characterized in that, The step of determining the target course period that matches the new course period's lessons from the historical course periods of the training course includes: Send a course reuse reminder message to the user terminal; the course reuse reminder message is used to prompt confirmation of whether the new course reuses the scheduling information of the historical course of the training course; If a confirmation instruction is received from the user terminal, a target course period matching the new course period is determined from the historical course periods of the training course; The method further includes: If a rejection instruction is received from the user terminal, at least one target lesson template is determined from the multiple lesson templates associated with the training course, and the scheduling information for the new course period is generated based on the lesson information pre-set in the at least one target lesson template.
7. The method according to claim 1 or 6, characterized in that, The step of determining at least one target lesson template from multiple lesson templates associated with the training course includes: Based on the lesson information corresponding to each of the multiple lesson templates, a template selection prompt message is sent to the user terminal; the template selection prompt message is used to prompt the user to select at least one target lesson template from the multiple lesson templates based on the lesson information corresponding to each of the multiple lesson templates. Receive at least one target lesson template from the user terminal.
8. The method according to claim 1, characterized in that, Each lesson template also includes a pre-set template identifier and a configured time; determining at least one target lesson template from the multiple lesson templates associated with the training course includes: Iterate through the template identifiers of the multiple lesson templates, and for each template identifier, select the lesson template whose configuration time is closest to the current time to form the target lesson template.
9. The method according to claim 1, characterized in that, After generating the scheduling information for the new semester based on the lesson information pre-set according to the at least one target lesson template, the method further includes: The current learning period for the students corresponding to the training course will be adjusted to the new learning period.
10. The method according to claim 1, characterized in that, The scheduling information includes course period information and lesson information; generating the scheduling information for the new course period based on the lesson information pre-set in the at least one target lesson template includes: Configure the course information for the new course period, and use the pre-set course information of the at least one target course template as the course information for at least one course to be learned in the new course.
11. A method for scheduling training courses, characterized in that, Applied to the user end, including: The system receives a course reuse notification from the server. This notification is generated when the server detects a course creation event for the training course, creates a new course for the course, and determines that the course template for the training course has not been updated within a preset time period. It is used to prompt the server to confirm whether the new course should reuse the scheduling information of the training course's historical course periods. The training course is associated with multiple course templates, which are updated based on creation and / or modification operations. Each course template includes pre-set course information. In response to the confirmation operation for the course reuse prompt information, a confirmation instruction is sent to the server to instruct the server to determine the target course period that matches the course segments of the new course period from the historical course periods, and generate the course schedule information of the new course period based on the scheduling information of the target course period; In response to the rejection operation for the course reuse prompt information, a rejection instruction is sent to the server to instruct the server to determine at least one target course template from the multiple course templates associated with the training course, and to generate the scheduling information for the new course period based on the course information pre-set in the at least one target course template.
12. A computing device, characterized in that, This includes processing components and storage components; The storage component stores a computer program; the computer program is invoked and executed by the processing component to implement the course scheduling method for training courses as described in any one of claims 1-11.
13. A computer-readable storage medium, characterized in that, It stores a computer program, which, when executed by a processing component, implements a course scheduling method for training courses as described in any one of claims 1-11.
14. A computer program product, characterized in that, It includes a computer program or instructions that, when executed by a processing component, implement the scheduling method for training courses as described in any one of claims 1-11.