Coding education system and coding education method

The coding education system addresses spatial and temporal constraints by using AI-driven robots and personalized content to enhance learner engagement and academic achievement in offline settings.

WO2025150589A1PCT designated stage expired Publication Date: 2025-07-17UNIT CO INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/000563
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-08
Filing Date
2024-01-11
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

Existing coding education methods face challenges in providing personalized and efficient learning experiences for multiple learners due to spatial and temporal constraints, often resulting in one-sided instruction and limited interaction, especially in offline settings like schools and academies.

Method used

A coding education system and method that utilizes a central server, electronic blackboard, learner terminals, and coding education robots to provide personalized coding classes, grading, and hints based on individual learning abilities, using AI and natural language processing to adapt content and provide targeted feedback.

Benefits of technology

Enables efficient and effective coding education by providing personalized content and real-time feedback, enhancing learner engagement and academic achievement, particularly in offline settings, by replacing traditional teachers with AI-driven robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024000563_17072025_PF_FP_ABST
    Figure KR2024000563_17072025_PF_FP_ABST
Patent Text Reader

Abstract

This coding education system is used for multiple learners to take personalized coding classes in the same class space. The coding education system comprises: an electronic blackboard for displaying a coding problem or a coding lecture image to the multiple learners; multiple learner terminals for receiving coding solutions for the coding problem from the learners; a central server which comprises a grading service unit that grades the respective coding solutions submitted by the learners, generates grading result information for each of the learners, and generates hint information, an education service unit for recommending the coding problem or the lecture image, and a learner management unit for generating learning management information of each of the learners; and a coding education robot for providing problem-solving hints to learners who have submitted a wrong answer as the coding solutions, by using the scoring result information and the hint information.
Need to check novelty before this filing date? Find Prior Art

Description

Coding education system and coding education method

[0001] The present invention relates to a coding education system and a coding education method, and more specifically, to a coding education system and a coding education method for efficiently providing coding education to multiple coding learners in schools, academies, etc., according to their individual learning abilities and situations.

[0002] Coding generally refers to the process of inputting commands into a computer-understandable programming language like C, Java, or Python. Coding is crucial because everything that represents the Fourth Industrial Revolution—artificial intelligence, the Internet of Things, intelligent robots, and big data analysis and utilization—is implemented through software based on ICT (Information and Communication Technology). Furthermore, coding education fosters logical reasoning, creativity, and problem-solving skills, and is therefore utilized in a variety of educational programs.

[0003] However, due to time and space constraints, many coding education programs involve students solving all the coding problems in a workbook in sequence, followed by a one-sided explanation from the instructor. This approach hinders two-way communication between learners and instructors, forcing instructors to deliver one-sided, spoon-fed instruction.

[0004] To overcome spatial constraints, online e-learning approaches are being adopted in coding education. However, it's difficult to adapt course content to reflect learners' creative questions or immediate needs, or to integrate them into in-depth learning. Consequently, most beginner-level coding education relies on textbook-based, example-based exercises. In other words, online coding and algorithm education struggles to overcome the one-sided, uniform approach of providing only solutions to problems.

[0005] In particular, in offline spaces such as schools and academies, E-learning-based coding education has disadvantages such as lower learning efficiency.

[0006] Accordingly, the technical problem of the present invention was conceived from this point, and the purpose of the present invention is to provide a coding education system that allows multiple coding learners to efficiently perform coding education in an offline space such as a school or an academy according to their individual learning abilities and situations.

[0007] Another object of the present invention is a coding education method using the above coding education system.

[0008] According to one embodiment of the present invention for realizing the above-described object, a coding education system is used for a plurality of learners to conduct personalized coding classes in the same classroom. The coding education system includes an electronic blackboard for displaying coding problems or coding lecture videos to the plurality of learners, a plurality of learner terminals for receiving coding solutions to the coding problems from the learners, a grading service unit for grading the coding solutions submitted by each of the learners to generate grading result information for each of the learners and generating hint information, an education service unit for recommending the coding problems or the lecture videos, and a central server including a learner management unit for generating learning management information for each of the learners, and a coding education robot for providing a problem-solving hint to a learner who has submitted an incorrect answer to the coding solution, using the grading result information and the hint information.

[0009] In one embodiment of the present invention, the scoring service unit compares the output values ​​and correct answers of the coding solution for the input values ​​of at least two or more test cases, and if the output values ​​and the correct answers are all the same, processes it as a correct answer, and if even one is different, processes it as an incorrect answer, but determines that it is one of an expression error, a timeout, a memory excess, an output excess runtime error, and a compilation error, and generates the scoring information including information about it.

[0010] In one embodiment of the present invention, the coding education robot can provide a problem-solving hint to a learner who submitted an incorrect answer to the coding solution, according to the type of the incorrect answer, such as an expression error, a time-out, a memory-out, an output-out, a runtime error, and a compilation error.

[0011] In one embodiment of the present invention, the hint providing unit of the scoring server can suggest to the learner, in text or voice, that the coding solution be corrected according to the type of the incorrect answer, using a language model learned in a natural language processing manner using an LLM (Large Language Model).

[0012] In one embodiment of the present invention, the coding education robot can sequentially provide problem-solving hints to multiple learners who submitted incorrect answers, based on the content of the incorrect answer.

[0013] In one embodiment of the present invention, the coding education system may further include a personal coding education robot comprising a plurality of sensors, a display, and a driving unit. The personal coding education robot operates the sensors and the driving unit according to the coding solution, and may display whether the coding solution is correct or incorrect or provide a problem-solving hint through the display of the personal coding education robot.

[0014] In one embodiment of the present invention, the coding education system may further include a learner management unit that accumulates information on lecture videos taken by the learner and a history of solved problems, and uses this to generate information on the learner's learning achievement. The learner management unit may include a learner account management unit that manages each learner's login account and learner information, and a learner database that stores learners' personal information and information on learning achievement.

[0015] According to one embodiment of the present invention, a coding education method for realizing the above-described purpose includes a learner login step in which a plurality of learners each log in to a learner terminal;

[0016] The method includes a basic lecture and basic problem provision step of displaying a basic lecture video and basic coding problems through an electronic blackboard, a problem solving step of having a plurality of learners write coding solutions to the basic coding problems and input them into the learner terminal, a scoring step of determining whether the coding problem solutions are correct or incorrect and generating scoring result information for each learner, a personalized hint provision step of providing hints corresponding to the incorrect answer content to learners who submitted incorrect answers, and a recommended problem and recommended lecture provision step of providing recommended problems and recommended lectures for each learner based on the scoring results for each learner.

[0017] In one embodiment of the present invention, in the scoring step, the output values ​​and correct answers of the coding solution are compared for the input values ​​of at least two or more test cases, and if the output values ​​and the correct answers are all the same, it is processed as a correct answer, and if even one is different, it is processed as an incorrect answer, but it is determined as one of an expression error, a time exceeded, a memory exceeded, an output exceeded runtime error, and a compilation error, and the scoring information including information about this can be generated.

[0018] In one embodiment of the present invention, in the step of providing individual hints, the problem-solving hint may be provided to a learner who submitted an incorrect answer to the coding solution, depending on the type of incorrect answer, such as an expression error, time exceeded, memory exceeded, output exceeded, runtime error, and compilation error.

[0019] In one embodiment of the present invention, in the step of providing individual hints, a language model learned through a natural language processing method using a Large Language Model (LLM) may be used to suggest to the learner, in text or voice, that the coding solution be corrected according to the type of incorrect answer of the learner.

[0020] In one embodiment of the present invention, a learning status management step may be further included, in which the learner's coding and algorithm problem-solving ability is analyzed through an artificial intelligence-based model based on learning information such as the learner's age and school personal information, history of classes taken, history of problems solved, and grading results, and an analysis report is issued.

[0021] According to embodiments of the present invention, a coding education system includes an electronic whiteboard, a learner terminal, a central server, and a coding education robot. Utilizing the coding education system, particularly in situations where multiple learners receive group education, such as elementary, middle, and high school classes or offline academies, allows for the provision of a coding curriculum tailored to each learner's level and customized coding education content. Furthermore, going beyond online coding education services, the system utilizes a coding education robot to replace insufficient coding teachers and enables efficient and effective coding education by utilizing a personal coding education robot. Accordingly, the system differentiates itself from typical online coding education methods and maximizes learner academic achievement.

[0022] However, the effects of the present invention are not limited to the above effects, and may be expanded in various ways without departing from the spirit and scope of the present invention.

[0023] Figure 1 is a block diagram of a coding education system according to one embodiment of the present invention.

[0024] Figure 2 is a block diagram showing in detail the grading service unit, education service unit, and learner management unit of the main server of the coding education system of Figure 1.

[0025] Figure 3 is a diagram showing the configuration of the main server of the coding education system of Figure 1.

[0026] Figure 4 is a flowchart illustrating a coding education method according to one embodiment of the present invention.

[0027] FIGS. 5 and 6 are diagrams showing a user interface (UI) for selecting a course or lecture displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0028] FIG. 7 is a drawing showing a user interface (UI) of a coding problem selection screen displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0029] FIGS. 8 to 10 are drawings showing a user interface (UI) of a screen displaying a recommended problem, a selection screen for a problem that has failed to be solved, and a grading status, displayed on a display of a coding education robot, an electronic blackboard, or a learner terminal of a coding education system according to one embodiment of the present invention.

[0030] FIGS. 11 and 12 are diagrams showing a user interface (UI) for inputting coding problems, hints, and coding solutions displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0031] FIG. 13 is a diagram showing a user interface (UI) of an administrator terminal for checking scoring information for coding solutions submitted by multiple learners in a coding education system according to one embodiment of the present invention.

[0032] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

[0033] The present invention is susceptible to various modifications and takes various forms. Specific embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the present invention to specific disclosed forms, but rather to encompass all modifications, equivalents, and alternatives falling within the spirit and technical scope of the present invention.

[0034] Figure 1 is a block diagram of a coding education system according to one embodiment of the present invention. Figure 2 is a block diagram illustrating in detail the grading service unit, education service unit, and learner management unit of the main server of the coding education system of Figure 1.

[0035] Referring to Figures 1 and 2, the coding education system includes a central server (100), a coding education robot (200), an electronic blackboard (250), a learner terminal (300), and an administrator terminal (400). The coding education system may further include a personal coding education robot (350).

[0036] The above central server (100) may include a grading service unit (110), an education service unit (120), and a learner management unit (130).

[0037] The above-mentioned education service unit (120) can transmit the lecture video or coding problem to the coding education robot (200) or the electronic blackboard (250) so that the lecture video or coding problem can be provided to the learner through the coding education robot (200) or the electronic blackboard (250), and can recommend an appropriate lecture video that matches the learner's level or recommend a level-specific coding problem that takes the learner's level into consideration.

[0038] The above education service unit (120) may include a coding problem database (122), a lecture video database (124), a lecture recommendation unit (126), and a problem recommendation unit (128).

[0039] The above coding problem database (122) can store multiple coding problems by stage, type, and difficulty. For example, the coding problems can be stored together in the coding problem database (122) with information such as the problem content, correct answer rate, large / medium / small classification of the algorithm of the problem answer, problem source (ICPC style, Olympiad style, Coding Interview style, etc.), and difficulty. For example, the coding problems are classified and stored in several categories in the coding problem database (122), and are classified into major categories according to the type of solution algorithm such as input / output, conditional statements, loop statements, arrays, strings, functions, recursive functions, etc., and can be stored by more detailed medium- or small-classification within the major categories.

[0040] The above lecture video database (124) stores lecture videos. The lecture videos can also be classified and stored according to the algorithm's large / medium / small classification, and the lecture videos can be transmitted to be displayed on one or more of the display of the coding education robot (200), the display of the electronic blackboard (250), the display of the learner terminal (300), and the display of the personal coding education robot (350).

[0041] The above lecture recommendation unit (126) can recommend appropriate lecture videos by considering the learning status of each learner logged in through the learner terminal (300). A list of recommended lectures can be displayed on one or more of the above displays, allowing learners to take the recommended lectures they desire.

[0042] The above lecture recommendation unit (126) can be implemented using various known methods, either according to a preset algorithm or a learnable artificial intelligence model. For example, the lecture recommendation unit (126) can be implemented using an artificial intelligence model based on natural language processing.

[0043] The above problem recommendation unit (128) can recommend appropriate coding problems by considering the learning status of each learner logged in through the learner terminal (300). The recommended problems can be displayed on one or more of the displays, allowing the learner to solve the recommended problems of their choice.

[0044] The above-mentioned problem recommendation unit (128) can be implemented using various known methods, depending on a set algorithm or a learnable artificial intelligence model. For example, the above-mentioned problem recommendation unit (128) can be implemented using an artificial intelligence model based on natural language processing.

[0045] Coding problems recommended by the above problem recommendation unit (128) are displayed on one or more of the above displays, and learners can input answers to the selected coding problems into their learner terminals (300).

[0046] The above scoring service unit (110) can receive the answer written by the learner from the learner terminal (300) and score whether it is correct or not.

[0047] The above scoring service unit (110) may include a scoring database (112), a scoring judgment unit (114), and a hint provision unit (116).

[0048] The above-mentioned scoring judgment unit (114) scores the answer. Specifically, the scoring judgment unit (114) inputs the input value of the test case into the answer, compiles and executes the answer, and compares the output value of the answer with the correct output value for the input value to score whether the answer is correct.

[0049] At this time, the test case is a set of at least two input values ​​and correct output values ​​that can determine whether the coding problem is correct, and if the answer output values ​​for the input values ​​of all test cases for the coding problem match the correct output values, the problem can be determined to be correct.

[0050] Specifically, the scoring judgment unit (114) executes a container according to the language (C, C++, Java, Python, etc.) used in the answer, so that the answer is compiled and executed in the container for each language. At this time, the answer output value output by inputting the input value of the test case can be compared to see if it is the same as the correct answer output value, thereby determining whether or not the answer is correct.

[0051] The above scoring judgment unit (114) determines whether the answer is correct, whether there is an expression error, whether there is a time limit, whether there is a memory limit, whether there is an output limit, whether there is a runtime error, and whether there is a compilation error.

[0052] Specifically, the correct answer is determined by comparing the output value for the input value of the test case for which the answer is preset with the preset correct answer value. The test case, i.e., the set of input values ​​and correct answers, can be compared and determined using at least two or more pre-stored test cases for one problem to determine the correct answer. That is, for two or more test cases, if the output value and the correct answer value both match, the answer can be determined to be correct.

[0053] For example, for each problem, two or more sets of predetermined appropriate input-answer values ​​are stored in a test case. The code for the answer written by the learner is executed, and the output value of the answer for each input value stored in the test case is recorded. At this time, problems that occur during code execution (timeout, memory exceeding, etc.) are monitored to determine whether there are any errors. If there are no errors, the output value of the learner's code is compared with the correct value stored in the test case database. If the output value is identical to the correct value stored in the test case, the problem is determined to have been solved correctly and is judged as correct. If the output value is different from the correct value, the learner's code is judged as incorrect.

[0054] The above expression error is determined to be an expression error if the output value of the above answer matches the correct answer value, but there is a difference in the output format, such as spacing or line breaks.

[0055] The above time limit is determined by whether the execution of the code in the above answer exceeds the preset time limit for each problem. This can be determined as a timeout, as it indicates that an efficient algorithm was not used.

[0056] The above memory overflow is determined when the memory used during execution of the code in the answer exceeds the preset memory limit for each problem. This indicates that the learner has inefficiently used a large amount of memory to solve the problem, and can be considered a memory overflow.

[0057] Whether the above output is exceeded can be determined as an output excess if the output result of the above answer is too large compared to the correct answer value.

[0058] The above runtime error can be determined if a runtime error occurs while executing the answer. Runtime errors typically occur when unexpected input values ​​are present or when there is a problem with the algorithm.

[0059] The above compilation error can be determined when there is a grammatical error in the above answer, making compilation impossible, or when a grammatical error occurs during execution.

[0060] The above-mentioned scoring database (112) can store scoring data for answers written by learners. The scoring data can include information about the corresponding coding problem, whether it is correct or not, whether there is an expression error, whether there is a time limit, whether there is a memory limit, whether there is an output limit, whether there is a runtime error, and whether there is a compilation error.

[0061] The above hint provision unit (116) can provide an appropriate hint to the learner through one of the displays or by using the voice of the coding education robot (200) in the case where the learner's answer is incorrect, has an expression error, has exceeded the time limit, has exceeded the memory limit, has exceeded the output limit, has a runtime error, or has a compilation error.

[0062] The hint provision unit (116) can provide hints to learners in a natural language processing manner using a Large Language Model (LLM). For example, hints can be provided in a chatbot-like format in a conversational manner with the user, or through voice. The LLM can learn various patterns in training data to perform sentence generation, translation, question answering, and other natural language processing tasks. The LLM can be implemented using a transformer architecture such as a Generative Pre-trained Transformer (GPT). For example, an artificial intelligence model comprising multiple layers can be configured, with each layer extracting information necessary for natural language processing tasks and integrating the results of the previous layer.

[0063] The input data of the above LLM is learned based on rich text data, and the source code of correct or incorrect answers submitted by learners stored in the above scoring database can be used.

[0064] The above learner management unit (130) can accumulate information on lecture videos taken by the learner and a history of problems solved, and use this to create information on the learner's learning achievement.

[0065] The above learner management unit (130) may include a learner account management unit (132) and a learner database (124).

[0066] The learner account management unit (132) manages individual learner login accounts and learner information. Specifically, the learner account management unit (132) can modify and update the personal information of each logged-in learner and learning information regarding learning achievements, and store them in the learner database (124). The learner's personal information may include name, gender, age, school, contact information, login password, membership information, payment information, etc. The learning information may include information on the lecture history taken, the solved problem history, and the grading results.

[0067] The above learner database (124) can store learners' personal information and information on learning achievement.

[0068] The learner management unit (130) can analyze learners' achievements, i.e., coding and algorithm problem-solving capabilities, using the personal information and learning achievement information of the learner database (124) through an artificial intelligence-based model and issue an analysis report. The analysis report is transmitted to the administrator terminal (400), allowing for easy management of the learning achievements of multiple learners through the administrator terminal (400).

[0069] The above coding education robot (200) can serve as a teacher when multiple students are conducting coding classes in the same classroom. The above coding education robot (200) can be implemented in the form of a guide robot equipped with a display and capable of autonomous navigation.

[0070] Specifically, the coding education robot 200 may include a driving unit for autonomous driving movement, a display for displaying problems, hints, or lecture videos, sensors such as a microphone and camera for receiving learners' requests and information about the learning situation, and a speaker for delivering educational content to learners.

[0071] The above coding education robot (200) can use generative artificial intelligence technology and autonomous driving technology to move close to a learner in need of learning and provide instructions or hints to the learner using the display, speaker, etc.

[0072] The above coding education robot (200) can provide help by providing hints for solving errors in coding problems. In particular, since the coding education robot (200) can provide hints in the form of a chatbot through the hint provision unit (116) of the scoring service unit (110) of the central server (100), learners can obtain a learning effect similar to that of a coding education teacher providing 1:1 instruction, and unlike general E-Learning-style coding education for multiple learners in offline spaces such as schools or academies, it is possible to provide a coding education system that can improve learners' immersion and educational efficiency.

[0073] For example, by the grading service unit (110), a plurality of learners can use previously submitted coding solutions and their grading information to learn LLM, and the source code of the currently submitted coding solution and its grading results to create natural language comments on the direction of correction for incorrect parts of the coding solution, and provide these to learners in the form of a chatbot or in the form of voice through a speaker through the display of the coding education robot (200).

[0074] The electronic whiteboard (250) can display coding problems or coding lecture videos on the display so that multiple learners can view them simultaneously. Since the coding education system is fundamentally intended to provide coding education to multiple learners in offline spaces such as schools or academies, the common curriculum content must be taught using the electronic whiteboard (250) so that multiple learners can complete the basic curriculum regardless of their learning ability.

[0075] The above electronic blackboard (250) is equipped with a touch screen, so that content entered by hand or a writing device can be displayed on the image displayed on the display, enabling image display and writing to be performed simultaneously.

[0076] The learner terminal (300) is equipped with a display and can display coding problems or coding lecture videos. The learner terminal (300) includes an input tool such as a keyboard or touchpad, through which the learner can input solutions to the coding problems, thereby receiving the learner's coding solutions.

[0077] The above learner selects a language to solve a coding problem through the learner terminal (300), inputs the coding solution, compiles the coding solution to confirm whether the solution is correct, and executes the coding solution so that the learner can check whether an appropriate output value is generated when an input value is input.

[0078] The above learner terminal (300) may mean, for example, a notebook, desktop, laptop equipped with a web browser, a wireless communication device that guarantees portability and mobility, or any type of handheld-based wireless communication device such as a smartphone, tablet PC, etc.

[0079] The above personal coding robot (350) can utilize systems used for coding education and practice, such as Arduino and Raspberry Pi, and is a practical robot that can control programming, sensing, and movement using languages ​​such as Python.

[0080] At this time, the coding education robot (200), the electronic blackboard (250), the learner terminal (300), and the personal coding robot (350) may operate in conjunction with each other or independently as needed.

[0081] The above administrator terminal (400) is a terminal device for administrators to check and manage the learning status of all learners in each class, such as coding education teachers, and can check and manage the learners' education completion status, progress, learning achievement, etc.

[0082] The above-mentioned administrator terminal (300) may mean, for example, a notebook, desktop, laptop equipped with a web browser, a wireless communication device that guarantees portability and mobility, or any type of handheld-based wireless communication device such as a smartphone, tablet PC, etc.

[0083] According to embodiments of the present invention, the coding education system can be utilized in software artificial intelligence (AI) education, after-school programs, gifted education, and other areas. In particular, in situations where multiple learners receive group education, such as elementary, middle, and high school classes or offline academies, it is possible to provide a coding curriculum tailored to each learner's level and customized coding education content. Furthermore, going beyond online coding education services, it can utilize coding education robots to replace insufficient coding teachers and enable efficient and effective coding education by utilizing personal coding education robots. Accordingly, it is differentiated from typical online coding education methods and can maximize learners' academic achievement.

[0084] Figure 3 is a diagram showing the configuration of the main server of the coding education system of Figure 1.

[0085] Referring to FIG. 3, the main server (100) may include a communication module (11), memory (12), database (13), and processor (14).

[0086] The above main server (100) may be formed in the form of a device such as a server or terminal, and may operate in a cloud computing service model such as SaaS (Software as a Service), PaaS (Platform as a Service), or IaaS (Infrastructure as a Service). In addition, the logistics server (10) may be constructed in the form of a server such as a private cloud, a public cloud, or a hybrid cloud system.

[0087] The above communication module (11) performs information transmission and reception with a coding education robot (see 200 in FIG. 1), an electronic blackboard (see 250 in FIG. 1), an administrator terminal (see 400 in FIG. 1), a learner terminal (see 300 in FIG. 1), and a personal coding robot (see 350 in FIG. 1). The above communication module (11) may include a device including hardware and software necessary for transmitting and receiving signals such as control signals or data signals through wired or wireless connections with other network devices.

[0088] The above memory (12) stores programs or data for operating the coding education system. Furthermore, the memory (12) may include source code information including information about one or more programming languages. Here, the source code information may include variable information, class information, function information, and relationship information used in one or more programming languages. The name of the text semantic analysis program is set for convenience of explanation, and the name itself does not limit the program's functionality.

[0089] The above memory (12) can store at least one of information and data input to the communication module (11), information and data required for functions performed by the processor (14), and data generated according to the execution of the processor (14). The memory (12) should be interpreted as a general term for a non-volatile storage device that maintains stored information even when no power is supplied and a volatile storage device that requires power to maintain the stored information. In addition, the memory (12) can perform a function of temporarily or permanently storing data processed by the processor (14). The memory (12) may include a magnetic storage media or a flash storage media in addition to a volatile storage device that requires power to maintain the stored information, but the scope of the present invention is not limited thereto.

[0090] The database (13) above may be where data used by the coding education system is stored. For example, the database (13) may store data on coding problems, coding lecture videos, individual learner grading results, and learning management information. The database (13) may constitute part of the memory (12), but may not necessarily be located within the logistics pickup management system and may be located externally.

[0091] The processor (14) is configured to execute the program stored in the memory (12). The processor (14) may include various types of devices that control and process data. The processor (14) may refer to a data processing device built into hardware that has a physically structured circuit to perform a function expressed by a code or command included in the program. In one example, the processor (140) may be implemented in the form of a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., but the scope of the present invention is not limited thereto.

[0092] The processor (14) is configured to execute the program and perform the following functions and procedures. The processor (14) transmits coding problems and coding lecture videos to coding education robots, electronic blackboards, learner terminals, personal coding education robots, etc. through the communication module (11), and receives the source codes of coding solutions submitted by learners, information about learners, etc., and can grade coding solutions and provide hints in case of incorrect answers. In addition, the processor (14) can recommend coding problems according to the academic achievements of learners, or create and manage learning management information for each learner.

[0093] The processor (14) can extract nouns included in variable information, class information, and function information used in one or more programming languages ​​and set them as source code keywords. In addition, the processor (14) can generate source code information based on the relationship between the name of the source code corresponding to the source code keyword, the abbreviation of the source code, and the translation of the source code and the source code keywords, and store the information in the memory (12).

[0094] Figure 4 is a flowchart illustrating a coding education method according to one embodiment of the present invention.

[0095] Referring to FIG. 4, the coding education method may include a learner login step (S100), a basic lecture and problem provision step (S200), a problem solving step (S300), a scoring step (S400), a personalized hint provision step (S500), a recommended problem and recommended lecture provision step (S600), and a learning status management step (S700). The coding education method may be provided through the coding education system described in FIGS. 1 to 3.

[0096] In the above learner login step (S100), multiple learners can each log in to their own learner terminals.

[0097] In the above basic lecture and problem provision step (S200), basic lecture videos and basic coding problems can be displayed through the electronic blackboard.

[0098] In the above problem solving step (S300), the plurality of learners can write a coding solution for the basic coding problem and input it into the learner terminal.

[0099] In the above scoring step (S400), the correct or incorrect answers of the above coding problem solutions can be determined to generate scoring result information for each learner. Specifically, the output values ​​and correct answers of the coding solutions are compared for the input values ​​of at least two or more test cases, and if the output values ​​and the correct answers are all the same, it is processed as a correct answer, and if even one is different, it is processed as an incorrect answer, but it is determined to be one of an expression error, a timeout, a memory exceedance, an output exceedance runtime error, and a compilation error, and the scoring information including information about this can be generated.

[0100] In the above-described individual hint provision step (S500), hints corresponding to the content of the incorrect answer can be provided to learners who submitted incorrect answers. Specifically, the problem-solving hints can be provided to learners who submitted incorrect answers using the coding solution, depending on the type of incorrect answer, such as expression errors, timeouts, memory overflows, output overflows, runtime errors, and compilation errors. At this time, a language model trained using a natural language processing method using a Large Language Model (LLM) can be used to suggest to the learner, via text or voice, that the coding solution be revised, depending on the type of the learner's incorrect answer.

[0101] In the above recommended problem and recommended lecture provision step (S600), recommended problems and recommended lectures can be provided to each learner based on the above scoring results for each learner.

[0102] In the above learning status management step (S700), based on the learner's personal information about his or her age and school, his or her history of classes taken, his or her history of problems solved, and his or her grading results, the learner's coding and algorithm problem-solving ability can be analyzed through an artificial intelligence-based model, and an analysis report can be issued.

[0103] FIGS. 5 and 6 are diagrams showing a user interface (UI) for selecting a course or lecture displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0104] Referring to Figures 5 and 6, learners can select their desired coding language or category, and within each selected category, they can select courses or lecture videos appropriate for their level of difficulty. Learners can also select difficulty levels or tags, or search for courses or lectures.

[0105] FIG. 7 is a drawing showing a user interface (UI) of a coding problem selection screen displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0106] Referring to Figure 7, coding problems are categorized. Users can check their progress on coding problems in their desired category and directly select and solve problems within that category. They can also view all problems, recommended problems, failed problems, and grading status.

[0107] FIGS. 8 to 10 are drawings showing a user interface (UI) of a screen displaying a recommended problem, a selection screen for a problem that has failed to be solved, and a grading status, displayed on a display of a coding education robot, an electronic blackboard, or a learner terminal of a coding education system according to one embodiment of the present invention.

[0108] Referring to Figures 8 to 10, learners can check recommended problems, failed problems, and their own grading status, and can easily check whether their answers are correct or incorrect, the types of incorrect answers for problems for which they submitted incorrect answers, etc., and can then try to solve the problems they want to solve again.

[0109] FIGS. 11 and 12 are diagrams showing a user interface (UI) for inputting coding problems, hints, and coding solutions displayed on a display of a coding education robot, electronic blackboard, or learner terminal of a coding education system according to one embodiment of the present invention.

[0110] Referring to Figures 11 and 12, a coding problem is displayed, and the problem content, input and output requirements, input examples, and output examples are displayed. The learner can select the language he or she wants to use and then write the source code to solve the coding problem. After writing the coding solution, the learner can run the source code using the run button, input the input value, and check whether the desired output value is generated. After reviewing the output value, the learner can submit the coding solution. Depending on the grading result, if the answer is incorrect, a hint can be provided to the learner in the form of a chatbot chat window at the bottom right, and the learner can request a problem hint, grading result, problem recommendation, etc. through the chat window.

[0111] FIG. 13 is a diagram showing a user interface (UI) of an administrator terminal for checking scoring information for coding solutions submitted by multiple learners in a coding education system according to one embodiment of the present invention.

[0112] Referring to Figure 13, administrators can view grading information for coding solutions submitted by multiple learners. This information can include whether the solution was correct, the type of incorrect answer, memory used, the program's time to arrive at the correct answer, the language used, the code length, and the submission date and time. This information can be stored in a database, allowing administrators to view each learner's solution history and grading information.

[0113] According to embodiments of the present invention, a coding education system includes an electronic whiteboard, a learner terminal, a central server, and a coding education robot. Utilizing the coding education system, particularly in situations where multiple learners receive group education, such as elementary, middle, and high school classes or offline academies, allows for the provision of a coding curriculum tailored to each learner's level and customized coding education content. Furthermore, going beyond online coding education services, the system utilizes a coding education robot to replace insufficient coding teachers and enables efficient and effective coding education by utilizing a personal coding education robot. Accordingly, the system differentiates itself from typical online coding education methods and maximizes learner academic achievement.

[0114] Although the present invention has been described with reference to the above embodiments, it will be understood by those skilled in the art that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.

[0115] (Explanation of symbols)

[0116] 100: Central Server 110: Grading Service Department

[0117] 120: Educational Services Department 130: Learner Management Department

[0118] 200: Coding Education Robot 250: Electronic Whiteboard

[0119] 300: Learner Terminal 350: Personal Coding Education Robot

[0120] 400: Administrator terminal

Claims

1. In a coding education system where multiple learners can take personalized coding classes in the same classroom, An electronic whiteboard that displays coding problems or coding lecture videos to the above multiple learners; A plurality of learner terminals that receive coding solutions for the above coding problem from the learners; A central server including a grading service unit that grades the coding solutions submitted by each of the learners and generates grading result information for each of the learners and hint information, an education service unit that recommends the coding problems or the lecture videos, and a learner management unit that generates learning management information for each of the learners; and A coding education system including a coding education robot that provides a problem-solving hint to a learner who submitted an incorrect answer to the above coding solution, using the above grading result information and the above hint information.

2. In paragraph 1, The above grading service department A coding education system characterized in that it compares the output values and correct answers of the coding solution for the input values of at least two or more test cases, processes it as a correct answer if the output values and the correct answers are all the same, and processes it as an incorrect answer if even one is different, but determines that it is one of an expression error, a time exceeded, a memory exceeded, an output exceeded runtime error, and a compilation error, and generates the scoring information including information about this.

3. In paragraph 2, The above coding education robot For learners who submitted incorrect answers to the above coding solution, A coding education system characterized in that it provides a problem-solving hint according to the type of incorrect answer of the above expression error, time-out, memory excess, output excess runtime error, and compilation error.

4. In paragraph 3, A coding education system characterized in that the hint providing unit of the above grading server is a language model learned in a natural language processing manner using an LLM (Large Language Model), and suggests to the learner in the form of text or voice to correct the coding solution depending on the type of incorrect answer.

5. In paragraph 1, The above coding education robot is a coding education system characterized in that it sequentially provides problem-solving hints to multiple learners who submitted incorrect answers, based on the content of the incorrect answer.

6. In paragraph 1, Further comprising a personal coding education robot including multiple sensors, displays and actuators; A coding education system characterized in that the personal coding education robot operates the sensor and actuator according to the coding solution, and displays whether the coding solution is correct / incorrect or a problem-solving hint through the display of the personal coding education robot.

7. In paragraph 1, It further includes a learner management section that accumulates information on lecture videos taken by the learner and a history of problems solved by the learner, and uses this to create information on the learner's learning achievement. The above learner management department Learner account management department that manages learner login accounts and learner information; and A coding education system characterized by including a learner database that stores learners' personal information and information about their learning achievements.

8. Learner login step where multiple learners log in to their respective learner terminals; Steps to provide basic lectures and basic problems by displaying basic lecture videos and basic coding problems through an electronic blackboard; A problem-solving step in which the plurality of learners write a coding solution to the basic coding problem and input it into the learner terminal; A grading step for generating grading result information for each learner by determining whether the above coding problem solutions are correct or incorrect; A step of providing individual hints to learners who submitted incorrect answers, providing hints corresponding to the incorrect answers individually; and A coding education method including a step of providing recommended problems and recommended lectures to each learner based on the above-mentioned grading results for each learner.

9. In paragraph 8, In the above scoring step, A coding education method characterized in that the output values and correct answers of the coding solution are compared for the input values of at least two or more test cases, and if the output values and the correct answers are all the same, it is processed as a correct answer, and if even one is different, it is processed as an incorrect answer, but it is determined to be one of an expression error, a time exceeded, a memory exceeded, an output exceeded runtime error, and a compilation error, and the scoring information including information about this is generated.

10. In paragraph 9, In the above individual hint provision step, For learners who submitted incorrect answers to the above coding solution, A coding education method characterized by providing a problem-solving hint according to the type of incorrect answer of the above expression error, time-out, memory excess, output excess runtime error, and compilation error.

11. In paragraph 10, In the above individual hint provision step, A coding education method characterized by suggesting to the learner in the form of text or voice to correct the coding solution according to the type of incorrect answer of the learner, using a language model learned through a natural language processing method using an LLM (Large Language Model).

12. In paragraph 9, A coding education method characterized by further including a learning status management step for analyzing the learner's coding and algorithm problem-solving capabilities through an artificial intelligence-based model and issuing an analysis report based on learning information such as the learner's age and school personal information, course history, solved problem history, and grading results.

Citation Information

Patent Citations

  • Robot-Assisted Smart Classroom Teaching System and Method

    CN109697904B

  • Apparatus, system and method for assisting practical lectures

    KR1020130124694A

  • Two-side semicircle arch type leading pipe and structure of non-excavation type tunnel using thereof and method of constructing thereof

    KR102243586B1

  • Artificial intelligence-based education apparatus and method for it professional education

    KR102545761B1

  • KR20190011311A