Computer system and method for generating educational material

By using a computer system connected to a text generation system with a large language model, the challenge of presenting the source code generation process in programming education is addressed, resulting in enhanced educational materials that improve student understanding.

WO2025134468A1PCT designated stage expired Publication Date: 2025-06-26HITACHI LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/035133
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-18
Filing Date
2024-10-01
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

In programming education, students struggle to understand the process of generating source code, as instructors typically present the final source code without showing the steps leading to it, making it difficult to grasp the underlying knowledge.

Method used

A computer system connected to a text generation system with a large language model is used to generate educational materials. The system receives input on ordered knowledge and starting source code, generates prompts, and acquires educational source code, then determines the presentation order of the source code to create educational materials.

Benefits of technology

This approach allows for the efficient generation of educational materials that present the source code generation process, enhancing students' understanding of programming knowledge.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024035133_26062025_PF_FP_ABST
    Figure JP2024035133_26062025_PF_FP_ABST
Patent Text Reader

Abstract

A computer system according to the present invention: is connected to a text generation system that includes a large language model; stores template information that contains data that associates types of programming knowledge and templates for prompts that are text that is to be inputted to make the text generation system generate education source code for acquiring the knowledge; receives input of a plurality of ordered types of knowledge and starting point source code; for each of the plurality of types of knowledge, generates a prompt, transmits the prompt to the text generation system, and acquires education source code; and determines a presentation order for the education source code on the basis of the order of the plurality of types of knowledge to generate educational material.
Need to check novelty before this filing date? Find Prior Art

Description

Computer system and method for generating educational materials Incorporation by Reference

[0001] This application claims priority from Japanese Patent Application No. 2023-213196, filed December 18, 2023, the contents of which are incorporated herein by reference.

[0002] The present invention relates to a technology for generating educational materials used in programming education.

[0003] In programming education, instructors explain programming knowledge by presenting source code. However, if the final source code is presented, users who are trying to acquire knowledge will have difficulty understanding the knowledge because they will not be able to grasp the process that led to the source code. Therefore, it is desirable to present the process of generating the source code.

[0004] To present the process of generating source code, one possible method is to record the process as images and extract the necessary images. However, this method is extremely time-consuming.

[0005] One possible method is to generate information to present the source code creation process using the change history of a version control system. However, change history for educational purposes is not always saved, and in some cases, change history is not available at all.

[0006] Patent Document 1 describes how "temporary modification application information, which is information about modifications applied to software, is created based on version information of software running on a managed system that is included in the operation history of the software running on the system, and the software is restored to the state before the modifications were applied based on the temporary modification application information, and then the modifications are reapplied to the restored software, and the validity of the temporary modification application information is determined based on the execution process or results of the restoration of the software in response to the modifications and the reapplication of the modifications." The technology in Patent Document 1 is aimed at software restoration, and it is difficult to use it to present the process of generating source code.

[0007] JP 2016-212496 A

[0008] In the prior art, it is difficult to efficiently generate educational materials. The present invention provides a technique for efficiently generating programming educational materials.

[0009] A representative example of the invention disclosed in the present application is as follows: That is, a computer system for generating educational materials for presenting a source code generation process used in programming education, connected to a text generation system having a large-scale language model, retaining prompt template information storing data associating programming knowledge with prompt templates, which are text input to the text generation system to generate educational source code used to acquire the knowledge, and executing the following steps: a first process for accepting input of ordered pieces of knowledge and starting source code; a second process for generating the prompt, transmitting the prompt to the text generation system, and acquiring the educational source code for each of the pieces of knowledge; and a third process for generating the educational materials by determining the presentation order of the educational source codes based on the order of the pieces of knowledge.

[0010] According to the present invention, it is possible to efficiently generate programming educational materials. Objects, configurations, and effects other than those described above will become apparent from the following description of the embodiments.

[0011] FIG. 1 is a diagram illustrating an example of the configuration of a system according to a first embodiment. FIG. 2 is a diagram illustrating an example of the hardware configuration of a computer constituting the educational material generation support system according to the first embodiment. FIG. 3 is a diagram illustrating an example of the data structure of prompt template information according to the first embodiment. FIG. 4 is a flowchart illustrating an example of processing executed by the educational material generation support system according to the first embodiment. FIG. 5 is a diagram illustrating an example of a user interface presented by the educational material generation support system according to the first embodiment. FIG. 6 is a flowchart illustrating an example of source code generation processing executed by the educational material generation support system according to the first embodiment. FIG. 7 is a diagram illustrating a specific example of educational materials according to the first embodiment. FIG. 8 is a diagram illustrating an example of the software configuration of an educational material generation support system according to a second embodiment. FIG. 9 is a diagram illustrating an example of the data structure of knowledge pattern information according to the second embodiment. FIG. 10 is a diagram illustrating an example of a user interface presented by the educational material generation support system according to the second embodiment.

[0012] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the spirit or intent of the present invention.

[0013] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations will be omitted.

[0014] In this specification, the terms "first," "second," "third," etc. are used to identify components and do not necessarily limit the number or order.

[0015] To facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings etc. may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not limited to the position, size, shape, range, etc. disclosed in the drawings etc.

[0016] Fig. 1 is a diagram illustrating an example of the configuration of a system according to Example 1. Fig. 2 is a diagram illustrating an example of the hardware configuration of a computer that constitutes an educational material generation support system 100 according to Example 1.

[0017] The system of the first embodiment is composed of an educational material generation support system 100, a text generation system 101, and a terminal 102. The educational material generation support system 100, the text generation system 101, and the terminal 102 are connected to each other via a network 103 such as a LAN (Local Area Network).

[0018] The terminal 102 is a terminal operated by a user (e.g., an instructor) who uses the educational material generation support system 100. The text generation system 101 generates text using a large-scale language model in accordance with prompts. In this embodiment, the text generation system 101 generates source code. In the following description, the source code generated by the text generation system 101 will be referred to as educational source code.

[0019] The educational material generation support system 100 generates educational materials for acquiring programming knowledge. In this embodiment, educational materials are generated to present the process of generating source code. The educational material generation support system 100 is configured from a computer 200 as shown in FIG. 2. The computer 200 has a processor 201, a network interface 202, a main memory device 203, and a secondary memory device 204. The hardware elements are connected to each other via a bus 205.

[0020] The educational material generation support system 100 has a prompt generation unit 110, an educational material generation unit 111, and a display unit 112. Each functional unit is realized by the processor 201 executing a program stored in the main memory device 203. Note that the functional units of the educational material generation support system 100 may be configured such that multiple functional units are combined into one functional unit, or one functional unit may be divided into multiple functional units for each function.

[0021] The educational material generation support system 100 holds prompt template information 120. The prompt template information 120 is stored in the main storage device 203 or the secondary storage device 204.

[0022] The prompt template information 120 is information for managing prompt templates. The prompt generation unit 110 generates prompts and transmits them to the text generation system 101. The educational material generation unit 111 generates educational materials using educational source code generated by the text generation system 101. The display unit 112 presents a user interface for operating the educational material generation support system 100 and also displays educational materials.

[0023] FIG. 3 is a diagram illustrating an example of the data structure of the prompt template information 120 according to the first embodiment.

[0024] The prompt template information 120 stores entries each including a knowledge type 301 and a template 302. In this embodiment, there is one entry for each knowledge type.

[0025] The knowledge type 301 is a field for storing the type of knowledge to be acquired in programming education. The template 302 is a field for storing a prompt template for generating educational source code.

[0026] Fig. 4 is a flowchart illustrating an example of processing executed by the educational material generation support system 100 according to the first embodiment. Fig. 5 is a diagram illustrating an example of a user interface presented by the educational material generation support system 100 according to the first embodiment.

[0027] When the educational material generation support system 100 receives access from the terminal 102, it starts the process described below.

[0028] The display unit 112 of the educational material generation support system 100 presents the user interface 500 and accepts input of generation condition information (step S101).

[0029] The user interface 500 will now be described with reference to Fig. 5. The user interface 500 includes input fields 501, 502, and 503, and an operation button 504.

[0030] The input field 501 is a field for inputting source code that serves as a starting point (origin source code). The origin source code is completed source code. The user inputs the file or path where the origin source code is stored in the input field 501. The input field 502 is a field for inputting the type of knowledge. The input field 502 in FIG. 5 displays knowledge in a list format, and is an input format for selecting knowledge. The input field 503 is a field for inputting information that specifies the time sequence of the source code generation process. In this embodiment, the input format is for setting the order of the selected knowledge.

[0031] The starting source code, knowledge, and the order of the knowledge are input as generation condition information via the user interface 500 .

[0032] The educational material generation support system 100 executes a source code generation process using the generation condition information (step S102). In the source code generation process, educational source code is generated. The source code generation process will be described in detail later.

[0033] The educational material generation unit 111 of the educational material generation support system 100 generates educational materials by determining the presentation order of the educational source codes based on the order of the knowledge (step S103). Here, the educational source codes are ordered in the reverse order of the knowledge. For example, a video or slide image displaying the educational source codes in the determined order is generated as the educational material.

[0034] The display unit 112 of the educational material generation support system 100 displays the educational material on the terminal 102 (step S104). Note that the educational material generation support system 100 may simply transmit the educational material to the terminal 102.

[0035] FIG. 6 is a flowchart illustrating an example of a source code generation process executed by the educational material generation support system 100 according to the first embodiment.

[0036] The prompt generator 110 acquires the source code (step S201).

[0037] The prompt generator 110 selects one piece of knowledge from the knowledge items specified by the user (step S202), in accordance with the order of the knowledge items.

[0038] The prompt generator 110 references the prompt template information 120 based on the selected knowledge and acquires a template (step S203).

[0039] The prompt generator 110 generates a prompt using the template and sends it to the text generation system 101 (step S204). The prompt is text to be input to the large-scale language model and includes at least either the starting source code or the training source code, and an instruction to generate the source code. The prompt may also include source code generation conditions, examples, etc.

[0040] When generating a prompt for the first time, the prompt generator 110 generates the prompt using the starting source code and template. When generating a prompt for the second time or later, the prompt generator 110 generates the prompt using the previously generated training source code and template.

[0041] Note that the number of tokens in a prompt is limited. Therefore, if the source code or training source code contains a large number of characters, the source code or training source code itself cannot be included in the prompt. In this case, the prompt generation unit 110 identifies the input location of the source code or training source code based on the type of knowledge, and includes the input location in the prompt instead of the source code or training source code.

[0042] The prompt generator 110 acquires the training source code from the text generation system 101 and saves the training source code (step S205).

[0043] The prompt generator 110 determines whether or not the processing has been completed for all knowledge items specified by the user (step S206).

[0044] If the processing has not been completed for all knowledge items specified by the user, the prompt generator 110 returns to step S202 and executes the same processing.

[0045] When the processing has been completed for all knowledge items specified by the user, the prompt generating unit 110 ends the source code generation processing.

[0046] FIG. 7 is a diagram showing a specific example of the educational material of the first embodiment.

[0047] The educational material generation support system 100 uses the starting source code 700 to generate educational source code 701 used to acquire knowledge about "function decomposition", and uses the educational source code 701 to generate educational source code 702 used to acquire knowledge about "naming rule: Camelcase". The educational material generation support system 100 sets the presentation order "1" for the educational source code 702 and sets the presentation order "2" for the educational source code 701. In this case, educational material is generated in which the educational source code 701 is presented after the educational source code 702. Note that educational material may also be generated that presents the starting source code 700 last.

[0048] According to the first embodiment, a user can input a completed source code and specify the type of knowledge and the order of the knowledge to generate educational materials for presenting the process of generating the source code.

[0049] In the second embodiment, the method of inputting the generation condition information is different from that in the first embodiment. The second embodiment will be described below, focusing on the differences from the first embodiment.

[0050] The system configuration of the second embodiment is the same as that of the first embodiment. In the second embodiment, the software configuration of the educational material generation support system 100 is partially different.

[0051] 8 is a diagram showing an example of the software configuration of the educational material generation support system 100 of Example 2. The educational material generation support system 100 of Example 2 holds knowledge pattern information 121. The knowledge pattern information 121 is information for managing knowledge patterns, which are sets of ordered knowledge. Note that a set consisting of one piece of knowledge is also treated as a knowledge pattern.

[0052] FIG. 9 is a diagram illustrating an example of the data structure of the knowledge pattern information 121 according to the second embodiment.

[0053] The knowledge pattern information 121 stores entries including a granularity type 901 and a knowledge pattern 902. One entry exists for one granularity.

[0054] Granularity type 901 is a field for storing the type of granularity of knowledge to be included in the educational material. Knowledge pattern 902 is a field for storing a knowledge pattern.

[0055] The process executed by the educational material generation support system 100 when an access from the terminal 102 is accepted is the same as that in the first embodiment. However, in the second embodiment, the user interface 500 is different.

[0056] FIG. 10 is a diagram showing an example of a user interface presented by the educational material generation support system 100 according to the second embodiment.

[0057] The user interface 500 of the second embodiment includes an input field 510 instead of the input fields 502 and 503. The input field 510 is a field for inputting a granularity type. The input field 510 in FIG. 5 displays the granularity types in a list format, and is an input format for selecting a granularity type.

[0058] The source code generation process of the second embodiment is the same as that of the first embodiment.

[0059] According to the second embodiment, a user can generate educational materials by inputting a completed source code and specifying the granularity of knowledge. In the second embodiment, educational materials can be generated more easily than in the first embodiment.

[0060] The present invention is not limited to the above-described embodiments, but includes various modifications. For example, the above-described embodiments are provided to explain the present invention in detail, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.

[0061] Furthermore, some or all of the above-described configurations, functions, processing units, processing means, etc. may be implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, solid-state drives (SSDs), optical disks, magneto-optical disks, CD-Rs, magnetic tape, non-volatile memory cards, and ROMs.

[0062] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, perl, Shell, PHP, Python, and Java.

[0063] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or the storage medium.

[0064] In the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines are necessarily shown in the product. All components may be interconnected.

Claims

1. A computer system that generates educational materials for use in programming education to present the process of generating source code, the computer system being connected to a text generation system having a large-scale language model, and retaining prompt template information that stores data that associates types of programming knowledge with prompt templates, which are text that are input to the text generation system to generate educational source code used to acquire the knowledge, and executing a first process that accepts input of a plurality of ordered knowledge types and starting source code, a second process that generates the prompt for each of the plurality of knowledge types, sends the prompt to the text generation system, and obtains the educational source code, and a third process that generates the educational materials by determining the presentation order of the plurality of educational source codes based on the order of the plurality of knowledge types.

2. A computer system as described in claim 1, wherein the second process includes: a fourth process of selecting one knowledge type in accordance with the order of the multiple knowledge types; a fifth process of obtaining the template corresponding to the selected knowledge type from the prompt template information; a sixth process of generating the prompt using the starting source code and the template when a first knowledge type is selected; and a seventh process of generating the prompt using the educational source code corresponding to the knowledge that is one step before the selected knowledge type and the template when a second or subsequent knowledge type is selected.

3. A computer system as described in claim 2, wherein the sixth process includes a process of identifying an input location of the origin source code to be included in the prompt based on the type of knowledge when the origin source code cannot be included in the prompt, and generating the prompt based on the input location of the origin source code and the template; and the seventh process includes a process of identifying an input location of the educational source code to be included in the prompt based on the type of knowledge when the educational source code cannot be included in the prompt, and generating the prompt based on the input location of the educational source code and the template.

4. A computer system according to claim 2, characterized in that it presents a user interface for inputting the starting source code, selecting the type of knowledge, and setting the order of the selected types of knowledge.

5. A computer system as described in claim 2, characterized in that it retains knowledge pattern information by correlating the granularity of knowledge of the educational material with a knowledge pattern which is a set of ordered types of the knowledge, and presents a user interface for inputting the starting source code and selecting the granularity of knowledge of the educational material, the second process includes a process of identifying the knowledge pattern by referring to the knowledge pattern information based on the granularity of knowledge of the educational material selected via the user interface, the third process includes a process of generating the educational material by ordering a plurality of the educational source codes in accordance with the order of the types of knowledge in the knowledge pattern, and the fourth process includes a process of selecting one type of knowledge from the types of knowledge included in the knowledge pattern in accordance with the order of the types of knowledge in the knowledge pattern.

6. A method for generating educational materials for use in programming education, executed by a computer system, to present the process of generating source code, wherein the computer system is connected to a text generation system having a large-scale language model, and holds prompt template information storing data correlating types of programming knowledge with prompt templates, which are text input to the text generation system to generate educational source code used to acquire the knowledge, the method for generating educational materials comprising the steps of: a first step in which the computer system receives input of a plurality of ordered knowledge types and a starting source code; a second step in which the computer system generates the prompt for each of the plurality of knowledge types, sends the prompt to the text generation system, and acquires the educational source code; and a third step in which the computer system generates the educational materials by determining the presentation order of the plurality of educational source codes based on the order of the plurality of knowledge types.

7. A method for generating educational materials as described in claim 6, wherein the second step includes: a fourth step in which the computer system selects one knowledge type in accordance with the order of the multiple knowledge types; a fifth step in which the computer system obtains the template corresponding to the selected knowledge type from the prompt template information; a sixth step in which the computer system generates the prompt using the origin source code and the template when a first knowledge type is selected; and a seventh step in which the computer system generates the prompt using the educational source code corresponding to the knowledge that is one step before the selected knowledge type and the template when a second or subsequent knowledge type is selected.

8. A method for generating educational materials as described in claim 7, wherein the sixth step includes a step in which, when the origin source code cannot be included in the prompt, the computer system identifies an input location of the origin source code to be included in the prompt based on the type of knowledge, and generates the prompt based on the input location of the origin source code and the template; and the seventh step includes a step in which, when the educational source code cannot be included in the prompt, the computer system identifies an input location of the educational source code to be included in the prompt based on the type of knowledge, and generates the prompt based on the input location of the educational source code and the template.

9. A method for generating educational materials as described in claim 7, characterized in that the computer system includes a step of presenting a user interface for inputting the starting source code, selecting the type of knowledge, and setting the order of the selected types of knowledge.

10. A method for generating educational materials as described in claim 7, wherein the computer system retains knowledge pattern information by associating the granularity of knowledge of the educational materials with a knowledge pattern, which is a set of ordered types of the knowledge, and the method for generating educational materials includes a step in which the computer system presents a user interface for inputting the starting source code and selecting the granularity of knowledge of the educational materials, the second step includes a step in which the computer system identifies the knowledge pattern by referring to the knowledge pattern information based on the granularity of knowledge of the educational materials selected via the user interface, the third step includes a step in which the computer system generates the educational materials by ordering a plurality of the educational source codes in accordance with the order of the types of knowledge in the knowledge pattern, and the fourth step includes a step in which the computer system selects one type of knowledge from the types of knowledge included in the knowledge pattern in accordance with the order of the types of knowledge in the knowledge pattern.

Citation Information

Patent Citations

  • Programming tutoring method, device and equipment and readable storage medium

    CN117076021A

  • Teenager algorithm code auxiliary learning system and method based on large language model

    CN117235347A

  • Programming education support device and programming education support program

    JP2019039971A