KR20200103187A - Method And Apparatus for Providing Coding Educational Platform based on AI Tutor - Google Patents

Method And Apparatus for Providing Coding Educational Platform based on AI Tutor Download PDF

Info

Publication number
KR20200103187A
KR20200103187A KR1020190017411A KR20190017411A KR20200103187A KR 20200103187 A KR20200103187 A KR 20200103187A KR 1020190017411 A KR1020190017411 A KR 1020190017411A KR 20190017411 A KR20190017411 A KR 20190017411A KR 20200103187 A KR20200103187 A KR 20200103187A
Authority
KR
South Korea
Prior art keywords
coding
information
code
engine
tutor
Prior art date
Application number
KR1020190017411A
Other languages
Korean (ko)
Other versions
KR102192581B1 (en
Inventor
양영모
이광용
Original Assignee
주식회사 위즈스쿨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 위즈스쿨 filed Critical 주식회사 위즈스쿨
Priority to KR1020190017411A priority Critical patent/KR102192581B1/en
Publication of KR20200103187A publication Critical patent/KR20200103187A/en
Application granted granted Critical
Publication of KR102192581B1 publication Critical patent/KR102192581B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Abstract

Disclosed are a method and apparatus for providing a coding training platform based on an AI tutor using a compiler technology. According to the present embodiment, provided are a method and apparatus for providing a coding training platform based on an AI tutor, which output coding assignments to a learner in a chat form by using an AI tutor chatbot, receive coding information input to correspond to the coding assignments from a code editor, and generate feedback information about analysis information by using an AI technology after analyzing the coding information based on a compiler so as to reflect the generated feedback information to the coding information input by the learner in real time.

Description

컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법 및 장치{Method And Apparatus for Providing Coding Educational Platform based on AI Tutor}Method and Apparatus for Providing Coding Educational Platform based on AI Tutor}

본 실시예는 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법 및 장치에 관한 것이다. The present embodiment relates to a method and apparatus for providing an AI tutor-based coding learning platform using a compiler technology.

이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.The contents described below merely provide background information related to the present embodiment and do not constitute the prior art.

일반적으로 코딩(coding)은 컴퓨터 프로그래밍으로서, C-언어, 자바, 파이썬 등 컴퓨터 언어로 프로그램을 만드는 것을 의미한다. 코딩 교육의 대부분은 현재, 컴퓨터 및 스마트 기기에서 작동하는 소프트웨어 프로그램 중심의 교육이다. 대표적인 코딩 교육 프로그램으로서는 스크래치, 엔트리, 아두이노 등이 존재한다. In general, coding is computer programming, which means making a program in a computer language such as C-language, Java, and Python. Most of the coding education is currently focused on software programs that operate on computers and smart devices. Representative coding education programs include Scratch, Entry, and Arduino.

코딩 교육 프로그램은 학습자가 구현하고자 하는 기능을 컴퓨터에서 특정한 명령어를 사용하여 구현하도록 한다. 전술한 코딩 교육 방식은 컴퓨터 또는 스마트 기기에서만 동작하여 유아 또는 코딩 교육 입문자들이 사용하기에는 어렵다는 문제가 있다.The coding education program allows learners to implement the functions they want to implement using specific instructions in a computer. The above-described coding education method has a problem that it is difficult to use by infants or beginners in coding education because it operates only on computers or smart devices.

코딩 교육은 디지털 시대에 어울리는 창의력 사고, 컴퓨터적 사고를 기르기 위한 중심에 있다. 최근 들어, 글로벌적으로 코딩 교육이 주목받고 있으나, 일부 학습자들이 직접 조작하면서 배우는 코딩 교육 제품은 단순한 동작을 반복적으로 수행하는 정도의 움직임의 기능만 지원하므로 실제 컴퓨터적 사고 기반의 코딩 교육에는 적합하지 않은 문제가 있었다.Coding education is at the center of cultivating creative thinking and computer thinking suitable for the digital age. In recent years, coding education is attracting attention globally, but the coding education product that some learners learn while directly manipulating it supports only the function of movement to the extent that simple movements are repeatedly performed, so it is not suitable for coding education based on actual computer thinking. There was no problem.

본 실시예는 AI 튜터 챗봇을 이용하여 학습자에게 채팅 형태로 코딩 과제를 출력하며, 코드 에디터로부터 코딩 과제에 대응하여 입력되는 코딩 정보를 입력받고, 컴파일러를 기반으로 코딩 정보를 분석한 후 AI 기술을 이용하여 분석 정보에 대한 피드백정보를 생성하여 학습자가 입력한 코딩 정보에 실시간으로 반영하는 AI 튜터 기반의 코딩학습 플랫폼 제공 방법 및 장치를 제공하는 데 목적이 있다.This embodiment outputs a coding task in a chat form to a learner using an AI tutor chatbot, receives coding information input in response to the coding task from a code editor, analyzes coding information based on a compiler, and then uses AI technology. The purpose of this study is to provide a method and apparatus for providing an AI tutor-based coding learning platform that generates feedback information for analysis information by using it and reflects it in the coding information input by the learner in real time.

본 실시예의 일 측면에 의하면, AI 튜터 챗봇(AI Tutor ChatBot)에서 채팅창(Chatting Window)을 이용하여 코딩(Coding)에 관련된 특정 과제를 자연어로 출력하는 과정; 코드 에디터(Code Editor)에서 상기 채팅창과 구분되는 별도의 코드 에디터창(Code Editor Window)을 이용하여 복수의 학습자 단말기로부터 상기 특정 과제에 대응하는 코딩 입력정보를 수집하는 과정; 컴파일러(Compiler)에서 상기 코딩 입력정보를 획득하고, 상기 코딩 입력정보를 분석한 코드 분석정보를 생성하여 전달하는 과정; 및 AI 엔진에서 상기 코드 분석정보와 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성하고, 상기 교육 중간 언어(EIL)를 기반으로 피드백정보(FeedBack Information)를 추출하고, 상기 피드백정보를 실시간으로 상기 AI 튜터 챗봇 또는 상기 코드 에디터로 출력하는 과정을 포함하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법을 제공한다.According to an aspect of the present embodiment, the process of outputting a specific task related to coding in natural language using a chatting window in an AI Tutor ChatBot; Collecting coding input information corresponding to the specific task from a plurality of learner terminals using a separate code editor window separated from the chat window in a code editor; Obtaining the coding input information from a compiler, generating and transmitting code analysis information obtained by analyzing the coding input information; And the AI engine generates an educational intermediate language (EIL) based on the code analysis information and an educational content reference index (ECRI), and feedback information based on the education intermediate language (EIL). It provides a method for providing a coding learning platform, comprising the process of extracting (FeedBack Information) and outputting the feedback information to the AI tutor chatbot or the code editor in real time.

본 실시예의 다른 측면에 의하면, 채팅창(Chatting Window)을 이용하여 코딩(Coding)에 관련된 특정 과제를 자연어로 출력하는 AI 튜터 챗봇(AI Tutor ChatBot); 상기 채팅창과 구분되는 별도의 코드 에디터창(Code Editor Window)을 이용하여 복수의 학습자 단말기로부터 상기 특정 과제에 대응하는 코딩 입력정보를 수집하는 코드 에디터(Code Editor); 상기 코딩 입력정보를 획득하고, 상기 코딩 입력정보를 분석한 코드 분석정보를 생성하여 전달하는 컴파일러(Compiler); 및 상기 코드 분석정보와 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성하고, 상기 교육 중간 언어(EIL)를 기반으로 피드백정보(FeedBack Information)를 추출하고, 상기 피드백정보를 실시간으로 상기 AI 튜터 챗봇 또는 상기 코드 에디터로 출력하는 AI 엔진을 포함하는 것을 특징으로 하는 코딩학습 플랫폼 제공장치를 제공한다.According to another aspect of the present embodiment, there is provided an AI Tutor ChatBot for outputting a specific task related to coding in natural language using a chatting window; A code editor for collecting coding input information corresponding to the specific task from a plurality of learner terminals using a separate code editor window separated from the chat window; A compiler that obtains the coding input information and generates and transmits the code analysis information obtained by analyzing the coding input information; And generating an educational intermediate language (EIL) based on the code analysis information and an educational content reference index (ECRI), and feedback information (FeedBack Information) based on the educational intermediate language (EIL). ) And outputting the feedback information to the AI tutor chatbot or the code editor in real time.

이상에서 설명한 바와 같이 본 실시예에 의하면, AI 튜터 챗봇을 이용하여 학습자에게 채팅 형태로 코딩 과제를 출력하며, 코드 에디터로부터 코딩 과제에 대응하여 입력되는 코딩 정보를 입력받고, 컴파일러를 기반으로 코딩 정보를 분석한 후 AI 기술을 이용하여 분석 정보에 대한 피드백정보를 생성하여 학습자가 입력한 코딩 정보에 실시간으로 반영하는 효과가 있다.As described above, according to this embodiment, a coding task is output to the learner in a chat form using an AI tutor chatbot, coding information input in response to the coding task is input from the code editor, and coding information based on the compiler. After analyzing the data, the feedback information for the analysis information is generated using AI technology and reflected in the coding information input by the learner in real time.

도 1은 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공장치를 개략적으로 나타낸 블럭 구성도이다.
도 2a,2b,2c,2d,2e는 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 예시를 나타낸 도면이다.
도 3은 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법을 설명하기 위한 순서도이다.
1 is a block diagram schematically illustrating an apparatus for providing an AI tutor-based coding learning platform using a compiler technology according to the present embodiment.
2a, 2b, 2c, 2d, and 2e are diagrams showing examples of AI tutor-based coding learning using the compiler technology according to the present embodiment.
3 is a flowchart illustrating a method of providing an AI tutor-based coding learning platform using a compiler technology according to the present embodiment.

이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, this embodiment will be described in detail with reference to the accompanying drawings.

도 1은 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공장치를 개략적으로 나타낸 블럭 구성도이다.1 is a block diagram schematically illustrating an apparatus for providing an AI tutor-based coding learning platform using a compiler technology according to the present embodiment.

본 실시예에 따른 코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110), 컴파일러(120), AI 엔진(130)을 포함한다. 코딩학습 플랫폼 제공장치(100)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.The coding learning platform providing apparatus 100 according to the present embodiment includes an AI tutor chatbot 110, a compiler 120, and an AI engine 130. Components included in the apparatus 100 for providing a coding learning platform are not necessarily limited thereto.

코딩학습 플랫폼 제공장치(100)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.Each component included in the apparatus 100 for providing a coding learning platform is connected to a communication path connecting a software module or a hardware module inside the device, so that they can operate organically with each other. These components communicate using one or more communication buses or signal lines.

도 1에 도시된 코딩학습 플랫폼 제공장치(100)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.Each component of the coding learning platform providing apparatus 100 shown in FIG. 1 refers to a unit that processes at least one function or operation, and may be implemented as a software module, a hardware module, or a combination of software and hardware. .

AI 튜터 챗봇(110)은 채팅을 위주로 학습자를 교육한다. AI 튜터 챗봇(110)은 기 설정된 채팅창(Chatting Window)(210)에 코딩(Coding)에 관련된 특정 과제를 출력한다. AI 튜터 챗봇(110)은 학습자 단말기가 기 설정된 채팅창(210)으로 텍스트로 질의하는 경우, 텍스트에 포함된 자연어를 AI 엔진(130)으로 전송하여, AI 엔진(130)으로부터 자연어를 인지하여 질의에 대응하는 답변을 수신하여 채팅창(210)에 출력한다.The AI tutor chatbot 110 educates learners based on chat. The AI tutor chatbot 110 outputs a specific task related to coding in a preset chatting window 210. The AI tutor chatbot 110 transmits the natural language included in the text to the AI engine 130 when the learner's terminal makes a text query through the preset chat window 210, and recognizes the natural language from the AI engine 130 and makes a query. A response corresponding to is received and output to the chat window 210.

AI 튜터 챗봇(110)은 기 설정된 채팅창(210) 상에 기 설정된 쳅터별로 수업에 대응하도록 코딩에 관련된 특정 과제를 출력한다. AI 튜터 챗봇(110)은 연동하는 복수의 학습자 단말기로 특정 과제를 출력한다. The AI tutor chatbot 110 outputs a specific task related to coding to correspond to a class for each preset chapter on the preset chat window 210. The AI tutor chatbot 110 outputs a specific task to a plurality of linked learner terminals.

AI 튜터 챗봇(110)은 학습자와 상호작용(Interaction)하는 역할을 담당한다. AI 튜터 챗봇(110)은 학습자 단말기로부터 입력된 자연어를 AI 엔진(130) 내의 텐서플로우 딥 러닝 엔진(TensorFlow Deep Learning Engine)(134)으로 전달한다.The AI tutor chatbot 110 plays a role of interacting with the learner. The AI tutor chatbot 110 delivers the natural language input from the learner's terminal to the TensorFlow Deep Learning Engine 134 in the AI engine 130.

본 실시예에 따른 AI 튜터 챗봇(110)은 기 설정된 채팅창(210)을 이용하여 코딩(Coding)에 관련된 특정 과제를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 기 설정된 채팅창(210)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 채팅정보를 수집한다. AI 튜터 챗봇(110)은 특정 과제에 대한 가이드를 추가로 출력하여 복수의 학습자 단말기로 전달한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별로 수업에 대응하도록 코딩에 관련된 특정 과제를 학습자 단말기로 출력한다.The AI tutor chatbot 110 according to the present embodiment outputs a specific task related to coding to the learner terminal using a preset chat window 210. The AI tutor chatbot 110 collects chat information corresponding to a specific task from a plurality of learner terminals using a preset chat window 210. The AI tutor chatbot 110 additionally outputs a guide for a specific task and transmits it to a plurality of learner terminals. The AI tutor chatbot 110 outputs a specific task related to coding to the learner's terminal so as to respond to a lesson for each preset chapter.

AI 튜터 챗봇(110)은 채팅창(210)을 이용하여 코딩 교육 컨텐츠를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 코딩 교육 컨텐츠의 기 설정된 쳅터별 교육 과정을 가이드 정보를 출력한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별 교육 과정 중 기 설정된 시점이 도래하는 경우, 채팅창(210)을 이용하여 해당 쳅터에 따른 특정 과제가 출력되도록 한다.The AI tutor chatbot 110 outputs the coding education content to the learner's terminal using the chat window 210. The AI tutor chatbot 110 outputs guide information for a predetermined chapter-specific training course of coding education content. The AI tutor chatbot 110 uses the chat window 210 to output a specific task according to the corresponding chapter when a preset point of time arrives during a preset chapter-specific training course.

코드 에디터(122)는 학습자 단말기가 입력하는 코딩 입력정보를 수집한다. 코드 에디터(122)는 채팅창(210)과 구분되는 별도의 코드 에디터창(Code Editor Window)(220)으로 학습자 단말기가 입력하는 코딩 입력정보를 실시간으로 수집한다.The code editor 122 collects coding input information input by the learner's terminal. The code editor 122 is a separate code editor window 220 that is separated from the chat window 210 and collects coding input information input by the learner's terminal in real time.

코드 에디터(122)는 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 코딩 입력정보(자연어 + 컴파일러에서 인식가능한 코드정보)를 입력받는다. 코드 에디터(122)는 학습자 단말기로부터 입력된 코드를 AI 엔진(130) 내의 텐서플로우 딥 러닝 엔진(134)으로 전달한다.The code editor 122 receives coding input information (natural language + code information recognizable by a compiler) corresponding to a specific task from a plurality of learner terminals using the code editor window 220. The code editor 122 transfers the code input from the learner terminal to the TensorFlow deep learning engine 134 in the AI engine 130.

코드 에디터(122)는 특정 과제에 대한 코딩이 완료되기 전에 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 코딩중 입력정보를 수집한다. 코드 에디터(122)는 특정 과제에 대한 코딩이 완료된 후 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 코딩완료 입력정보를 수집한다.The code editor 122 collects input information during coding from a plurality of learner terminals using the code editor window 220 before coding for a specific task is completed. The code editor 122 collects coding completion input information from a plurality of learner terminals using the code editor window 220 after coding for a specific task is completed.

컴파일러(120)는 파이썬 파서(Python Parser), 자바스크립트 파서(JavaScript Parser)를 포함한다. 컴파일러(120)는 파이썬(Python), 자바스크립트(JavaScript) 등의 복수의 언어를 동시 지원하는 컴파일러를 의미한다. 컴파일러(120)는 복수의 언어를 지원하여 Mozilla AST(Abstract Syntax Tree) 포멧의 AST를 최종 생성한다.The compiler 120 includes a Python parser and a JavaScript parser. The compiler 120 refers to a compiler that simultaneously supports a plurality of languages such as Python and JavaScript. The compiler 120 supports a plurality of languages to finally generate an AST in the Mozilla AST (Abstract Syntax Tree) format.

컴파일러(120)는 특정 학습자 단말기가 특정 과제에 대한 코딩을 수행할 때, 특정 학습자 단말기로부터 입력되는 코딩 입력정보를 실시간으로 인지한다. 컴파일러(120)는 특정 학습자 단말기로부터 입력되는 코딩 입력정보를 실시간으로 분석한다.When a specific learner terminal performs coding for a specific task, the compiler 120 recognizes coding input information input from a specific learner terminal in real time. The compiler 120 analyzes coding input information input from a specific learner terminal in real time.

다시 말해, 컴파일러(120)는 학습자가 코딩 내역을 특정 학습자 단말기를 이용하여 타이핑할 때마다, 해당 내역을 분석하여 작업 내역, 코딩 시간, 발생 에러, 등을 분석하여 코드 분석 정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.In other words, whenever a learner types coding details using a specific learner's terminal, the compiler 120 analyzes the details and analyzes the work details, coding times, errors, etc. to generate code analysis information. The compiler 120 delivers the code analysis information to the AI engine 130.

본 실시예에 따른 컴파일러(120)는 코드 에디터(122)로부터 코딩 입력정보를 획득한다. 컴파일러(120)는 코드 에디터(122)로부터 획득한 코딩 입력정보를 분석한 코드 분석정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.The compiler 120 according to this embodiment obtains coding input information from the code editor 122. The compiler 120 generates code analysis information obtained by analyzing the coding input information obtained from the code editor 122. The compiler 120 delivers the code analysis information to the AI engine 130.

컴파일러(120)는 코딩 입력정보에 포함된 코드정보를 추출한다. 컴파일러(120)는 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 중간 컴파일링한 코드 분석정보를 생성한다.The compiler 120 extracts code information included in the coding input information. The compiler 120 generates intermediate compiled code analysis information by analyzing in real time at least one or more of a code grammar error, a code writing speed, a selection function, and a variable bonding property for code information.

컴파일러(120)는 코딩 입력정보가 입력될 때마다 코딩 입력정보에 포함된 자연어(Natural Language), 코드정보에 포함된 (컴파일러에서 인식가능한) 신텍스 코드정보(Syntax Code)를 필수적으로 분석하여 코드 분석정보를 생성한다.Whenever coding input information is input, the compiler 120 essentially analyzes the natural language included in the coding input information and the syntax code (recognizable by the compiler) included in the code information to analyze the code. Generate information.

컴파일러(120)는 코딩 입력정보가 입력될 때마다 자연어와 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 코드 분석정보를 생성한다.The compiler 120 analyzes the natural language and syntax code information each time the coding input information is input, and analyzes the code by selectively analyzing at least one or more of code details, work details, input delay time, coding time, input patterns, and occurrence errors. Generate information.

컴파일러(120)는 자연어 처리와 서로 다른 루트(컴파일러)에 따라 신텍스 코드정보에 대응하는 데이터를 확인한다. The compiler 120 checks data corresponding to the syntax code information according to different routes (compilers) from natural language processing.

컴파일러(120)는 특정 과제에 대한 코딩이 완료되기 전에 코드 에디터(122)로부터 코딩중 입력정보를 획득하고, 코딩중 입력정보를 분석하여 코딩중 분석정보를 생성하여 AI 엔진(130)으로 전달한다. 컴파일러(120)는 특정 과제에 대한 코딩이 완료된 후 코드 에디터(122)로부터 코딩완료 입력정보를 획득하고, 코딩완료 입력정보를 분석한 코딩완료 분석정보를 생성하여 AI 엔진(130)으로 전달한다.The compiler 120 obtains the input information during coding from the code editor 122 before coding for a specific task is completed, analyzes the input information during coding, generates analysis information during coding, and transmits it to the AI engine 130. . The compiler 120 acquires the coding completion input information from the code editor 122 after the coding for a specific task is completed, generates coding completion analysis information obtained by analyzing the coding completion input information, and transmits it to the AI engine 130.

AI 엔진(130)은 컴파일러(120)에서 인식가능한 코드정보를 분석하여 피드백을 생성한다.The AI engine 130 analyzes code information recognizable by the compiler 120 to generate feedback.

AI 엔진(130)은 코딩 입력정보, 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출하고, 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다. AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다. 예컨대, AI 엔진(130)은 코딩을 분석해서 미들언어(중간코드)를 만들어서 코드의 문제를 분석하여 최적화하며, 피드백정보를 반영하는 경우 코딩 속도가 약 30% 향상되도록 할 수 있다.The AI engine 130 extracts feedback information based on coding input information and analysis information, and outputs the feedback information to the AI tutor chatbot 110 or the code editor 122 in real time. The AI engine 130 converts the feedback information into a format suitable for either the AI tutor chatbot 110 or the code editor 122 and transmits it. For example, the AI engine 130 analyzes the coding to create a middle language (intermediate code) to analyze and optimize the problem of the code, and when the feedback information is reflected, the coding speed may be improved by about 30%.

AI 엔진(130)은 코드 분석정보를 기반으로 피드백정보를 추출한다. AI 엔진(130)은 코드 분석정보에 대응하는 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자가 코딩 정보를 입력할 때마다, 자신의 코딩 내역에 대해 실시간으로 피드백정보를 받아볼 수 있도록 한다.The AI engine 130 extracts feedback information based on the code analysis information. The AI engine 130 outputs feedback information corresponding to the code analysis information to the AI tutor chatbot 110 or the code editor 122 in real time, so that whenever a learner inputs coding information, Make sure to receive feedback information.

AI 엔진(130)은 학습자가 입력한 코딩 입력정보에 문제가 있다고 판단하는 경우, 학습자에게 도움(텍스트, 음성), 비디오)이 되도록 하는 피드백정보를 생성한다. AI 엔진(130)은 AI 튜터 챗봇(110)에서 출력한 기 설정된 쳅터별로 수업에 대응하도록 코딩에 관련된 특정 과제에 대한 코딩이 완료되면, 학습자가 코드 에디터창(220)에 입력한 코딩완료 입력정보를 평가한 후 학습자 등급, 평가, 피드백을 수행한다.When the AI engine 130 determines that there is a problem with the coding input information input by the learner, it generates feedback information to help the learner (text, voice), video). The AI engine 130, when coding for a specific task related to coding is completed to correspond to a class for each preset chapter output from the AI tutor chatbot 110, the learner inputs the coding completion input information into the code editor window 220 After evaluating, perform learner grade, evaluation, and feedback.

AI 엔진(130)은 AST가 실행될 수 있는 샌드박스 런타임(Sandbox Runtime)을 진행하여 에러(Error) 또는 추천정보를 코드 에디터로 상세 피드백(Feedback)을 진행한다. AI 엔진(130)은 AST Generation을 완료되면, 코드 분석 프레임워크(Code Analysis Framework)(136)를 이용하여 AST를 분석하고 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성한다. AI 엔진(130)은 프레임워크(Framework)가 생성되는 중간 언어로서 텐서플로우 딥 러닝(TensorFlow Deep Learning)에 사용되는 데이터 포멧(Data format)을 이용한다. AI 엔진(130)은 교육특성에 맞는 분석 데이터를 생성한다.The AI engine 130 proceeds with a sandbox runtime in which AST can be executed and provides detailed feedback of an error or recommendation information to the code editor. When the AST Generation is completed, the AI engine 130 analyzes the AST using the Code Analysis Framework 136, and is based on the Educational Content Reference Index (ECRI). EIL: Educational Intermediate Language). The AI engine 130 uses a data format used for TensorFlow Deep Learning as an intermediate language in which a framework is generated. The AI engine 130 generates analysis data suitable for educational characteristics.

AI 엔진(130)은 텐서플로우(TensorFlow) 기반 딥 러닝 엔진(Deep Learning Engine)에서 프로그래밍 언어 이해(Programming Language Understanding) 기술을 제공한다. AI 엔진(130)은 오픈소스(Open Source) 기반의 자연어 프레임(Natural Language framework)를 이용하여, 코딩교육 패턴(Pattern)을 분석한 후 분석 데이터를 결합한다.The AI engine 130 provides a programming language understanding technology in a TensorFlow-based deep learning engine. The AI engine 130 analyzes a coding education pattern using an open source-based natural language framework and then combines the analysis data.

AI 엔진(130)은 코딩관련 정보가 입력되면 해당 코드에 대한 교육용 컨텐츠 추천을 담당하는 딥 러닝(Deep Learning) 알고리즘을 제공한다. AI 엔진(130)은 추천된 코딩교육 컨텐츠와 사용자의 인터렉션(Interaction)을 기반으로 하는 딥 러닝 훈련 프레임워크(Deep Learning Training Framework)를 제공한다.When coding-related information is input, the AI engine 130 provides a deep learning algorithm that recommends educational content for the code. The AI engine 130 provides a deep learning training framework based on recommended coding education content and user interaction.

AI 엔진(130)은 코딩관련 정보, 코딩 교육 컨텐츠 정보를 각 구성요소(component)에서 중계 역할을 하는 적응적 컨텐츠 제공부(Adaptive Content Provider)(132)를 포함한다.The AI engine 130 includes an adaptive content provider 132 that relays coding-related information and coding education content information from each component.

적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 샌드박스(Sandbox) 또는 텐서플로우(TensorFlow)로 전달한다. 샌드박스(Sandbox) 또는 텐서플로우(TensorFlow)는 AST를 분석한 후 피드백을 학습자 단말기로 전달하거나 샌드박스 런타임(Sandbox Runtime)에서 실행 결과를 코드 에디터(Code Editor)로 반환하는 등의 데이터 플로우(Data Flow)를 제어한다.The adaptive content providing unit 132 delivers the AST processed by the compiler 120 to a sandbox or TensorFlow. Sandbox or TensorFlow analyzes AST and then delivers the feedback to the learner's terminal or returns the execution result to the code editor from the Sandbox Runtime. Flow).

텐서플로우(TensorFlow)는 자연언 또는 코드를 분석하여 피드백정보를 생성한다. 피드백정보는 AI 튜터 챗봇(110)에서 교육컨텐츠 관련 대화로 학습자 단말기로 출력된다.TensorFlow analyzes natural language or code to generate feedback information. Feedback information is output from the AI tutor chatbot 110 to the learner's terminal as a conversation related to educational content.

텐서플로우 딥 러닝 엔진(134)은 딥 러닝 피드백(Deep Learning feedback)을 프로세싱(processing)하여 학습자 단말기로 피드백한다. 피드백 컨텐츠(Feedback contents)는 코딩교육관련 동영상, API 관련 설명, Tool Tip 등 다양한 정보를 포함한다.The TensorFlow deep learning engine 134 processes deep learning feedback and feeds it back to the learner terminal. Feedback contents include various information such as coding education related videos, API related explanations, and tool tips.

본 실시예에 따른 AI 엔진(130)은 코드 에디터(122)로부터 수신한 코딩 입력정보, 코드 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출한다. AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다. AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The AI engine 130 according to the present embodiment extracts feedback information based on coding input information and code analysis information received from the code editor 122. The AI engine 130 outputs the feedback information to the AI tutor chatbot 110 or the code editor 122 in real time. The AI engine 130 converts the feedback information into a format suitable for either the AI tutor chatbot 110 or the code editor 122 and transmits it.

AI 엔진(130)은 기 설정된 루트(자연어 인터페이스(Natural Language Interface), 프로그래밍 인어 인터페이스(Programming Language Interface)에 따라 자연어를 해석하여 시멘틱 데이터(Semantic Data)를 생성한다.The AI engine 130 generates semantic data by analyzing natural language according to a preset route (Natural Language Interface) and Programming Language Interface.

AI 엔진(130)은 시멘틱 데이터와 신텍스 코드정보에 대응하는 데이터를 기반으로 피드백정보를 추출한다. 피드백정보는 텍스트, 비디오, 음성 중 어느 하나의 형태로 채팅창(210)을 이용하여 출력된다.The AI engine 130 extracts feedback information based on semantic data and data corresponding to the syntax code information. The feedback information is output using the chat window 210 in any one of text, video, and voice.

AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자 단말기에서 자신이 입력한 코딩 입력정보에 대응하는 피드백정보를 실시간으로 받아볼 수 있도록 한다.The AI engine 130 outputs the feedback information in real time to the AI tutor chatbot 110 or the code editor 122 so that the learner's terminal can receive the feedback information corresponding to the coding input information inputted by the learner in real time.

AI 엔진(130)은 특정 과제에 대한 코딩이 완료되기 전에 코딩중 입력정보, 코딩중 분석정보를 기반으로 코딩중 피드백정보를 추출하여 학습자 단말기로 전달한다. AI 엔진(130)은 특정 과제에 대한 코딩이 완료되기 전에 코딩중 입력정보, 코딩중 분석정보를 분석하여 불필요한 코드가 존재한다고 판단하거나, 최적화가 필요하다고 판단하거나, 코드에 문제가 있다고 판단한 경우, 텍스트, 음성, 비디오 중 적어도 하나 이상의 형태의 코딩 교육 컨텐츠(Coding Educational Content)를 생성한다. AI 엔진(130)은 코딩 교육 컨텐츠를 포함하는 코딩중 피드백정보를 추출한다.The AI engine 130 extracts feedback information during coding based on input information during coding and analysis information during coding before coding for a specific task is completed and transmits it to the learner's terminal. The AI engine 130 analyzes input information during coding and analysis information during coding before coding for a specific task is completed, and determines that unnecessary code exists, determines that optimization is necessary, or determines that there is a problem with the code, Generate coding educational content in the form of at least one of text, voice, and video. The AI engine 130 extracts feedback information during coding including coding education content.

AI 엔진(130)은 특정 과제에 대한 코딩이 완료된 후 코딩완료 입력정보, 코딩완료 분석정보를 기반으로 코딩완료 피드백정보를 추출하여 학습자 단말기로 전달한다. AI 엔진(130)은 특정 과제에 대한 코딩이 완료된 후 코딩완료 입력정보, 코딩완료 분석정보를 분석하여 특정 과제를 평가하여 등급을 부여하고 최종 평가한 정보를 포함하는 코딩완료 피드백정보를 추출한다.After the coding for a specific task is completed, the AI engine 130 extracts the coding completion feedback information based on the coding completion input information and the coding completion analysis information and transmits it to the learner's terminal. After the coding for a specific task is completed, the AI engine 130 analyzes the coding completion input information and the coding completion analysis information, evaluates the specific task, assigns a grade, and extracts coding completion feedback information including the final evaluated information.

AI 엔진(130)은 적응적 컨텐츠 제공부(132)를 이용하여 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 AI 튜터 챗봇(110)으로 하여금 피드백정보가 채팅창 상에 도움말, 함수의 사용양식 제시, 모범 답안 중 적어도 하나 이상의 데이터가 자연어 기반의 텍스트, 사운드, 동영상 중 적어도 하나 이상의 형태로 출력되도록 한다.The AI engine 130 adaptively converts the data format based on the information included in the feedback information using the adaptive content providing unit 132 to allow the AI tutor chatbot 110 to provide the feedback information on the chat window. , At least one of the presentation of the function usage form and the best answer is to be output in at least one of natural language-based text, sound, and video.

AI 엔진(130)은 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 코드 에디터(122)로 하여금 피드백정보가 코드 에디터창(220) 상에 문법 체크를 적용하여 코딩 입력정보를 수정하는 형태로 출력되도록 한다.The AI engine 130 adaptively converts the data format based on the information included in the feedback information to cause the code editor 122 to apply the feedback information to the code editor window 220 by applying a grammar check to input coding information. It should be output in a modified form

도 2a,2b,2c,2d,2e,2f는 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 예시를 나타낸 도면이다.2a, 2b, 2c, 2d, 2e, and 2f are diagrams showing examples of AI tutor-based coding learning using the compiler technology according to the present embodiment.

본 실시예에 따른 코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110)을 이용하여 학습자를 교육한다.The apparatus 100 for providing a coding learning platform according to the present embodiment educates learners using the AI tutor chatbot 110.

코딩학습 플랫폼 제공장치(100)는 컴파일러를 기반으로 실시간 학습자 코드를 분석 알고리즘을 제공한다. 코딩학습 플랫폼 제공장치(100)는 코딩 교육 학습 플랫폼과 연동하여 인공지능 튜터를 학습자 단말기로 제공한다. 코딩학습 플랫폼 제공장치(100)는 학습자 단말기를 조작하여 학습자가 타이핑하는 코드와 교육용 콘텐츠 실시간으로 연동하여 맞춤형 교육 컨텐츠를 학습자 단말기로 제공한다. 코딩학습 플랫폼 제공장치(100)는 학습자 단말기로부터 입력되는 코드를 확인하기 위해 멀티프로그래밍 언어를 지원하는 컴파일러 코드를 분석하는 툴체인을 이용한다.The coding learning platform providing apparatus 100 provides an analysis algorithm for real-time learner codes based on a compiler. The apparatus 100 for providing a coding learning platform provides an artificial intelligence tutor to a learner's terminal in connection with a coding education learning platform. The coding learning platform providing apparatus 100 provides customized educational content to the learner terminal by operating the learner's terminal and interworking with the code typed by the learner and educational content in real time. The coding learning platform providing apparatus 100 uses a tool chain that analyzes a compiler code supporting a multi-programming language in order to check a code input from a learner's terminal.

코딩학습 플랫폼 제공장치(100)는 챗봇을 이용하여 학습자 단말기로 특정 과제를 출력하면, 학습자는 챗봇의 가이드에 따라 코딩을 시작한다. 코딩학습 플랫폼 제공장치(100)는 컴파일러(120)를 이용하여 코드 에디터(122)로 입력되는 코딩 입력정보를 수집한다. 코딩학습 플랫폼 제공장치(100)는 코딩 입력정보를 기초로 분석한 분석정보(타이핑된 정보 + 지연시간)를 생성한다. 코딩학습 플랫폼 제공장치(100)는 컴파일러(120)가 코딩 입력정보, 코딩 입력정보에 포함된 자연어, 코딩 입력정보에 대한 분석정보를 AI 엔진(130)으로 전달한다. 코딩학습 플랫폼 제공장치(100)는 코딩 입력정보, 자연어, 분석정보를 기반으로 판단하여 피드백정보를 생성하여 학습자 단말기로 전달한다.When the coding learning platform providing apparatus 100 outputs a specific task to a learner's terminal using a chatbot, the learner starts coding according to the guide of the chatbot. The apparatus 100 for providing a coding learning platform collects coding input information input to the code editor 122 using the compiler 120. The coding learning platform providing apparatus 100 generates analysis information (typed information + delay time) analyzed based on the coding input information. The apparatus 100 for providing a coding learning platform transmits the coding input information, the natural language included in the coding input information, and the analysis information on the coding input information to the AI engine 130 by the compiler 120. The coding learning platform providing apparatus 100 determines based on coding input information, natural language, and analysis information, generates feedback information, and delivers it to the learner's terminal.

코딩학습 플랫폼 제공장치(100)는 자연어 해석 및 분석하고 컴파일러로부터 입력되는 데이터를 기반으로 서로 다른 루트를 따라가서 처리를 수행한다. 코딩학습 플랫폼 제공장치(100)는 사용자의 키보드, 음성 이외에의 소프트웨어, 프로그램으로부터 데이터를 받아서 반영한다.The coding learning platform providing apparatus 100 analyzes and analyzes natural language, and performs processing by following different routes based on data input from the compiler. The coding learning platform providing apparatus 100 receives and reflects data from software and programs other than the user's keyboard and voice.

코딩학습 플랫폼 제공장치(100)는 처리 결과는 채팅창(210)을 이용하여 출력한다. 코딩학습 플랫폼 제공장치(100)는 동일한 채팅창(210)을 이용하여 처리 결과를 출력하지만, 자연어 처리와 컴파일러로부터 입력되는 데이터의 처리 루트는 서로 상이하다.The coding learning platform providing apparatus 100 outputs the processing result using the chat window 210. The coding learning platform providing apparatus 100 outputs the processing result using the same chat window 210, but the natural language processing and the processing route of the data input from the compiler are different from each other.

도 2a에 도시된 바와 같이, 컴파일러(120)는 파이썬(Python), 자바스크립트(JavaScript) 등의 복수의 언어를 동시에 지원한다. 컴파일러(120)는 파이썬(Python), 자바스크립트(JavaScript) 등의 복수의 언어를 동시 지원하는 컴파일러를 포함한다. 컴파일러(120)는 입력된 데이터를 분석하여 Mozilla AST 포켓의 AST를 최종 생성할 수 있다. 컴파일러(120)는 AST가 실행할 수 있는 Sandbox Runtime을 포함한다. 컴파일러(120)는 Code Error 또는 피드백정보를 코드 에디터(122)로 전송한다.As shown in FIG. 2A, the compiler 120 simultaneously supports a plurality of languages such as Python and JavaScript. The compiler 120 includes a compiler that simultaneously supports a plurality of languages such as Python and JavaScript. The compiler 120 may finally generate an AST of the Mozilla AST pocket by analyzing the input data. The compiler 120 includes a Sandbox Runtime that AST can execute. The compiler 120 transmits the code error or feedback information to the code editor 122.

컴파일러(120)는 특정 학습자 단말기가 특정 과제에 대한 코딩을 수행할 때, 코드 에디터(122)로부터 입력되는 코딩 입력정보를 실시간으로 인지한다. 컴파일러(120)는 코드 에디터(122)로부터 입력되는 코딩 입력정보를 실시간으로 분석한다. 다시 말해, 컴파일러(120)는 학습자가 코딩 내역을 코드 에디터(122)를 이용하여 타이핑할 때마다, 해당 내역을 분석하여 작업 내역, 코딩 시간, 발생 에러, 등을 분석하여 코드 분석 정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.When a specific learner terminal performs coding for a specific task, the compiler 120 recognizes coding input information input from the code editor 122 in real time. The compiler 120 analyzes the coding input information input from the code editor 122 in real time. In other words, whenever a learner types coding details using the code editor 122, the compiler 120 analyzes the details and analyzes the work details, coding time, errors, etc. to generate code analysis information. . The compiler 120 delivers the code analysis information to the AI engine 130.

도 2b에 도시된 바와 같이, 코드 분석 프레임워크(136)는 컴파일러(120)로부터 수신된 AST를 분석하고 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성한다. As shown in FIG. 2B, the code analysis framework 136 analyzes the AST received from the compiler 120, and based on the Educational Content Reference Index (ECRI), the code analysis framework 136 analyzes the educational intermediate language (EIL). Language).

코드 분석 프레임워크(136)는 교육 중간 언어(EIL)를 생성할 때, 텐서플로우 딥 러닝(TensorFlow Deep Learning)에 이용되는 데이터 포멧 요구사항을 충족하도록 하는 교육 중간 언어(EIL)를 생성한다. 다시 말해, 컴파일러(120)에서 AST 생성을 완료하면, 코드 분석 프레임워크(136)는 컴파일러(120)로부터 AST를 수신한다. When the code analysis framework 136 generates an education intermediate language (EIL), it generates an education intermediate language (EIL) that meets the data format requirements used for TensorFlow Deep Learning. In other words, when the compiler 120 completes the AST generation, the code analysis framework 136 receives the AST from the compiler 120.

코드 분석 프레임워크(136)는 Content Context, Related Content Reference를 포함하는 교육용 컨텐츠 참조 인덱스(ECRI)를 이용하여 AST(Abstract Syntax Tree)를 분석하여 AST, Context, User Activity를 포함하는 교육 중간 언어(EIL)를 생성한다. 코드 분석 프레임워크(136)는 교육 중간 언어(EIL)를 생성할 때, 텐서플로우 딥 러닝(TensorFlow Deep Learning)에 사용되는 데이터 포멧(Data format)을 이용한다. The code analysis framework 136 analyzes AST (Abstract Syntax Tree) using an educational content reference index (ECRI) including Content Context and Related Content Reference, and is an educational intermediate language (EIL) including AST, Context, and User Activity. ). The code analysis framework 136 uses a data format used for TensorFlow Deep Learning when generating an educational intermediate language (EIL).

도 2c에 도시된 바와 같이, 텐서플로우 딥 러닝 엔진(134)은 오픈 소스(Open Source) 기반의 자연어 프레임워크(Natural Language framework)을 이용하여, 코딩 교육 패턴을 분석한다. 텐서플로우 딥 러닝 엔진(134)은 코딩 교육 패턴을 기반으로 하는 분석 데이터를 이용하여 코딩 관련 정보가 입력되면 해당 코드에 대한 교육용 컨텐츠를 생성하여 학습자 단말기로 추천한다. 텐서플로우 딥 러닝 엔진(134)은 추천된 코딩교육 컨텐츠와 사용자의 인터랙션을 기반으로 하는 딥 러닝 훈련 프레임워크를 포함한다.As shown in FIG. 2C, the TensorFlow deep learning engine 134 analyzes a coding education pattern using an open source-based natural language framework. The TensorFlow deep learning engine 134 generates educational content for the code and recommends it to a learner's terminal when coding-related information is input using analysis data based on a coding education pattern. The TensorFlow deep learning engine 134 includes a deep learning training framework based on user interaction with recommended coding education content.

텐서플로우 딥 러닝 엔진(134)은 사용자 코드(User Code)에 대한 Error Count, Error Type, Coding Time를 포함하는 AST, Content Context, Related Content Reference를 포함하는 교육용 컨텐츠 참조 인덱스(ECRI)를 입력(Input)한 후 텐서플러우(TensorFlow)로 복수의 모델을 생성하여 딥러닝을 수행하여 예측(Prediction)한 추천 컨텐츠(Recommended Contents)를 생성한다. 텐서플로우 딥 러닝 엔진(134)은 추천 컨텐츠를 학습 단말기로 전송한다.The TensorFlow deep learning engine 134 inputs an AST including Error Count, Error Type, and Coding Time for User Code, Content Context, and Educational Content Reference Index (ECRI) including Related Content Reference. ), and then generate a plurality of models using TensorFlow to perform deep learning to generate Predictioned Recommended Contents. The TensorFlow deep learning engine 134 transmits the recommended content to the learning terminal.

텐서플로우 딥 러닝 엔진(134)은 추천 컨텐츠를 인다이렉션 피드백(Indirect Feedback)으로 사용자 코드(User Code)에 대한 Error Count, Error Type, Coding Time를 포함하는 AST에 반영하고, 다이렉션 피드백(direct Feedback)으로 텐서플러우(TensorFlow)에 변영하여 딥러닝에 이용한다.The TensorFlow deep learning engine 134 reflects the recommended content in the AST including the Error Count, Error Type, and Coding Time for the User Code as indirect feedback, and direct feedback. ) To TensorFlow and use it for deep learning.

도 2d에 도시된 바와 같이, 적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 Sandbox 또는 TensorFlow로 전달한다. 적응적 컨텐츠 제공부(132)는 Sandbox Runtime에서 실행한 결과를 코드 에디터(122)로 반환한다. 적응적 컨텐츠 제공부(132)는 데이터 흐름(Data Flow)을 제어하는 역할을 담당한다. 적응적 컨텐츠 제공부(132)는 TensorFlow에서 자연어 또는 코드 분석으로 피드백된 정보를 채팅창(210) 또는 코드 에디터창(220)에 출력되도록 하는 인터페이스 역할을 수행한다.As shown in FIG. 2D, the adaptive content providing unit 132 delivers the AST processed by the compiler 120 to Sandbox or TensorFlow. The adaptive content providing unit 132 returns the result of execution in the sandbox runtime to the code editor 122. The adaptive content providing unit 132 plays a role of controlling data flow. The adaptive content providing unit 132 serves as an interface for outputting information fed back from TensorFlow through natural language or code analysis to the chat window 210 or the code editor window 220.

적응적 컨텐츠 제공부(132)는 코딩관련 정보, 코딩 교육 컨텐츠 정보를 각 AI 튜터 챗봇(110)과 컴파일러(120) 간에 중계 역할을 수행한다. 적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 AI 엔진(130) 내의 Sandbox 또는 TensorFlow로 중계한다. 적응적 컨텐츠 제공부(132)는 AI 엔진(130) 내의 TensorFlow에서 분석한 피드백정보를 학습자 단말기로 전달하거나 AI 엔진(130) 내의 Sandbox Runtime에서 실행한 결과를 코드 에디터(122)로 중계한다.The adaptive content providing unit 132 relays coding-related information and coding education content information between the AI tutor chatbot 110 and the compiler 120. The adaptive content provider 132 relays the AST processed by the compiler 120 to a sandbox or TensorFlow in the AI engine 130. The adaptive content provider 132 delivers the feedback information analyzed by TensorFlow in the AI engine 130 to the learner's terminal or relays the result of execution in the Sandbox Runtime in the AI engine 130 to the code editor 122.

적응적 컨텐츠 제공부(132)는 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The adaptive content providing unit 132 converts the feedback information into a format suitable for either the AI tutor chatbot 110 or the code editor 122 and transmits it.

적응적 컨텐츠 제공부(132)는 AI 튜터 챗봇(110)과 연동하여 학습자 단말기가 입력하는 채팅 정보를 수신하여 텐서플로우 딥 러닝 엔진(134)으로 전달하고, 텐서플로우 딥 러닝 엔진(134)으로부터 수신한 채팅 정보에 대응한 채팅 답변 정보를 수신한 정보를 채팅창(210)으로 출력한다. 결과적으로 적응적 컨텐츠 제공부(132)는 AI 튜터 챗봇(110)과 연동하여 사용자와 채팅으로 상호 작용을 수행하는 인터페이스 역할을 수행한다.The adaptive content provider 132 interlocks with the AI tutor chatbot 110 to receive the chat information input by the learner's terminal, transmits it to the TensorFlow deep learning engine 134, and receives it from the TensorFlow deep learning engine 134. The information received by the chat response information corresponding to the chat information is output to the chat window 210. As a result, the adaptive content provider 132 works as an interface for interacting with the AI tutor chatbot 110 through chat with the user.

적응적 컨텐츠 제공부(132)는 컴파일러(120)와 연동하여 코드 에디터(122)로부터 학습자 단말기가 입력하는 코딩 입력정보를 분석한 코드 분석정보를 수신하여 AI 엔진(130)으로 전달하고, AI 엔진(130)으로부터 코딩 분석정보에 대응한 피드백정보를 수신하여 학습자 단말기로 전달한다. 결과적으로 적응적 컨텐츠 제공부(132)는 코드 에디터(122), 컴파일러(120)와 연동하여 코드 분석정보를 딥러닝하여 피드백정보를 생성할 수 있도록 하는 인터페이스 역할을 수행한다.The adaptive content providing unit 132 interlocks with the compiler 120 to receive code analysis information obtained by analyzing the coding input information input by the learner's terminal from the code editor 122 and transmits the code analysis information to the AI engine 130. The feedback information corresponding to the coding analysis information is received from 130 and transmitted to the learner's terminal. As a result, the adaptive content providing unit 132 acts as an interface for generating feedback information by deep learning code analysis information in conjunction with the code editor 122 and the compiler 120.

적응적 컨텐츠 제공부(132)는 피드백 결과를 적합한 포맷으로 변환하여 AI 튜터 챗봇(110)으로 전달하여 AI 튜터 챗봇(110)이 채팅창(210) 상에 도움말, 함수의 사용양식 제시, 모범 답안 등을 텍스트, 소리, 동영상 등의 자연어 베이스로 출력하도록 한다. 적응적 컨텐츠 제공부(132)는 피드백 결과를 적합한 포맷으로 변환하여 코드 에디터(122)로 전달하여 코드 에디터(122)가 코드 에디터창(220) 상에 사용자 입력 코드의 수정(문법 체크 통해)하여 출력하도록 한다. The adaptive content providing unit 132 converts the feedback result into an appropriate format and delivers it to the AI tutor chatbot 110, so that the AI tutor chatbot 110 presents help, function usage form, and model answer on the chat window 210. Output the text in a natural language base such as text, sound, and video. The adaptive content providing unit 132 converts the feedback result into a suitable format and delivers it to the code editor 122, so that the code editor 122 modifies the user input code (through grammar check) on the code editor window 220. Print it out.

도 2e,2f에 도시된 바와 같이, 학습자 단말기는 코딩학습 플랫폼 제공장치(100)에 접속하면 채팅창(210)과 코드 에디터창(220)이 출력된다.2E and 2F, when the learner's terminal accesses the coding learning platform providing apparatus 100, a chat window 210 and a code editor window 220 are output.

도 2e에 도시된 바와 같이, 학습자 단말기는 채팅창(210) 상에 코딩(Coding)에 관련된 특정 과제를 자연어로 출력한다. 학습자 단말기는 채팅창(210)과 구분되는 별도의 코드 에디터창(220) 상에 특정 과제에 대응하는 코딩 입력정보를 입력한다.As shown in FIG. 2E, the learner terminal outputs a specific task related to coding on the chat window 210 in natural language. The learner's terminal inputs coding input information corresponding to a specific task on a separate code editor window 220 that is separate from the chat window 210.

도 2f에 도시된 바와 같이, 학습자 단말기는 채팅창(210) 상에 채팅 질의정보를 입력하면, 채팅 질의정보를 기반으로 자연어 분석하여 채팅 피드백정보를 수신하여 출력한다. 학습자 단말기는 코드 에디터창(220) 상에 특정 과제에 대응하는 코딩 입력정보를 입력하면, 코딩 입력정보를 분석한 피드백정보를 코드 에디터창(220)에 출력한다.As shown in FIG. 2F, when the learner's terminal inputs chat query information on the chat window 210, it analyzes natural language based on the chat query information, receives and outputs the chat feedback information. When the learner's terminal inputs coding input information corresponding to a specific task on the code editor window 220, it outputs feedback information after analyzing the coding input information to the code editor window 220.

코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110)을 이용하여 학습자 단말기로 코딩 교육을 제공한다. 코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110)을 이용하여 학습 단말기로 코딩 교육의 각 과정을 순차적으로 채팅창(210)을 이용하여 가이드한다.The coding learning platform providing device 100 provides coding education to a learner's terminal using the AI tutor chatbot 110. The coding learning platform providing apparatus 100 sequentially guides each process of coding education to a learning terminal using the AI tutor chatbot 110 using the chat window 210.

코딩학습 플랫폼 제공장치(100)는 각 단계별로 필요한 시점에 채팅창(210)을 이용하여 과제를 부여한다. 코딩학습 플랫폼 제공장치(100)는 별도의 코드 에디터창(220)을 이용하여 학습 단말기가 실제 과제에 따른 코딩 작성(특정 과제에 대응하는 코딩 입력정보) 할 수 있도록 한다.The coding learning platform providing apparatus 100 assigns a task using the chat window 210 at a necessary time point for each step. The coding learning platform providing apparatus 100 enables the learning terminal to write coding according to an actual task (coding input information corresponding to a specific task) by using a separate code editor window 220.

코딩학습 플랫폼 제공장치(100)는 코드 에디터창(220)을 이용하여 학습자 단말기가 입력하는 코드의 문법 오류, 작성 속도, 선택한 함수나 변수의 접합성 등을 실시간으로 체크(그때그때 입력 내용을 중간 컴파일링해서 분석 정보를 생성하는 방식)한다.The coding learning platform providing device 100 uses the code editor window 220 to check in real time the grammar errors, writing speed, and jointness of the selected function or variable, etc. of the code input by the learner's terminal (intermediate compilation of the input content at that time) To generate analysis information).

코딩학습 플랫폼 제공장치(100)는 분석 정보를 기반으로 학습자 단말기로 제공할 피드백 결과를 생성한다. 코딩학습 플랫폼 제공장치(100)는 피드백 결과를 적합한 포맷으로 변환하여 채팅창(210) 상에 도움말, 함수의 사용양식 제시, 모범 답안 등을 텍스트, 소리, 동영상 등의 자연어 베이스로 출력한다. 코딩학습 플랫폼 제공장치(100)는 피드백 결과를 적합한 포맷으로 변환하여 코드 에디터창(220) 상에 사용자 입력 코드의 수정(문법 체크 통해)하여 출력한다. The coding learning platform providing apparatus 100 generates a feedback result to be provided to a learner's terminal based on the analysis information. The coding learning platform providing apparatus 100 converts the feedback result into an appropriate format and outputs help, function usage form presentation, and model answer on the chat window 210 in a natural language base such as text, sound, and video. The coding learning platform providing apparatus 100 converts the feedback result into a suitable format, modifies the user input code (through grammar check) on the code editor window 220 and outputs it.

도 3은 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method of providing an AI tutor-based coding learning platform using a compiler technology according to the present embodiment.

AI 튜터 챗봇(110)은 기 설정된 채팅창(210)을 이용하여 코딩(Coding)에 관련된 특정 과제를 학습자 단말기로 출력한다(S310). The AI tutor chatbot 110 outputs a specific task related to coding to the learner's terminal using the preset chat window 210 (S310).

단계 S310에서, AI 튜터 챗봇(110)은 채팅창(210)을 이용하여 코딩 교육 컨텐츠를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 코딩 교육 컨텐츠의 기 설정된 쳅터별 교육 과정을 가이드 정보를 출력한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별 교육 과정 중 기 설정된 시점이 도래하는 경우, 채팅창(210)을 이용하여 해당 쳅터에 따른 특정 과제가 출력되도록 한다.In step S310, the AI tutor chatbot 110 outputs the coding educational content to the learner terminal using the chat window 210. The AI tutor chatbot 110 outputs guide information for a predetermined chapter-specific training course of coding education content. The AI tutor chatbot 110 uses the chat window 210 to output a specific task according to the corresponding chapter when a preset point of time arrives during a preset chapter-specific training course.

코드 에디터(122)는 채팅창(210)과 구분되는 별도의 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 코딩 입력정보를 수집한다(S320). 단계 S320에서, 코드 에디터(122)는 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 가이드에 따른 코딩 입력정보를 수집한다.The code editor 122 collects coding input information corresponding to a specific task from a plurality of learner terminals using a separate code editor window 220 separated from the chat window 210 (S320). In step S320, the code editor 122 uses the code editor window 220 to collect coding input information according to the guide from a plurality of learner terminals.

컴파일러(120)는 코드 에디터(122)로부터 코딩 입력정보를 획득한다. 컴파일러(120)는 코드 에디터(122)로부터 획득한 코딩 입력정보를 분석한 코드 분석정보를 생성한다(S330).The compiler 120 obtains coding input information from the code editor 122. The compiler 120 generates code analysis information obtained by analyzing the coding input information obtained from the code editor 122 (S330).

단계 S330에서, 컴파일러(120)는 코딩 입력정보에 포함된 코드정보를 추출한다. 컴파일러(120)는 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 중간 컴파일링한 코드 분석정보를 생성한다.In step S330, the compiler 120 extracts code information included in the coding input information. The compiler 120 generates intermediate compiled code analysis information by analyzing in real time at least one or more of a code grammar error, a code writing speed, a selection function, and a variable bonding property for code information.

컴파일러(120)는 코딩 입력정보가 입력될 때마다 코딩 입력정보에 포함된 자연어(Natural Language), 코드정보에 포함된 (컴파일러에서 인식가능한) 신텍스 코드정보(Syntax Code)를 필수적으로 분석하여 코드 분석정보를 생성한다.Whenever coding input information is input, the compiler 120 essentially analyzes the natural language included in the coding input information and the syntax code (recognizable by the compiler) included in the code information to analyze the code. Generate information.

컴파일러(120)는 코딩 입력정보가 입력될 때마다 자연어와 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 코드 분석정보를 생성한다.The compiler 120 analyzes the natural language and syntax code information each time the coding input information is input, and analyzes the code by selectively analyzing at least one of code details, work details, input delay time, coding time, input patterns, and errors occurring. Generate information.

컴파일러(120)는 자연어 처리와 서로 다른 루트(컴파일러)에 따라 신텍스 코드정보에 대응하는 데이터를 확인한다.The compiler 120 checks data corresponding to the syntax code information according to different routes (compilers) from natural language processing.

컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전송한다(S340).The compiler 120 transmits the code analysis information to the AI engine 130 (S340).

AI 엔진(130)은 컴파일러(120)로부터 수신한 코딩 입력정보, 컴파일러(120)로부터 수신된 코드 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출한다. AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다(S350). AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The AI engine 130 extracts feedback information based on coding input information received from the compiler 120 and code analysis information received from the compiler 120. The AI engine 130 outputs the feedback information to the AI tutor chatbot 110 or the code editor 122 in real time (S350). The AI engine 130 converts the feedback information into a format suitable for either the AI tutor chatbot 110 or the code editor 122 and transmits it.

단계 S350에서 AI 엔진(130)은 기 설정된 루트(자연어 인터페이스(Natural Language Interface), 프로그래밍 인어 인터페이스(Programming Language Interface)에 따라 자연어를 해석하여 시멘틱 데이터(Semantic Data)를 생성한다.In step S350, the AI engine 130 analyzes natural language according to a preset route (Natural Language Interface) and Programming Language Interface to generate Semantic Data.

AI 엔진(130)은 시멘틱 데이터와 신텍스 코드정보에 대응하는 데이터를 기반으로 피드백정보를 추출한다. The AI engine 130 extracts feedback information based on semantic data and data corresponding to the syntax code information.

AI 엔진(130)은 적응적 컨텐츠 제공부(132)를 이용하여 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 AI 튜터 챗봇(110)으로 하여금 피드백정보가 채팅창 상에 도움말, 함수의 사용양식 제시, 모범 답안 중 적어도 하나 이상의 데이터가 자연어 기반의 텍스트, 사운드, 동영상 중 적어도 하나 이상의 형태로 출력되도록 한다.The AI engine 130 adaptively converts the data format based on the information included in the feedback information using the adaptive content providing unit 132 to allow the AI tutor chatbot 110 to provide the feedback information on the chat window. , At least one of the presentation of the function usage form and the best answer is to be output in at least one of natural language-based text, sound, and video.

AI 엔진(130)은 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 코드 에디터(122)로 하여금 피드백정보가 코드 에디터창(220) 상에 문법 체크를 적용하여 코딩 입력정보를 수정하는 형태로 출력되도록 한다.The AI engine 130 adaptively converts the data format based on the information included in the feedback information, and causes the code editor 122 to apply the feedback information to the code editor window 220 by applying a grammar check to input coding input information. It should be output in a modified form.

단계 S350 이후에 AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자 단말기에서 자신이 입력한 코딩 입력정보에 대응하는 피드백정보를 실시간으로 받아볼 수 있도록 한다.After step S350, the AI engine 130 outputs the feedback information to the AI tutor chatbot 110 or the code editor 122 in real time to receive the feedback information corresponding to the coding input information entered by the learner terminal in real time. Make it possible.

도 3에서는 단계 S310 내지 단계 S350을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 3에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.In FIG. 3, steps S310 to S350 are described as sequentially executing, but are not limited thereto. In other words, since it may be applicable to changing and executing the steps illustrated in FIG. 3 or executing one or more steps in parallel, FIG. 3 is not limited to a time series order.

전술한 바와 같이 도 3에 기재된 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 컴파일러 기술을 이용한 AI 튜터 기반의 코딩학습 플랫폼 제공 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. As described above, the method for providing an AI tutor-based coding learning platform using the compiler technology according to the present embodiment illustrated in FIG. 3 may be implemented as a program and recorded on a computer-readable recording medium. All kinds of recording devices in which a program for implementing a method of providing an AI tutor-based coding learning platform using the compiler technology according to the present embodiment is recorded, and the computer-readable recording medium stores data that can be read by a computer system. Includes.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those of ordinary skill in the technical field to which the present embodiment belongs will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present exemplary embodiments are not intended to limit the technical idea of the present exemplary embodiment, but are illustrative, and the scope of the technical idea of the present exemplary embodiment is not limited by these exemplary embodiments. The scope of protection of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

100: 코딩학습 플랫폼 제공장치
110: AI 튜터 챗봇(AI Tutor ChatBot)
120: 컴파일러(Compiler)
122: 코드 에디터(Code Editor)
130: AI 엔진(AI Engine)
132: 적응적 컨텐츠 제공부(Adaptive Content Provider)
134: 텐서플로우 딥 러닝 엔진(TensorFlow Deep Learning Engine)
136: 코드 분석 프레임워크(Code Analysis Framework)
210: 채팅창(Chatting Window)
220: 코드 에디터창(Code Editor Window)
100: coding learning platform providing device
110: AI Tutor ChatBot
120: Compiler
122: Code Editor
130: AI Engine
132: adaptive content provider (Adaptive Content Provider)
134: TensorFlow Deep Learning Engine
136: Code Analysis Framework
210: Chatting Window
220: Code Editor Window

Claims (13)

AI 튜터 챗봇(AI Tutor ChatBot)에서 채팅창(Chatting Window)을 이용하여 코딩(Coding)에 관련된 특정 과제를 자연어로 출력하는 과정;
코드 에디터(Code Editor)에서 상기 채팅창과 구분되는 별도의 코드 에디터창(Code Editor Window)을 이용하여 복수의 학습자 단말기로부터 상기 특정 과제에 대응하는 코딩 입력정보를 수집하는 과정;
컴파일러(Compiler)에서 상기 코딩 입력정보를 획득하고, 상기 코딩 입력정보를 분석한 코드 분석정보를 생성하여 전달하는 과정; 및
AI 엔진에서 상기 코드 분석정보와 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성하고, 상기 교육 중간 언어(EIL)를 기반으로 피드백정보(FeedBack Information)를 추출하고, 상기 피드백정보를 실시간으로 상기 AI 튜터 챗봇 또는 상기 코드 에디터로 출력하는 과정
을 포함하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
A process of outputting a specific task related to coding in natural language using a Chatting Window in an AI Tutor ChatBot;
Collecting coding input information corresponding to the specific task from a plurality of learner terminals using a separate code editor window separated from the chat window in a code editor;
Obtaining the coding input information from a compiler, generating and transmitting code analysis information obtained by analyzing the coding input information; And
The AI engine generates an educational intermediate language (EIL) based on the code analysis information and an educational content reference index (ECRI), and feedback information ( FeedBack Information) and outputting the feedback information to the AI tutor chatbot or the code editor in real time
Coding learning platform providing method comprising a.
제1항에 있어서,
상기 특정 과제를 자연어로 출력하는 과정 전에,
상기 AI 튜터 챗봇(AI Tutor ChatBot)이 상기 채팅창을 이용하여 코딩 교육 컨텐츠를 출력하는 과정;
상기 코딩 교육 컨텐츠의 기 설정된 쳅터별 교육 과정을 가이드 정보를 출력하는 과정; 및
기 설정된 쳅터별 교육 과정 중 기 설정된 시점이 도래하는 경우, 상기 채팅창을 이용하여 해당 쳅터에 따른 상기 특정 과제가 출력되도록 하는 과정
을 포함하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 1,
Before the process of outputting the specific task in natural language,
The AI Tutor ChatBot outputs coding education content using the chat window;
Outputting guide information for a predetermined chapter-specific curriculum of the coding education content; And
The process of outputting the specific task according to the chapter by using the chat window when a preset point of time arrives during the training course for each chapter
Coding learning platform providing method comprising a.
제1항에 있어서,
상기 컴파일러에서 상기 코딩 입력정보에 포함된 코드정보를 추출하고, 상기 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 컴파일링한 상기 코드 분석정보를 생성하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 1,
The code analysis information compiled by extracting the code information included in the coding input information by the compiler, analyzing at least one of a code grammar error, a code writing speed, a selection function, and a variable bonding property for the code information in real time A method of providing a coding learning platform, characterized in that to generate a.
제3항에 있어서,
상기 피드백정보를 실시간으로 상기 AI 튜터 챗봇 또는 상기 코드 에디터로 출력하는 과정에서,
상기 AI 엔진에서 적응적 컨텐츠 제공부(Adaptive Content Provider)를 이용하여 상기 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 상기 AI 튜터 챗봇으로 하여금 상기 피드백정보가 상기 채팅창 상에 도움말, 함수의 사용양식 제시, 모범 답안 중 적어도 하나 이상의 데이터가 텍스트, 사운드, 동영상 중 적어도 하나 이상의 형태로 출력되도록 하며,
상기 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 상기 코드 에디터로 하여금 상기 피드백정보가 상기 코드 에디터창 상에 문법 체크를 적용하여 상기 코딩 입력정보를 수정하는 형태로 출력되도록 하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 3,
In the process of outputting the feedback information to the AI tutor chatbot or the code editor in real time,
The AI engine uses an adaptive content provider to adaptively convert a data format based on the information included in the feedback information to cause the AI tutor chatbot to display the feedback information on the chat window. Make sure that at least one data of at least one of help, presentation of function usage form, and best answer is output in at least one of text, sound, and video,
By adaptively converting a data format based on the information included in the feedback information, the code editor causes the feedback information to be output in a form of modifying the coding input information by applying a grammar check on the code editor window. A method of providing a coding learning platform, characterized in that.
제4항에 있어서,
상기 컴파일러에서 상기 코딩 입력정보가 입력될 때마다 상기 코딩 입력정보에 포함된 자연어(Natural Language), 상기 코드정보에 포함된 신텍스 코드정보(Syntax Code)를 필수적으로 분석하여 상기 코드 분석정보를 생성하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 4,
Whenever the coding input information is input by the compiler, a natural language included in the coding input information and a syntax code included in the code information are essentially analyzed to generate the code analysis information. A method of providing a coding learning platform, characterized in that.
제5항에 있어서,
상기 컴파일러에서 상기 코딩 입력정보가 입력될 때마다 상기 자연어와 상기 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 상기 코드 분석정보를 생성하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 5,
Whenever the coding input information is input by the compiler, the natural language and the syntax code information are analyzed to selectively analyze at least one of code details, work details, input delay time, coding time, input patterns, and occurrence errors, and the A method of providing a coding learning platform, characterized in that generating code analysis information.
제6항에 있어서,
상기 컴파일러에서 자연어 처리와 서로 다른 루트에 따라 상기 신텍스 코드정보에 대응하는 데이터를 확인하면,
상기 AI 엔진에서 상기 자연어를 기 설정된 루트에 따라 해석하여 시멘틱 데이터(Semantic Data)를 생성하고, 상기 시멘틱 데이터와 상기 신텍스 코드정보에 대응하는 데이터를 기반으로 상기 피드백정보를 추출하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 6,
When the compiler checks the data corresponding to the syntax code information according to different routes from natural language processing,
Coding, characterized in that the AI engine interprets the natural language according to a preset route to generate semantic data, and extracts the feedback information based on the semantic data and data corresponding to the syntax code information. How to provide a learning platform.
제6항에 있어서,
상기 특정 과제에 대한 코딩이 완료되기 전에
상기 코드 에디터에서 상기 코드 에디터창을 이용하여 복수의 학습자 단말기로부터 코딩중 입력정보를 수집하며,
상기 컴파일러에서 상기 코딩중 입력정보를 분석하여 코딩중 분석정보를 생성하여 상기 AI 엔진으로 전달하며
상기 AI 엔진에서 상기 코딩중 입력정보, 상기 코딩중 분석정보를 기반으로 코딩중 피드백정보를 추출하여 상기 학습자 단말기로 전달하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 6,
Before the coding for the specific task above is completed
Collecting input information during coding from a plurality of learner terminals using the code editor window in the code editor,
The compiler analyzes the input information during coding, generates the analysis information during coding, and delivers it to the AI engine.
The method of providing a coding learning platform, characterized in that the AI engine extracts feedback information during coding based on the input information during coding and the analysis information during coding, and transmits it to the learner terminal.
제8항에 있어서,
상기 AI 엔진에서
상기 코딩중 입력정보, 상기 코딩중 분석정보를 분석하여 불필요한 코드가 존재한다고 판단하거나, 최적화가 필요하다고 판단하거나, 코드에 문제가 있다고 판단한 경우, 텍스트, 음성, 비디오 중 적어도 하나 이상의 형태의 코딩 교육 컨텐츠(Coding Educational Content)를 생성하고, 상기 코딩 교육 컨텐츠를 포함하는 상기 코딩중 피드백정보를 추출하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 8,
In the above AI engine
When it is determined that there is an unnecessary code by analyzing the input information during coding and the analysis information during coding, it is determined that optimization is necessary, or that there is a problem in the code, coding education in the form of at least one of text, voice, and video A method for providing a coding learning platform, comprising generating content (Coding Educational Content) and extracting feedback information during coding including the coding educational content.
제6항에 있어서,
상기 특정 과제에 대한 코딩이 완료된 후
상기 코드 에디터에서 상기 코드 에디터창을 이용하여 복수의 학습자 단말기로부터 코딩완료 입력정보를 수집하며,
상기 컴파일러에서 상기 코딩완료 입력정보를 분석한 코딩완료 분석정보를 생성하여 상기 AI 엔진으로 전달하며,
상기 AI 엔진에서 상기 코딩완료 입력정보, 상기 코딩완료 분석정보를 기반으로 코딩완료 피드백정보를 추출하여 상기 학습자 단말기로 전달하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 6,
After coding for the specific task is completed
In the code editor, using the code editor window to collect coding completion input information from a plurality of learner terminals,
The compiler generates the coding completion analysis information by analyzing the coding completion input information and delivers it to the AI engine,
The method of providing a coding learning platform, characterized in that the AI engine extracts the coding completion feedback information based on the coding completion input information and the coding completion analysis information and transmits it to the learner terminal.
제10항에 있어서,
상기 AI 엔진에서
상기 코딩완료 입력정보, 상기 코딩완료 분석정보를 분석하여 상기 특정 과제를 평가하여 등급을 부여하고 최종 평가한 정보를 포함하는 상기 코딩완료 피드백정보를 추출하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 10,
In the above AI engine
The method of providing a coding learning platform, comprising: analyzing the coding completion input information and the coding completion analysis information, evaluating the specific task, assigning a grade, and extracting the coding completion feedback information including the final evaluated information.
제1항에 있어서,
상기 AI 튜터 챗봇에서 상기 채팅창을 이용하여 복수의 학습자 단말기로부터 채팅 질의정보를 수집하여 AI 엔진으로 전달하며,
상기 AI 엔진에서 상기 채팅 질의정보를 기반으로 자연어 분석하여 채팅 피드백정보를 추출하여 상기 채팅창으로 출력하도록 하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.
The method of claim 1,
The AI tutor chatbot collects chat query information from a plurality of learner terminals using the chat window and transmits it to the AI engine,
The method of providing a coding learning platform, characterized in that the AI engine analyzes natural language based on the chat query information, extracts chat feedback information, and outputs it to the chat window.
채팅창(Chatting Window)을 이용하여 코딩(Coding)에 관련된 특정 과제를 자연어로 출력하는 AI 튜터 챗봇(AI Tutor ChatBot);
상기 채팅창과 구분되는 별도의 코드 에디터창(Code Editor Window)을 이용하여 복수의 학습자 단말기로부터 상기 특정 과제에 대응하는 코딩 입력정보를 수집하는 코드 에디터(Code Editor);
상기 코딩 입력정보를 획득하고, 상기 코딩 입력정보를 분석한 코드 분석정보를 생성하여 전달하는 컴파일러(Compiler); 및
상기 코드 분석정보와 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성하고, 상기 교육 중간 언어(EIL)를 기반으로 피드백정보(FeedBack Information)를 추출하고, 상기 피드백정보를 실시간으로 상기 AI 튜터 챗봇 또는 상기 코드 에디터로 출력하는 AI 엔진
을 포함하는 것을 특징으로 하는 코딩학습 플랫폼 제공장치.
AI Tutor ChatBot, which outputs specific tasks related to coding in natural language using a Chatting Window;
A code editor for collecting coding input information corresponding to the specific task from a plurality of learner terminals using a separate code editor window separated from the chat window;
A compiler that obtains the coding input information and generates and transmits the code analysis information obtained by analyzing the coding input information; And
An educational intermediate language (EIL) is generated based on the code analysis information and the educational content reference index (ECRI), and feedback information is provided based on the educational intermediate language (EIL). AI engine that extracts and outputs the feedback information to the AI tutor chatbot or the code editor in real time
Coding learning platform providing apparatus comprising a.
KR1020190017411A 2019-02-14 2019-02-14 Method And Apparatus for Providing Coding Educational Platform based on AI Tutor KR102192581B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190017411A KR102192581B1 (en) 2019-02-14 2019-02-14 Method And Apparatus for Providing Coding Educational Platform based on AI Tutor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190017411A KR102192581B1 (en) 2019-02-14 2019-02-14 Method And Apparatus for Providing Coding Educational Platform based on AI Tutor

Publications (2)

Publication Number Publication Date
KR20200103187A true KR20200103187A (en) 2020-09-02
KR102192581B1 KR102192581B1 (en) 2020-12-17

Family

ID=72449841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190017411A KR102192581B1 (en) 2019-02-14 2019-02-14 Method And Apparatus for Providing Coding Educational Platform based on AI Tutor

Country Status (1)

Country Link
KR (1) KR102192581B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965703A (en) * 2021-03-02 2021-06-15 华南师范大学 Teacher leading artificial intelligence education robot for overcoming multi-head leaders
WO2023008591A1 (en) * 2021-07-26 2023-02-02 Antt Robotics Ltd. Educational robot learning system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072429A (en) * 2000-06-03 2000-12-05 조철 Realtime, interactive multimedia education system and method in online environment
KR100460246B1 (en) * 2001-09-06 2004-12-08 김양우 Virtual education system and method for compiling programming language under internet environment
KR101844047B1 (en) * 2016-11-02 2018-04-02 주식회사 코드잇 Oline programming learning method
KR101908939B1 (en) * 2017-08-03 2018-10-17 노상민 Method for serving coding education and apparatus for executing the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072429A (en) * 2000-06-03 2000-12-05 조철 Realtime, interactive multimedia education system and method in online environment
KR100460246B1 (en) * 2001-09-06 2004-12-08 김양우 Virtual education system and method for compiling programming language under internet environment
KR101844047B1 (en) * 2016-11-02 2018-04-02 주식회사 코드잇 Oline programming learning method
KR101908939B1 (en) * 2017-08-03 2018-10-17 노상민 Method for serving coding education and apparatus for executing the method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965703A (en) * 2021-03-02 2021-06-15 华南师范大学 Teacher leading artificial intelligence education robot for overcoming multi-head leaders
CN112965703B (en) * 2021-03-02 2022-04-01 华南师范大学 Teacher leading artificial intelligence education robot for overcoming multi-head leaders
WO2023008591A1 (en) * 2021-07-26 2023-02-02 Antt Robotics Ltd. Educational robot learning system

Also Published As

Publication number Publication date
KR102192581B1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
Yu et al. Generative artificial intelligence empowers educational reform: current status, issues, and prospects
Wang et al. Using learning analytics to understand the design of an intelligent language tutor–Chatbot lucy
KR102302137B1 (en) Apparatus for studying foreign language and method for providing foreign language study service by using the same
CN108563433B (en) Device based on LSTM automatic completion code
Saka et al. Conversational artificial intelligence in the AEC industry: A review of present status, challenges and opportunities
CN112101045B (en) Multi-mode semantic integrity recognition method and device and electronic equipment
Fogli et al. A hybrid approach to user-oriented programming of collaborative robots
KR102192581B1 (en) Method And Apparatus for Providing Coding Educational Platform based on AI Tutor
Kahn et al. AI programming by children
CN112133146B (en) Algorithm practice code execution visualization system
CN116861921A (en) Robot task analysis method and device based on large language model and readable medium
Bastianelli et al. Speaky for robots: the development of vocal interfaces for robotic applications
TW202008326A (en) Dynamic scenario oriented digital language teaching method and system being applied to a teaching content supply end, an editing end and learning end
Anderson et al. Language learning with interactive virtual agent scenarios and speech recognition: Lessons learned
KR102431369B1 (en) Coding method and apparatus using interactive artificial intelligence
Zhou et al. InstructPipe: Building Visual Programming Pipelines with Human Instructions
CN110070869B (en) Voice teaching interaction generation method, device, equipment and medium
CN110852922A (en) Dynamic scenario-oriented language digital teaching method and system
D'Haro et al. An integrated framework for multimodal human-robot interaction
Jung A study on the current state of artificial intelligence based coding technologies and the direction of future coding education
Jovanović et al. ComVIS—Interactive simulation environment for compiler learning
Querrec et al. Model for verbal interaction between an embodied tutor and a learner in virtual environments
Ciupe et al. Learning agile with intelligent conversational agents
David et al. Interaction Templates: A Data-Driven Approach for Authoring Robot Programs
TWM572553U (en) Dynamic story-oriented language digital teaching system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right