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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/02—Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
Abstract
Description
본 실시예는 컴파일러 기술을 이용한 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
코딩학습 플랫폼 제공장치(100)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.Each component included in the
도 1에 도시된 코딩학습 플랫폼 제공장치(100)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.Each component of the coding learning
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
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
AI 튜터 챗봇(110)은 학습자와 상호작용(Interaction)하는 역할을 담당한다. AI 튜터 챗봇(110)은 학습자 단말기로부터 입력된 자연어를 AI 엔진(130) 내의 텐서플로우 딥 러닝 엔진(TensorFlow Deep Learning Engine)(134)으로 전달한다.The
본 실시예에 따른 AI 튜터 챗봇(110)은 기 설정된 채팅창(210)을 이용하여 코딩(Coding)에 관련된 특정 과제를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 기 설정된 채팅창(210)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 채팅정보를 수집한다. AI 튜터 챗봇(110)은 특정 과제에 대한 가이드를 추가로 출력하여 복수의 학습자 단말기로 전달한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별로 수업에 대응하도록 코딩에 관련된 특정 과제를 학습자 단말기로 출력한다.The
AI 튜터 챗봇(110)은 채팅창(210)을 이용하여 코딩 교육 컨텐츠를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 코딩 교육 컨텐츠의 기 설정된 쳅터별 교육 과정을 가이드 정보를 출력한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별 교육 과정 중 기 설정된 시점이 도래하는 경우, 채팅창(210)을 이용하여 해당 쳅터에 따른 특정 과제가 출력되도록 한다.The
코드 에디터(122)는 학습자 단말기가 입력하는 코딩 입력정보를 수집한다. 코드 에디터(122)는 채팅창(210)과 구분되는 별도의 코드 에디터창(Code Editor Window)(220)으로 학습자 단말기가 입력하는 코딩 입력정보를 실시간으로 수집한다.The
코드 에디터(122)는 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 코딩 입력정보(자연어 + 컴파일러에서 인식가능한 코드정보)를 입력받는다. 코드 에디터(122)는 학습자 단말기로부터 입력된 코드를 AI 엔진(130) 내의 텐서플로우 딥 러닝 엔진(134)으로 전달한다.The
코드 에디터(122)는 특정 과제에 대한 코딩이 완료되기 전에 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 코딩중 입력정보를 수집한다. 코드 에디터(122)는 특정 과제에 대한 코딩이 완료된 후 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 코딩완료 입력정보를 수집한다.The
컴파일러(120)는 파이썬 파서(Python Parser), 자바스크립트 파서(JavaScript Parser)를 포함한다. 컴파일러(120)는 파이썬(Python), 자바스크립트(JavaScript) 등의 복수의 언어를 동시 지원하는 컴파일러를 의미한다. 컴파일러(120)는 복수의 언어를 지원하여 Mozilla AST(Abstract Syntax Tree) 포멧의 AST를 최종 생성한다.The
컴파일러(120)는 특정 학습자 단말기가 특정 과제에 대한 코딩을 수행할 때, 특정 학습자 단말기로부터 입력되는 코딩 입력정보를 실시간으로 인지한다. 컴파일러(120)는 특정 학습자 단말기로부터 입력되는 코딩 입력정보를 실시간으로 분석한다.When a specific learner terminal performs coding for a specific task, the
다시 말해, 컴파일러(120)는 학습자가 코딩 내역을 특정 학습자 단말기를 이용하여 타이핑할 때마다, 해당 내역을 분석하여 작업 내역, 코딩 시간, 발생 에러, 등을 분석하여 코드 분석 정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.In other words, whenever a learner types coding details using a specific learner's terminal, the
본 실시예에 따른 컴파일러(120)는 코드 에디터(122)로부터 코딩 입력정보를 획득한다. 컴파일러(120)는 코드 에디터(122)로부터 획득한 코딩 입력정보를 분석한 코드 분석정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.The
컴파일러(120)는 코딩 입력정보에 포함된 코드정보를 추출한다. 컴파일러(120)는 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 중간 컴파일링한 코드 분석정보를 생성한다.The
컴파일러(120)는 코딩 입력정보가 입력될 때마다 코딩 입력정보에 포함된 자연어(Natural Language), 코드정보에 포함된 (컴파일러에서 인식가능한) 신텍스 코드정보(Syntax Code)를 필수적으로 분석하여 코드 분석정보를 생성한다.Whenever coding input information is input, the
컴파일러(120)는 코딩 입력정보가 입력될 때마다 자연어와 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 코드 분석정보를 생성한다.The
컴파일러(120)는 자연어 처리와 서로 다른 루트(컴파일러)에 따라 신텍스 코드정보에 대응하는 데이터를 확인한다. The
컴파일러(120)는 특정 과제에 대한 코딩이 완료되기 전에 코드 에디터(122)로부터 코딩중 입력정보를 획득하고, 코딩중 입력정보를 분석하여 코딩중 분석정보를 생성하여 AI 엔진(130)으로 전달한다. 컴파일러(120)는 특정 과제에 대한 코딩이 완료된 후 코드 에디터(122)로부터 코딩완료 입력정보를 획득하고, 코딩완료 입력정보를 분석한 코딩완료 분석정보를 생성하여 AI 엔진(130)으로 전달한다.The
AI 엔진(130)은 컴파일러(120)에서 인식가능한 코드정보를 분석하여 피드백을 생성한다.The
AI 엔진(130)은 코딩 입력정보, 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출하고, 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다. AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다. 예컨대, AI 엔진(130)은 코딩을 분석해서 미들언어(중간코드)를 만들어서 코드의 문제를 분석하여 최적화하며, 피드백정보를 반영하는 경우 코딩 속도가 약 30% 향상되도록 할 수 있다.The
AI 엔진(130)은 코드 분석정보를 기반으로 피드백정보를 추출한다. AI 엔진(130)은 코드 분석정보에 대응하는 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자가 코딩 정보를 입력할 때마다, 자신의 코딩 내역에 대해 실시간으로 피드백정보를 받아볼 수 있도록 한다.The
AI 엔진(130)은 학습자가 입력한 코딩 입력정보에 문제가 있다고 판단하는 경우, 학습자에게 도움(텍스트, 음성), 비디오)이 되도록 하는 피드백정보를 생성한다. AI 엔진(130)은 AI 튜터 챗봇(110)에서 출력한 기 설정된 쳅터별로 수업에 대응하도록 코딩에 관련된 특정 과제에 대한 코딩이 완료되면, 학습자가 코드 에디터창(220)에 입력한 코딩완료 입력정보를 평가한 후 학습자 등급, 평가, 피드백을 수행한다.When the
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 엔진(130)은 텐서플로우(TensorFlow) 기반 딥 러닝 엔진(Deep Learning Engine)에서 프로그래밍 언어 이해(Programming Language Understanding) 기술을 제공한다. AI 엔진(130)은 오픈소스(Open Source) 기반의 자연어 프레임(Natural Language framework)를 이용하여, 코딩교육 패턴(Pattern)을 분석한 후 분석 데이터를 결합한다.The
AI 엔진(130)은 코딩관련 정보가 입력되면 해당 코드에 대한 교육용 컨텐츠 추천을 담당하는 딥 러닝(Deep Learning) 알고리즘을 제공한다. AI 엔진(130)은 추천된 코딩교육 컨텐츠와 사용자의 인터렉션(Interaction)을 기반으로 하는 딥 러닝 훈련 프레임워크(Deep Learning Training Framework)를 제공한다.When coding-related information is input, the
AI 엔진(130)은 코딩관련 정보, 코딩 교육 컨텐츠 정보를 각 구성요소(component)에서 중계 역할을 하는 적응적 컨텐츠 제공부(Adaptive Content Provider)(132)를 포함한다.The
적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 샌드박스(Sandbox) 또는 텐서플로우(TensorFlow)로 전달한다. 샌드박스(Sandbox) 또는 텐서플로우(TensorFlow)는 AST를 분석한 후 피드백을 학습자 단말기로 전달하거나 샌드박스 런타임(Sandbox Runtime)에서 실행 결과를 코드 에디터(Code Editor)로 반환하는 등의 데이터 플로우(Data Flow)를 제어한다.The adaptive
텐서플로우(TensorFlow)는 자연언 또는 코드를 분석하여 피드백정보를 생성한다. 피드백정보는 AI 튜터 챗봇(110)에서 교육컨텐츠 관련 대화로 학습자 단말기로 출력된다.TensorFlow analyzes natural language or code to generate feedback information. Feedback information is output from the
텐서플로우 딥 러닝 엔진(134)은 딥 러닝 피드백(Deep Learning feedback)을 프로세싱(processing)하여 학습자 단말기로 피드백한다. 피드백 컨텐츠(Feedback contents)는 코딩교육관련 동영상, API 관련 설명, Tool Tip 등 다양한 정보를 포함한다.The TensorFlow
본 실시예에 따른 AI 엔진(130)은 코드 에디터(122)로부터 수신한 코딩 입력정보, 코드 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출한다. AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다. AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The
AI 엔진(130)은 기 설정된 루트(자연어 인터페이스(Natural Language Interface), 프로그래밍 인어 인터페이스(Programming Language Interface)에 따라 자연어를 해석하여 시멘틱 데이터(Semantic Data)를 생성한다.The
AI 엔진(130)은 시멘틱 데이터와 신텍스 코드정보에 대응하는 데이터를 기반으로 피드백정보를 추출한다. 피드백정보는 텍스트, 비디오, 음성 중 어느 하나의 형태로 채팅창(210)을 이용하여 출력된다.The
AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자 단말기에서 자신이 입력한 코딩 입력정보에 대응하는 피드백정보를 실시간으로 받아볼 수 있도록 한다.The
AI 엔진(130)은 특정 과제에 대한 코딩이 완료되기 전에 코딩중 입력정보, 코딩중 분석정보를 기반으로 코딩중 피드백정보를 추출하여 학습자 단말기로 전달한다. AI 엔진(130)은 특정 과제에 대한 코딩이 완료되기 전에 코딩중 입력정보, 코딩중 분석정보를 분석하여 불필요한 코드가 존재한다고 판단하거나, 최적화가 필요하다고 판단하거나, 코드에 문제가 있다고 판단한 경우, 텍스트, 음성, 비디오 중 적어도 하나 이상의 형태의 코딩 교육 컨텐츠(Coding Educational Content)를 생성한다. AI 엔진(130)은 코딩 교육 컨텐츠를 포함하는 코딩중 피드백정보를 추출한다.The
AI 엔진(130)은 특정 과제에 대한 코딩이 완료된 후 코딩완료 입력정보, 코딩완료 분석정보를 기반으로 코딩완료 피드백정보를 추출하여 학습자 단말기로 전달한다. AI 엔진(130)은 특정 과제에 대한 코딩이 완료된 후 코딩완료 입력정보, 코딩완료 분석정보를 분석하여 특정 과제를 평가하여 등급을 부여하고 최종 평가한 정보를 포함하는 코딩완료 피드백정보를 추출한다.After the coding for a specific task is completed, the
AI 엔진(130)은 적응적 컨텐츠 제공부(132)를 이용하여 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 AI 튜터 챗봇(110)으로 하여금 피드백정보가 채팅창 상에 도움말, 함수의 사용양식 제시, 모범 답안 중 적어도 하나 이상의 데이터가 자연어 기반의 텍스트, 사운드, 동영상 중 적어도 하나 이상의 형태로 출력되도록 한다.The
AI 엔진(130)은 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 코드 에디터(122)로 하여금 피드백정보가 코드 에디터창(220) 상에 문법 체크를 적용하여 코딩 입력정보를 수정하는 형태로 출력되도록 한다.The
도 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
코딩학습 플랫폼 제공장치(100)는 컴파일러를 기반으로 실시간 학습자 코드를 분석 알고리즘을 제공한다. 코딩학습 플랫폼 제공장치(100)는 코딩 교육 학습 플랫폼과 연동하여 인공지능 튜터를 학습자 단말기로 제공한다. 코딩학습 플랫폼 제공장치(100)는 학습자 단말기를 조작하여 학습자가 타이핑하는 코드와 교육용 콘텐츠 실시간으로 연동하여 맞춤형 교육 컨텐츠를 학습자 단말기로 제공한다. 코딩학습 플랫폼 제공장치(100)는 학습자 단말기로부터 입력되는 코드를 확인하기 위해 멀티프로그래밍 언어를 지원하는 컴파일러 코드를 분석하는 툴체인을 이용한다.The coding learning
코딩학습 플랫폼 제공장치(100)는 챗봇을 이용하여 학습자 단말기로 특정 과제를 출력하면, 학습자는 챗봇의 가이드에 따라 코딩을 시작한다. 코딩학습 플랫폼 제공장치(100)는 컴파일러(120)를 이용하여 코드 에디터(122)로 입력되는 코딩 입력정보를 수집한다. 코딩학습 플랫폼 제공장치(100)는 코딩 입력정보를 기초로 분석한 분석정보(타이핑된 정보 + 지연시간)를 생성한다. 코딩학습 플랫폼 제공장치(100)는 컴파일러(120)가 코딩 입력정보, 코딩 입력정보에 포함된 자연어, 코딩 입력정보에 대한 분석정보를 AI 엔진(130)으로 전달한다. 코딩학습 플랫폼 제공장치(100)는 코딩 입력정보, 자연어, 분석정보를 기반으로 판단하여 피드백정보를 생성하여 학습자 단말기로 전달한다.When the coding learning
코딩학습 플랫폼 제공장치(100)는 자연어 해석 및 분석하고 컴파일러로부터 입력되는 데이터를 기반으로 서로 다른 루트를 따라가서 처리를 수행한다. 코딩학습 플랫폼 제공장치(100)는 사용자의 키보드, 음성 이외에의 소프트웨어, 프로그램으로부터 데이터를 받아서 반영한다.The coding learning
코딩학습 플랫폼 제공장치(100)는 처리 결과는 채팅창(210)을 이용하여 출력한다. 코딩학습 플랫폼 제공장치(100)는 동일한 채팅창(210)을 이용하여 처리 결과를 출력하지만, 자연어 처리와 컴파일러로부터 입력되는 데이터의 처리 루트는 서로 상이하다.The coding learning
도 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
컴파일러(120)는 특정 학습자 단말기가 특정 과제에 대한 코딩을 수행할 때, 코드 에디터(122)로부터 입력되는 코딩 입력정보를 실시간으로 인지한다. 컴파일러(120)는 코드 에디터(122)로부터 입력되는 코딩 입력정보를 실시간으로 분석한다. 다시 말해, 컴파일러(120)는 학습자가 코딩 내역을 코드 에디터(122)를 이용하여 타이핑할 때마다, 해당 내역을 분석하여 작업 내역, 코딩 시간, 발생 에러, 등을 분석하여 코드 분석 정보를 생성한다. 컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전달한다.When a specific learner terminal performs coding for a specific task, the
도 2b에 도시된 바와 같이, 코드 분석 프레임워크(136)는 컴파일러(120)로부터 수신된 AST를 분석하고 교육용 컨텐츠 참조 인덱스(ECRI: Educational Content Reference Index)를 기반으로 교육 중간 언어(EIL: Educational Intermediate Language)를 생성한다. As shown in FIG. 2B, the
코드 분석 프레임워크(136)는 교육 중간 언어(EIL)를 생성할 때, 텐서플로우 딥 러닝(TensorFlow Deep Learning)에 이용되는 데이터 포멧 요구사항을 충족하도록 하는 교육 중간 언어(EIL)를 생성한다. 다시 말해, 컴파일러(120)에서 AST 생성을 완료하면, 코드 분석 프레임워크(136)는 컴파일러(120)로부터 AST를 수신한다. When the
코드 분석 프레임워크(136)는 Content Context, Related Content Reference를 포함하는 교육용 컨텐츠 참조 인덱스(ECRI)를 이용하여 AST(Abstract Syntax Tree)를 분석하여 AST, Context, User Activity를 포함하는 교육 중간 언어(EIL)를 생성한다. 코드 분석 프레임워크(136)는 교육 중간 언어(EIL)를 생성할 때, 텐서플로우 딥 러닝(TensorFlow Deep Learning)에 사용되는 데이터 포멧(Data format)을 이용한다. The
도 2c에 도시된 바와 같이, 텐서플로우 딥 러닝 엔진(134)은 오픈 소스(Open Source) 기반의 자연어 프레임워크(Natural Language framework)을 이용하여, 코딩 교육 패턴을 분석한다. 텐서플로우 딥 러닝 엔진(134)은 코딩 교육 패턴을 기반으로 하는 분석 데이터를 이용하여 코딩 관련 정보가 입력되면 해당 코드에 대한 교육용 컨텐츠를 생성하여 학습자 단말기로 추천한다. 텐서플로우 딥 러닝 엔진(134)은 추천된 코딩교육 컨텐츠와 사용자의 인터랙션을 기반으로 하는 딥 러닝 훈련 프레임워크를 포함한다.As shown in FIG. 2C, the TensorFlow
텐서플로우 딥 러닝 엔진(134)은 사용자 코드(User Code)에 대한 Error Count, Error Type, Coding Time를 포함하는 AST, Content Context, Related Content Reference를 포함하는 교육용 컨텐츠 참조 인덱스(ECRI)를 입력(Input)한 후 텐서플러우(TensorFlow)로 복수의 모델을 생성하여 딥러닝을 수행하여 예측(Prediction)한 추천 컨텐츠(Recommended Contents)를 생성한다. 텐서플로우 딥 러닝 엔진(134)은 추천 컨텐츠를 학습 단말기로 전송한다.The TensorFlow
텐서플로우 딥 러닝 엔진(134)은 추천 컨텐츠를 인다이렉션 피드백(Indirect Feedback)으로 사용자 코드(User Code)에 대한 Error Count, Error Type, Coding Time를 포함하는 AST에 반영하고, 다이렉션 피드백(direct Feedback)으로 텐서플러우(TensorFlow)에 변영하여 딥러닝에 이용한다.The TensorFlow
도 2d에 도시된 바와 같이, 적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 Sandbox 또는 TensorFlow로 전달한다. 적응적 컨텐츠 제공부(132)는 Sandbox Runtime에서 실행한 결과를 코드 에디터(122)로 반환한다. 적응적 컨텐츠 제공부(132)는 데이터 흐름(Data Flow)을 제어하는 역할을 담당한다. 적응적 컨텐츠 제공부(132)는 TensorFlow에서 자연어 또는 코드 분석으로 피드백된 정보를 채팅창(210) 또는 코드 에디터창(220)에 출력되도록 하는 인터페이스 역할을 수행한다.As shown in FIG. 2D, the adaptive
적응적 컨텐츠 제공부(132)는 코딩관련 정보, 코딩 교육 컨텐츠 정보를 각 AI 튜터 챗봇(110)과 컴파일러(120) 간에 중계 역할을 수행한다. 적응적 컨텐츠 제공부(132)는 컴파일러(120)에서 처리한 AST를 AI 엔진(130) 내의 Sandbox 또는 TensorFlow로 중계한다. 적응적 컨텐츠 제공부(132)는 AI 엔진(130) 내의 TensorFlow에서 분석한 피드백정보를 학습자 단말기로 전달하거나 AI 엔진(130) 내의 Sandbox Runtime에서 실행한 결과를 코드 에디터(122)로 중계한다.The adaptive
적응적 컨텐츠 제공부(132)는 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The adaptive
적응적 컨텐츠 제공부(132)는 AI 튜터 챗봇(110)과 연동하여 학습자 단말기가 입력하는 채팅 정보를 수신하여 텐서플로우 딥 러닝 엔진(134)으로 전달하고, 텐서플로우 딥 러닝 엔진(134)으로부터 수신한 채팅 정보에 대응한 채팅 답변 정보를 수신한 정보를 채팅창(210)으로 출력한다. 결과적으로 적응적 컨텐츠 제공부(132)는 AI 튜터 챗봇(110)과 연동하여 사용자와 채팅으로 상호 작용을 수행하는 인터페이스 역할을 수행한다.The
적응적 컨텐츠 제공부(132)는 컴파일러(120)와 연동하여 코드 에디터(122)로부터 학습자 단말기가 입력하는 코딩 입력정보를 분석한 코드 분석정보를 수신하여 AI 엔진(130)으로 전달하고, AI 엔진(130)으로부터 코딩 분석정보에 대응한 피드백정보를 수신하여 학습자 단말기로 전달한다. 결과적으로 적응적 컨텐츠 제공부(132)는 코드 에디터(122), 컴파일러(120)와 연동하여 코드 분석정보를 딥러닝하여 피드백정보를 생성할 수 있도록 하는 인터페이스 역할을 수행한다.The adaptive
적응적 컨텐츠 제공부(132)는 피드백 결과를 적합한 포맷으로 변환하여 AI 튜터 챗봇(110)으로 전달하여 AI 튜터 챗봇(110)이 채팅창(210) 상에 도움말, 함수의 사용양식 제시, 모범 답안 등을 텍스트, 소리, 동영상 등의 자연어 베이스로 출력하도록 한다. 적응적 컨텐츠 제공부(132)는 피드백 결과를 적합한 포맷으로 변환하여 코드 에디터(122)로 전달하여 코드 에디터(122)가 코드 에디터창(220) 상에 사용자 입력 코드의 수정(문법 체크 통해)하여 출력하도록 한다. The adaptive
도 2e,2f에 도시된 바와 같이, 학습자 단말기는 코딩학습 플랫폼 제공장치(100)에 접속하면 채팅창(210)과 코드 에디터창(220)이 출력된다.2E and 2F, when the learner's terminal accesses the coding learning
도 2e에 도시된 바와 같이, 학습자 단말기는 채팅창(210) 상에 코딩(Coding)에 관련된 특정 과제를 자연어로 출력한다. 학습자 단말기는 채팅창(210)과 구분되는 별도의 코드 에디터창(220) 상에 특정 과제에 대응하는 코딩 입력정보를 입력한다.As shown in FIG. 2E, the learner terminal outputs a specific task related to coding on the
도 2f에 도시된 바와 같이, 학습자 단말기는 채팅창(210) 상에 채팅 질의정보를 입력하면, 채팅 질의정보를 기반으로 자연어 분석하여 채팅 피드백정보를 수신하여 출력한다. 학습자 단말기는 코드 에디터창(220) 상에 특정 과제에 대응하는 코딩 입력정보를 입력하면, 코딩 입력정보를 분석한 피드백정보를 코드 에디터창(220)에 출력한다.As shown in FIG. 2F, when the learner's terminal inputs chat query information on the
코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110)을 이용하여 학습자 단말기로 코딩 교육을 제공한다. 코딩학습 플랫폼 제공장치(100)는 AI 튜터 챗봇(110)을 이용하여 학습 단말기로 코딩 교육의 각 과정을 순차적으로 채팅창(210)을 이용하여 가이드한다.The coding learning
코딩학습 플랫폼 제공장치(100)는 각 단계별로 필요한 시점에 채팅창(210)을 이용하여 과제를 부여한다. 코딩학습 플랫폼 제공장치(100)는 별도의 코드 에디터창(220)을 이용하여 학습 단말기가 실제 과제에 따른 코딩 작성(특정 과제에 대응하는 코딩 입력정보) 할 수 있도록 한다.The coding learning
코딩학습 플랫폼 제공장치(100)는 코드 에디터창(220)을 이용하여 학습자 단말기가 입력하는 코드의 문법 오류, 작성 속도, 선택한 함수나 변수의 접합성 등을 실시간으로 체크(그때그때 입력 내용을 중간 컴파일링해서 분석 정보를 생성하는 방식)한다.The coding learning
코딩학습 플랫폼 제공장치(100)는 분석 정보를 기반으로 학습자 단말기로 제공할 피드백 결과를 생성한다. 코딩학습 플랫폼 제공장치(100)는 피드백 결과를 적합한 포맷으로 변환하여 채팅창(210) 상에 도움말, 함수의 사용양식 제시, 모범 답안 등을 텍스트, 소리, 동영상 등의 자연어 베이스로 출력한다. 코딩학습 플랫폼 제공장치(100)는 피드백 결과를 적합한 포맷으로 변환하여 코드 에디터창(220) 상에 사용자 입력 코드의 수정(문법 체크 통해)하여 출력한다. The coding learning
도 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
단계 S310에서, AI 튜터 챗봇(110)은 채팅창(210)을 이용하여 코딩 교육 컨텐츠를 학습자 단말기로 출력한다. AI 튜터 챗봇(110)은 코딩 교육 컨텐츠의 기 설정된 쳅터별 교육 과정을 가이드 정보를 출력한다. AI 튜터 챗봇(110)은 기 설정된 쳅터별 교육 과정 중 기 설정된 시점이 도래하는 경우, 채팅창(210)을 이용하여 해당 쳅터에 따른 특정 과제가 출력되도록 한다.In step S310, the
코드 에디터(122)는 채팅창(210)과 구분되는 별도의 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 특정 과제에 대응하는 코딩 입력정보를 수집한다(S320). 단계 S320에서, 코드 에디터(122)는 코드 에디터창(220)을 이용하여 복수의 학습자 단말기로부터 가이드에 따른 코딩 입력정보를 수집한다.The
컴파일러(120)는 코드 에디터(122)로부터 코딩 입력정보를 획득한다. 컴파일러(120)는 코드 에디터(122)로부터 획득한 코딩 입력정보를 분석한 코드 분석정보를 생성한다(S330).The
단계 S330에서, 컴파일러(120)는 코딩 입력정보에 포함된 코드정보를 추출한다. 컴파일러(120)는 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 중간 컴파일링한 코드 분석정보를 생성한다.In step S330, the
컴파일러(120)는 코딩 입력정보가 입력될 때마다 코딩 입력정보에 포함된 자연어(Natural Language), 코드정보에 포함된 (컴파일러에서 인식가능한) 신텍스 코드정보(Syntax Code)를 필수적으로 분석하여 코드 분석정보를 생성한다.Whenever coding input information is input, the
컴파일러(120)는 코딩 입력정보가 입력될 때마다 자연어와 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 코드 분석정보를 생성한다.The
컴파일러(120)는 자연어 처리와 서로 다른 루트(컴파일러)에 따라 신텍스 코드정보에 대응하는 데이터를 확인한다.The
컴파일러(120)는 코드 분석정보를 AI 엔진(130)으로 전송한다(S340).The
AI 엔진(130)은 컴파일러(120)로부터 수신한 코딩 입력정보, 컴파일러(120)로부터 수신된 코드 분석정보를 기반으로 피드백정보(FeedBack Information)를 추출한다. AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력한다(S350). AI 엔진(130)은 피드백정보를 AI 튜터 챗봇(110) 또는 코드 에디터(122) 중 어느 하나에 적합한 포맷으로 변환하여 전달한다.The
단계 S350에서 AI 엔진(130)은 기 설정된 루트(자연어 인터페이스(Natural Language Interface), 프로그래밍 인어 인터페이스(Programming Language Interface)에 따라 자연어를 해석하여 시멘틱 데이터(Semantic Data)를 생성한다.In step S350, the
AI 엔진(130)은 시멘틱 데이터와 신텍스 코드정보에 대응하는 데이터를 기반으로 피드백정보를 추출한다. The
AI 엔진(130)은 적응적 컨텐츠 제공부(132)를 이용하여 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 AI 튜터 챗봇(110)으로 하여금 피드백정보가 채팅창 상에 도움말, 함수의 사용양식 제시, 모범 답안 중 적어도 하나 이상의 데이터가 자연어 기반의 텍스트, 사운드, 동영상 중 적어도 하나 이상의 형태로 출력되도록 한다.The
AI 엔진(130)은 피드백정보에 포함된 정보를 기반으로 적응적으로 데이터 포맷을 변환하여 코드 에디터(122)로 하여금 피드백정보가 코드 에디터창(220) 상에 문법 체크를 적용하여 코딩 입력정보를 수정하는 형태로 출력되도록 한다.The
단계 S350 이후에 AI 엔진(130)은 피드백정보를 실시간으로 AI 튜터 챗봇(110) 또는 코드 에디터(122)로 출력하여 학습자 단말기에서 자신이 입력한 코딩 입력정보에 대응하는 피드백정보를 실시간으로 받아볼 수 있도록 한다.After step S350, the
도 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)
코드 에디터(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.
상기 특정 과제를 자연어로 출력하는 과정 전에,
상기 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.
상기 컴파일러에서 상기 코딩 입력정보에 포함된 코드정보를 추출하고, 상기 코드정보에 대한 코드 문법 오류, 코드 작성 속도, 선택 함수, 변수 접합성 중 적어도 하나 이상을 실시간으로 분석하여 컴파일링한 상기 코드 분석정보를 생성하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.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.
상기 피드백정보를 실시간으로 상기 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.
상기 컴파일러에서 상기 코딩 입력정보가 입력될 때마다 상기 코딩 입력정보에 포함된 자연어(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.
상기 컴파일러에서 상기 코딩 입력정보가 입력될 때마다 상기 자연어와 상기 신텍스 코드정보를 분석하여 코드 내역, 작업 내역, 입력 지연 시간, 코딩 시간, 입력 패턴 및 발생 에러 중 적어도 하나 이상을 선택적으로 분석하여 상기 코드 분석정보를 생성하는 것을 특징으로 하는 코딩학습 플랫폼 제공 방법.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.
상기 컴파일러에서 자연어 처리와 서로 다른 루트에 따라 상기 신텍스 코드정보에 대응하는 데이터를 확인하면,
상기 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.
상기 특정 과제에 대한 코딩이 완료되기 전에
상기 코드 에디터에서 상기 코드 에디터창을 이용하여 복수의 학습자 단말기로부터 코딩중 입력정보를 수집하며,
상기 컴파일러에서 상기 코딩중 입력정보를 분석하여 코딩중 분석정보를 생성하여 상기 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.
상기 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.
상기 특정 과제에 대한 코딩이 완료된 후
상기 코드 에디터에서 상기 코드 에디터창을 이용하여 복수의 학습자 단말기로부터 코딩완료 입력정보를 수집하며,
상기 컴파일러에서 상기 코딩완료 입력정보를 분석한 코딩완료 분석정보를 생성하여 상기 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.
상기 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.
상기 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.
상기 채팅창과 구분되는 별도의 코드 에디터창(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.
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)
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)
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 |
-
2019
- 2019-02-14 KR KR1020190017411A patent/KR102192581B1/en active IP Right Grant
Patent Citations (4)
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)
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 |