KR20190011311A - Device and method for software coding training - Google Patents

Device and method for software coding training Download PDF

Info

Publication number
KR20190011311A
KR20190011311A KR1020190010144A KR20190010144A KR20190011311A KR 20190011311 A KR20190011311 A KR 20190011311A KR 1020190010144 A KR1020190010144 A KR 1020190010144A KR 20190010144 A KR20190010144 A KR 20190010144A KR 20190011311 A KR20190011311 A KR 20190011311A
Authority
KR
South Korea
Prior art keywords
coding
user
data
controller
information
Prior art date
Application number
KR1020190010144A
Other languages
Korean (ko)
Other versions
KR102499206B1 (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
Priority claimed from KR1020170002042A external-priority patent/KR20180080919A/en
Application filed by 조태연 filed Critical 조태연
Priority to KR1020190010144A priority Critical patent/KR102499206B1/en
Publication of KR20190011311A publication Critical patent/KR20190011311A/en
Application granted granted Critical
Publication of KR102499206B1 publication Critical patent/KR102499206B1/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • 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
    • 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
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

The present invention relates to a coding education device and a coding education method. The coding education method according to the present invention comprises the steps of: selecting a problem to be presented to a user among a plurality of problems; presenting the selected problem to the user; receiving coding data from the user by providing a coding interface; transmitting the coding data input by the user to a controller through the coding interface; and receiving execution result data of the coding data from the controller and verifying whether the problem presented to the user is solved based on the execution result data.

Description

코딩 교육 장치 및 코딩 교육 방법{DEVICE AND METHOD FOR SOFTWARE CODING TRAINING}≪ Desc / Clms Page number 1 > DEVICE AND METHOD FOR SOFTWARE CODING TRAINING &

본 발명은 코딩 교육 장치 및 코딩 교육 방법에 관한 것으로, 보다 상세하게는 다양한 하드웨어를 이용하여 소프트웨어 코딩 교육을 수행하는 코딩 교육 장치 및 코딩 교육 방법에 대한 것이다. The present invention relates to a coding education apparatus and a coding education method, and more particularly, to a coding education apparatus and a coding education method for performing software coding education using various hardware.

최근 소프트웨어 교육의 중요성이 대두되고 있다. Recently, the importance of software education is emerging.

근래 들어 스마트폰과 같은 개인화된 디바이스의 보급으로 인해 이러한 디바이스에서 구동하는 다양한 소프트웨어 프로그램이 갖는 영향력을 경험하게 되었다. 또한 잘 만들어 낸 소프트웨어 하나가 종래의 산업 분야를 대체하거나 막대한 경제적 수익을 창출하는 사례가 늘고있다.In recent years, the spread of personalized devices such as smart phones has led to the impact of various software programs running on these devices. In addition, there is an increasing number of cases where a well-created software replaces a conventional industry or creates huge economic returns.

그에 따라 소프트웨어 산업 육성의 기틀을 마련하고, 학생들의 논리적인 사고력과 문제 해결 능력을 향상시기키 위해 여러 나라에서 소프트웨어 교육을 의무화하기에 이르렀다. As a result, it has become mandatory for software education in many countries to lay the groundwork for software industry development and to improve students' logical thinking and problem-solving skills.

소프트웨어 교육은 컴퓨터적 사고를 통해 문제를 해결하는 능력을 키우는 교육으로서, 문제를 접하면 문제 해결을 위한 알고리즘을 설계하고 이를 프로그래밍 언어로 코딩하는 과정을 거쳐 완성된 프로그램 코드를 디바이스에 적용하여 문제를 해결하는 단계적인 과정으로 수행된다. Software education is the education to develop the ability to solve problems through computer thinking. After designing the algorithm to solve the problem when the problem is encountered, it is coded in the programming language and the completed program code is applied to the device. It is a step-by-step process to solve.

그러나 소프트웨어 교육의 의무화에도 불구하고 교육 현장에서는 소프트웨어를 가르칠 인력, 교육 프로그램, 그리고 교구의 부족이 심각한 상황이다. However, despite the mandatory training of software, there is a serious shortage of personnel, education programs, and dioceses to teach software in the field of education.

따라서 누구나 쉽게 소프트웨어 교육을 받을 수 있도록 하는 교육 방법이 필요하다. Therefore, there is a need for a training method that allows anyone to easily receive software training.

한국 공개특허 제10-2016-0094102호는 사물 인터넷 교육용 시스템에 대해 개시하고 있다. 그러나 소프트웨어 교육에 익숙하지 않은 학생들에게는 이러한 종래의 교육용 시스템을 이용하여 어떤 문제를 해결하는 실습을 수행해야 할지 결정하기 어려울 뿐 아니라 실습 과정에서 선생님 등의 조력자가 필요해 스스로 문제해결을 할 수 있도록 교육하기 어렵다는 문제점이 있었다. Korean Patent Laid-Open Publication No. 10-2016-0094102 discloses a system for object Internet education. However, it is difficult for students who are not accustomed to software training to determine how to solve the problem by using the conventional educational system. In addition, it is necessary to educate the teacher in order to solve problems by oneself There was a problem that it was difficult.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information acquired by the inventor for the derivation of the present invention or obtained in the derivation process of the present invention, and can not necessarily be a known technology disclosed to the general public before the application of the present invention .

본 발명의 일 실시예는, 프로그램 코딩을 통해 해결할 수 있는 다양한 문제를 제시할 수 있는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.An embodiment of the present invention is directed to a coding education apparatus and a coding education method capable of presenting various problems that can be solved through program coding.

본 발명의 일 실시예는, 학생의 수준과 상황에 맞는 문제를 제시할 수 있는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.An embodiment of the present invention aims to provide a coding education apparatus and a coding education method that can present a problem suited to a level and a situation of a student.

또한 본 발명의 일실시예는, 제시된 문제의 해결에 필요한 정보를 동영상을 통해 제공하여 학생 스스로 코딩 실습을 수행할 수 있도록 하는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.Another object of the present invention is to provide a coding education apparatus and a coding education method which enable a student to perform a coding practice by providing information necessary for solving a presented problem through a moving picture.

그리고 본 발명의 일실시예는 제시된 문제를 해결하였는지 여부를 확인하여 학생의 코딩 능력을 평가하고 그에 따라 문제를 제시하는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.An embodiment of the present invention has an object to provide a coding education apparatus and a coding education method for evaluating a coding ability of a student by confirming whether or not the presented problem is solved and presenting a problem according to the evaluation.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면 하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 수행되는 코딩 교육 방법은, 복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계; 선정된 문제를 상기 유저에게 제시하는 단계; 코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계; 상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 컨트롤러로 전송하는 단계; 그리고 상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함할 수 있다. According to a first aspect of the present invention, there is provided a coding training apparatus which is selectively connected to at least one hardware module and communicates with a controller for controlling an operation of the hardware module according to a program code A coding training method to be performed includes: selecting a problem to be presented to a user among a plurality of problems; Presenting the selected problem to the user; Receiving coding data from the user by providing a coding interface; Transmitting the coding data input by the user to the controller through the coding interface; And receiving execution result data of the coding data from the controller and verifying whether the problem presented to the user is solved based on the execution result data.

그리고 본 발명의 제 2 측면에 따르면, 하나 이상의 하드웨어 모듈과 선택적으로 결합하여 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치가 개시되며, 코딩 교육 장치는 복수의 문제에 대한 문제 데이터를 저장하는 저장부; 유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부; 상기 컨트롤러와 통신하여 상기 코딩 데이터를 상기 컨트롤러로 전달하고, 상기 코딩 데이터의 실행 결과 데이터를 수신하는 통신부; 그리고 상기 유저에게 제시될 문제를 선정하고, 상기 입출력부가 선정된 문제를 상기 유저에게 제시하고 상기 유저에게 코딩 인터페이스를 제공하도록 하며, 상기 통신부가 상기 코딩 인터페이스를 통해 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하도록 하고, 싱기 통신부가 상기 컨트롤러로부터 수신하는 상기 코딩 데이터의 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 제어부를 포함할 수 있다. According to a second aspect of the present invention, there is provided a coding education apparatus communicating with a controller that selectively associates with at least one hardware module and controls an operation of the hardware module according to a program code, A storage unit for storing problem data on the data; An input / output unit for presenting a problem to a user and receiving coding data for the presented problem from a user; A communication unit for communicating with the controller to transmit the coding data to the controller and receiving execution result data of the coding data; The input / output unit presents the selected problem to the user and provides the coding interface to the user. The communication unit transmits the coding data input by the user through the coding interface to the controller And a control unit for verifying whether or not the problem presented to the user is solved based on the execution result data of the coding data received from the controller by the singing communication unit.

그리고 본 발명의 제 3 측면에 따르면, 하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 실행되고, 코딩 교육 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램이 개시되며, 이때 코딩 교육 방법은, 복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계; 선정된 문제를 상기 유저에게 제시하는 단계; 코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계; 상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 컨트롤러로 전송하는 단계; 그리고 상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided a coding training apparatus, which is executed by a coding training apparatus which is selectively connected to at least one hardware module and communicates with a controller that controls an operation of the hardware module according to the program code, A computer program stored on a recording medium is disclosed, the method comprising: selecting a problem to be presented to a user among a plurality of problems; Presenting the selected problem to the user; Receiving coding data from the user by providing a coding interface; Transmitting the coding data input by the user to the controller through the coding interface; And receiving execution result data of the coding data from the controller and verifying whether the problem presented to the user is solved based on the execution result data.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는, 프로그램 코딩을 통해 해결할 수 있는 다양한 문제를 제시할 수 있다.According to any one of the above-mentioned objects of the present invention, an embodiment of the present invention can present various problems that can be solved through program coding.

본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 학생의 수준과 상황에 맞는 문제를 제시할 수 있다. According to one of the tasks of the present invention, an embodiment of the present invention can present a problem suited to a level and a situation of a student.

또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명의 일실시예는, 제시된 문제의 해결에 필요한 정보를 동영상을 통해 제공하여 학생 스스로 코딩 실습을 수행할 수 있도록 한다. According to any one of the tasks of the present invention, an embodiment of the present invention provides information necessary for solving a presented problem through a moving picture, so that a student can conduct a coding exercise.

그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명의 일실시예는 제시된 문제를 해결하였는지 여부를 확인하여 학생의 코딩 능력을 평가하고 그에 따라 문제를 제시함으로써 실력 향상에 도움이 될 수 있다.According to any one of the tasks of the present invention, an embodiment of the present invention can help improve the ability of a student by checking whether the presented problem is solved, evaluating the student's coding ability and presenting a problem accordingly.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.

도 1은 본 발명의 일 실시예에 따른 코딩 교육 장치를 포함하는 코딩 교육 시스템을 도시한 구성도이다.
도 2는 본 발명의 일 실시예에 따른 코딩 교육 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 코딩 교육 방법을 단계적으로 도시한 흐름도이다.
1 is a block diagram illustrating a coding education system including a coding education apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a coding training apparatus according to an embodiment of the present invention.
FIG. 3 is a flowchart showing a step of a coding training method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 코딩 교육 장치를 포함하는 코딩 교육 시스템을 도시한 구성도이고, 도 2는 본 발명의 일 실시예에 따른 코딩 교육 장치의 구성을 도시한 블록도이다. FIG. 1 is a block diagram illustrating a coding education system including a coding education apparatus according to an embodiment of the present invention, and FIG. 2 is a block diagram illustrating a configuration of a coding education apparatus according to an embodiment of the present invention.

우선 도 1에 도시된 바와 같이 본 발명의 실시예에 의한 코딩 교육 시스템(100)은 코딩 교육 장치(10)와, 컨트롤러(21) 및 그 외의 하나 이상의 하드웨어 모듈들을 포함하는 하드웨어 디바이스(20)를 포함하여 구성되고, 선택적으로 코딩 교육 장치(10)와 네트워크(N)를 통해 통신하는 교육 서버(30)를 더 포함할 수 있다. 1, a coding education system 100 according to an embodiment of the present invention includes a coding education device 10, a hardware device 20 including a controller 21 and one or more other hardware modules And may further comprise a training server 30 which communicates with the coding education apparatus 10 via the network N. [

이때 코딩 교육 장치(10)는 코딩 교육 대상인 학생 유저가 사용하는 단말로서 본 발명의 실시예에 따른 코딩 교육 방법을 수행하는 코딩 교육 프로그램이 설치되고 이를 실행하는 역할을 한다. At this time, the coding education apparatus 10 is a terminal used by a student user who is a subject of coding education, and a coding education program for performing a coding education method according to an embodiment of the present invention is installed and executes the same.

구체적으로 코딩 교육 장치(10)는 예를 들어, 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant),GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다. Specifically, the coding training apparatus 10 can be implemented by, for example, a computer, a portable terminal, a television, a wearable device, or the like. Here, the computer includes, for example, a notebook computer, a desktop computer, a laptop computer, and the like on which a web browser (WEB Browser) is mounted, and the portable terminal is, for example, (PCS), a PDC (Personal Digital Cellular), a PHS (Personal Handyphone System), a PDA (Personal Digital Assistant), a GSM (Global System for Mobile communications), an IMT (International Mobile Telecommunication) (W-CDMA), Wibro (Wireless Broadband Internet), Smart Phone, Mobile WiMAX (Mobile Worldwide Interoperability for Microwave Access), etc. Handheld based wireless communication devices. In addition, the television may include an Internet Protocol Television (IPTV), an Internet television (TV), a terrestrial TV, a cable TV, and the like. Further, the wearable device is an information processing device of a type that can be directly worn on a human body, for example, a watch, a glasses, an accessory, a garment, shoes, and the like. The wearable device can be connected to a remote server via a network, Lt; / RTI >

또한 하드웨어 디바이스(20)는 하드웨어 디바이스(20)를 제어하는 제어 모듈로서 컨트롤러(21)와, 컨트롤러(21)에 직접 또는 간접적으로 연결되어 각종 하드웨어 모듈들을 포함할 수 있다. 이때 하드웨어 모듈들은, 유저의 입력을 수신하거나 온도 또는 습도 등 외부 상태를 감지하거나 RF신호를 수신하는 등 외부정보를 입력받는 입력모듈들과, LCD나 LED 모듈과 같이 시각적으로 정보를 출력하는 수단이나 청각적 정보를 출력하는 수단, 모터나 소형 로봇과 같은 엑츄에이터 등과 같은 출력모듈들, 그리고 데이터를 하나의 모듈에서 다른 모듈로 전달하는 통신모듈들을 포함할 수 있다. 그리고 컨트롤러(21)와 하드웨어 모듈들 각각은 다른 모듈과 연결되기 위한 커넥터를 구비하거나 또는 무선 통신 모듈을 구비할 수 있다. The hardware device 20 may also include a controller 21 as a control module for controlling the hardware device 20 and various hardware modules connected directly or indirectly to the controller 21. In this case, the hardware modules include input modules for receiving external information such as receiving user's input, detecting an external condition such as temperature or humidity, receiving an RF signal, and means for visually outputting information such as an LCD or an LED module Means for outputting auditory information, output modules such as actuators, such as motors or miniature robots, and communication modules for transferring data from one module to another. Each of the controller 21 and the hardware modules may have a connector to be connected to another module or may include a wireless communication module.

그리고 교육 서버(30)는 코딩 교육 장치(10)와 통신하여 각종 데이터를 교환하는 정보처리장치로서, 코딩 교육 장치(10)로 후술할 문제 데이터를 제공할 수 있고, 코딩 교육 장치(10)가 각 유저에 대해 수집하는 검증 결과에 대한 데이터를 축적할 수 있으나, 본 발명의 실시예에 의한 코딩 교육 시스템(100)에 반드시 구성되는 것은 아니고, 코딩 교육 장치(10)에 설치되어 구동하는 코딩 교육 프로그램이 서버-클라이언트 시스템의 클라이언트로 구성되는 경우에 코딩 교육 시스템(100)에 포함될 수 있다. The education server 30 is an information processing apparatus that communicates with the coding education apparatus 10 to exchange various data and can provide problem data to be described later to the coding education apparatus 10, It is not necessarily constituted by the coding education system 100 according to the embodiment of the present invention but may be constituted by a coding education which is installed in the coding education apparatus 10, And may be included in the coding education system 100 when the program is configured as a client of the server-client system.

코딩 교육 장치(10)의 구성을 보다 상세하게 살펴보면, 도 2에 도시된 바와 같이 코딩 교육 장치(10)는, 복수의 문제에 대한 문제 데이터를 저장하는 저장부(11)와, 유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부(12), 유저에게 제시될 문제를 선정하고, 입출력부(12)가 선정된 문제를 유저에게 제시하고, 유저에게 코딩 인터페이스를 제공하도록 하여 유저로부터 코딩 데이터를 입력받는 제어부(13), 그리고 컨트롤러(21)와 통신하여 코딩 데이터를 컨트롤러(21)로 전달하고, 컨트롤러(21)로부터 코딩 데이터의 실행 결과 데이터를 수신하는 통신부(14)를 포함할 수 있다. 2, the coding training apparatus 10 includes a storage unit 11 for storing problem data for a plurality of problems, a storage unit 11 for storing a problem to the user, An input / output unit 12 for presenting the coding data for the presented problem from the user, a problem to be presented to the user, and the input / output unit 12 presents the selected problem to the user and provide the coding interface to the user A communication unit 14 that communicates with the controller 21 to transmit the coding data to the controller 21 and receives the execution result data of the coding data from the controller 21, . ≪ / RTI >

이때 제어부(13)는 통신부(14)가 컨트롤러(21)로부터 수신하는 코딩 데이터의 실행 결과 데이터에 기초하여 유저에게 제시된 문제의 해결 여부를 검증할 수 있다.At this time, the control unit 13 can verify whether or not the problem presented to the user is solved based on the execution result data of the coding data received from the controller 21 by the communication unit 14. [

구체적으로, 코딩 교육 장치(10)의 저장부(11)는 데이터를 기입 또는 독출 가능하게 저장하는 수단으로서, 적어도 일시적으로 또는 지속하여 문제 데이터를 저장하고 갱신할 수 있다. 또한 저장부(11)에는 유저의 코딩 실력을 산출하기 위한 기초가 되는 문제 해결 여부에 대한 검증 결과가 누적하여 기록될 수 있다.Specifically, the storage unit 11 of the coding training apparatus 10 can store and update the problem data at least temporarily or continuously as means for storing the data in a writable or readable manner. Also, the storage unit 11 may accumulate and record verification results as to whether or not a problem is solved, which is a basis for calculating a user's coding skill.

여기서 저장부(11)에 저장되는 문제 데이터는, 각각의 문제를 서로 구분할 수 있도록 각 문제 데이터에 부여되는 문제 식별정보와 문제의 내용을 포함하는 문제정보를 포함할 수 있다. 여기서 문제정보는, 유저가 해결해야할 문제를 유저가 이해할 수 있도록 설명하는 텍스트, 오디오, 이미지, 동영상 중 적어도 하나의 타입의 콘텐트이다. Here, the problem data stored in the storage unit 11 may include problem identification information given to each problem data and problem information including the content of the problem so that each problem can be distinguished from each other. Here, the problem information is at least one type of content, such as text, audio, image, or moving picture, which explains the user to understand a problem to be solved by the user.

여기서 ‘문제’는 유저가 하드웨어 디바이스(20)를 이용하여 해결할 수 있는 과제로서, 예를 들어 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’, 또는 ‘펌프를 구동시켜 컵에 물을 공급하면서, 컵의 수위가 제1설정 수위를 넘어서면 경고음이 울리고, 제2설정 수위를 넘어서면 펌프 구동이 멈추도록 하세요’ 등과 같은 구체적인 과제가 될 수 있다. 특히 입력모듈에 입력되거나 감지되는 특정 요소가 어떤 조건을 만족하였을 때 출력모듈의 출력을 어떻게 제어하라는 명령을 포함하는 과제일 수 있다. Here, the 'problem' is a problem that the user can solve using the hardware device 20. For example, if the temperature is more than 24 degrees Celsius, make the fan fan operate, and if the illuminance is less than 20 lux, 'Or' Turn on the pump when the water level is raised to the cup by driving the pump, if the water level of the cup exceeds the first set water level, a warning beep sounds and when the water level exceeds the second set water level ' . In particular, it may be an issue to include an instruction to control the output of the output module when a certain element input or detected in the input module satisfies a certain condition.

그리고 문제 데이터에는 문제 식별정보 및 문제정보와 더불어, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터, 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보 등이 포함될 수 있다. The problem data includes, in addition to the problem identification information and the problem information, additional information necessary for solving the problem, information on the type of one or more hardware modules to be used for solving the problem, And guiding information for guiding the change of external conditions for controlling the operation of one or more hardware modules corresponding to the problem, and the like.

이때 문제의 해결에 필요한 부가정보는 예를 들어, 문제를 해결하기 위한 프로그램 코드를 작성하는데 사용되어야 할 특정 명령어나 변수 설정 방법, 문제에 포함된 변수의 단위를 하드웨어 모듈에서 사용하는 단위로 변환하는 방법, 문제 해결에 사용되는 하드웨어 모듈에 대한 설명 등과 같이 문제를 이해하고 해결하기 위해 필요한 지식들을 포함할 수 있다. 여기서 문제정보와 부가정보는 각각 독립된 동영상 콘텐트, 또는 하나의 동영상 콘텐트로 구성될 수 있으며 문제정보가 제공된 이후 부가정보가 제공되는 순서로 순차적으로 제공될 수 있다. 그러나 반드시 동영상 콘텐트로 구성되어야 하는 것은 아니다. In this case, the additional information necessary for solving the problem includes, for example, a specific instruction or a variable setting method to be used for writing the program code for solving the problem, a method of converting the unit of the variable included in the problem into the unit used in the hardware module Methods, and descriptions of the hardware modules used to troubleshoot the problem. Here, the problem information and the additional information may be composed of independent moving picture contents or one moving picture content, and may be sequentially provided in the order in which additional information is provided after the problem information is provided. But it does not have to consist of video content.

그리고 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보는, 각 문제를 해결하는데 필수적으로 요구되는 하드웨어 모듈의 종류에 대한 정보로서, 예를 들어 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제의 해결을 위해서는, 온도센서 모듈과 선풍기 팬이 장착된 모터가 포함된 하드웨어 모듈이 요구되고, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’라는 문제의 해결을 위해서는, 조도센서 모듈과 LED 램프를 포함하는 하드웨어 모듈이 요구된다. 또한 ‘펌프를 구동시켜 컵에 물을 공급하면서, 컵의 수위가 제1설정 수위를 넘어서면 경고음이 울리고, 제2설정 수위를 넘어서면 펌프 구동이 멈추도록 하세요’라는 문제의 해결을 위해서는 펌프 모듈과, 수위센서 모듈, 경고음을 울리는 버저(Buzzer) 모듈 등이 요구된다. 따라서 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보는 예시한 바와 같이 요구되는 하드웨어 모듈들의 종류에 대한 정보와, 선택적으로 각 종류별로 필요한 하드웨어 모듈의 개수 등에 정보를 포함할 수 있다. Information on the type of one or more hardware modules to be used for solving the problem is information on the types of hardware modules that are indispensably required to solve each problem. For example, if the temperature is 24 degrees Celsius or more, To solve this problem, a hardware module including a temperature sensor module and a motor equipped with a fan fan is required. In order to solve the problem of 'turn on the light if the illuminance is less than 20 lux' A hardware module including an illuminance sensor module and an LED lamp is required. Further, in order to solve the problem of 'when the pump is driven to supply water to the cup, when the water level of the cup exceeds the first predetermined water level, a warning sound sounds and when the water level exceeds the second set water level, A water level sensor module, and a buzzer module for sounding a warning sound. Accordingly, the information on the type of one or more hardware modules to be used for solving the problem may include information on the type of required hardware modules and optionally the number of hardware modules required for each type .

또한 문제의 해결 여부를 확인하기 위해 실행 결과 데이터와 비교되는 검증 데이터는 유저에게 제시된 문제를 해결하였는지 또는 해결하지 못하였는지 여부를 확인하기 위한 것으로, 문제를 정상적으로 해결했을 때의 실행 결과 데이터에 대응하는 데이터이다. The verification data, which is compared with the execution result data to check whether or not the problem has been solved, is to confirm whether the problem presented to the user has been solved or not solved. Data.

이때 실행 결과 데이터는, 문제 해결에 이용되는 각 하드웨어 모듈에서 입력 또는 출력되는 파라미터들의 값을 포함할 수 있으며, 예를 들어, 온도센서 모듈이 이용되는 문제에서는 온도센서 모듈이 감지하여 출력하는 온도 파라미터의 값이 될 수 있고, LED 램프 모듈이 이용되는 문제에서는 LED 램프의 점멸 여부나 색상, 밝기 등에 대한 파라미터의 값이 될 수 있다. In this case, the execution result data may include values of parameters input or output in each hardware module used for problem solving. For example, in the case where the temperature sensor module is used, the temperature parameter , And in the case where the LED lamp module is used, it may be a parameter value of whether the LED lamp is blinking, color, brightness, and the like.

따라서 검증 데이터도 실행 결과 데이터에 대응하는 파라미터 값으로 설정될 수 있으며, 예를 들어, ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제에 대해 검증 데이터는 온도의 범위와 그에 대응하는 선풍기 팬의 구동 상태에 대한 정보, 구체적으로 온도가 섭씨 24도 미만인 구간에서는 선풍기 팬의 구동 제어 신호가 ‘0’으로, 온도가 섭씨 24도 이상인 구간에서는 선풍기 팬의 구동 제어 신호가 ‘1’이 되어야 하는 것으로 설정될 수 있다. Therefore, the verification data can also be set to parameter values corresponding to the execution result data. For example, if the temperature is more than 24 degrees Celsius, make sure that the fan is driven. Specifically, in the section where the temperature is less than 24 degrees Celsius, the driving control signal of the fan is '0'. In the section where the temperature is more than 24 degrees Celsius, the fan control signal of the fan is '1' Can be set.

또한 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보는, 코딩 데이터가 컨트롤러(21)로 전달된 후 컨트롤러(21)가 코딩 데이터를 실행하는 동안에 문제 해결에 이용되기 위해 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈에 입력되거나 감지되는 외부조건이 변경되도록 하는 동작을 가이드하는 정보를 포함할 수 있다. 예를 들어, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’라는 문제가 제시되고 이에 대한 코딩 데이터가 컨트롤러(21)에 의해 실행되고 있는 상태에서 ‘조도센서를 손으로 감싸 어둡게 해보세요’ 또는 ‘조도센서를 조명 아래로 가져가 밝게 해보세요’ 등과 같이 유저가 직접 행동으로서 외부조건을 변경할 수 있도록 가이드하는 정보를 포함할 수 있다. The guidance information guiding the change of the external condition for controlling the operation of the one or more hardware modules corresponding to the problem may be set so that the controller 21 can not solve the problem while the controller 21 executes the coding data after the coding data is transmitted to the controller 21. [ And to guide the operation of causing external conditions to be changed or inputted to one or more hardware modules connected to the controller 21 to be used in the controller 21. For example, when the 'illumination is less than 20 lux', a problem of 'turn on the illumination' is suggested. In the state where the coding data for the illumination is being executed by the controller 21, 'darken the illumination sensor by hand' &Quot;, " Try bringing the sensor under the illumination and brighten ", etc., to guide the user to change the external condition as a direct action.

한편 입출력부(12)는 데이터나 명령을 입력하거나 출력하는 수단으로서, 예를 들어 마우스, 키보드, 터치패널 등의 입력수단과 디스플레이, 스피커 등의 출력수단을 포함하며, 터치패널과 스크린이 결합된 터치스크린 등을 포함할 수도 있다. The input / output unit 12 includes input means such as a mouse, a keyboard, and a touch panel, and output means such as a display and a speaker. The input / output unit 12 includes a touch panel and a screen A touch screen, and the like.

입출력부(12)는 유저가 해결할 문제에 대한 정보를 화면을 통해 출력하고, 유저에게 코딩 인터페이스, 즉 프로그램 코드를 입력받아 코딩 데이터를 생성하기 위한 사용자 인터페이스를 제공할 수 있다. The input / output unit 12 may output information on a problem to be solved by the user through a screen, and may provide a user interface for generating a coding data by receiving a coding interface, that is, a program code.

제어부(13)는 저장부(11)에 데이터를 기입하거나 저장부(11)로터 필요한 데이터를 독출하고, 입출력부(12)와 후술할 통신부(13)를 제어하는 수단으로서, 상술한 바와 같이 유저에게 제시될 문제를 선정하고, 입출력부(12)가 선정된 문제를 유저에게 제시하며, 유저에게 코딩 인터페이스를 제공하도록 하여 유저로부터 코딩 데이터를 입력받는다. 또한 제어부(13)는 통신부(14)가 컨트롤러(21)로부터 수신하는 코딩 데이터의 실행 결과 데이터에 기초하여 유저에게 제시된 문제의 해결 여부를 검증할 수 있다.The control unit 13 is means for writing data in the storage unit 11 or reading data necessary for the rotor of the storage unit 11 and controlling the input / output unit 12 and a communication unit 13 to be described later. The input / output unit 12 presents the selected problem to the user, and provides the user with the coding interface to receive the coding data from the user. The control unit 13 can also verify whether the problem presented to the user is solved based on the execution result data of the coding data received from the controller 21 by the communication unit 14. [

제어부(13)는, 구체적으로 입출력부(12)를 통해 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하고, 획득된 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정할 수 있다. The control unit 13 specifically acquires the hardware hardware information including information on the type of the hardware module held by the user through the input / output unit 12, and based on the acquired hardware information, You can use the available hardware modules to select a problem that can be solved.

동일한 하드웨어 모듈들을 포함하는 패키지가 코딩 교육 시스템(100)에 포함되더라도 일부 유저는 하드웨어 모듈들 중 적어도 일부를 분실하거나 추가적으로 하드웨어 모듈을 구매할 수 있으므로, 각각의 유저가 보유하고 있는 하드웨어 모듈들의 종류와 수가 상이할 수 있다.Even if a package including the same hardware modules is included in the coding education system 100, some users may lose at least some of the hardware modules or purchase additional hardware modules. Therefore, the types and numbers of the hardware modules Can be different.

따라서 제어부(13)는 문제를 제시하기 전에 유저의 보유 하드웨어 정보를 획득하고 그에 따라 유저가 보유한 하드웨어 모듈들에 대한 정보를 참조하여 문제를 선정할 수 있다. 이때 제어부(13)는 각 문제의 문제 데이터에 포함된 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보를 참조하여 유저가 보유하고 있는 하드웨어 모듈을 이용해서 해결할 수 있는 문제를 선정할 수 있다. Therefore, the control unit 13 can acquire the user's hardware information before presenting the problem, and select the problem by referring to the information about the hardware modules held by the user. At this time, the control unit 13 refers to the information on the type of one or more hardware modules to be used in resolving the problems included in the problem data of each problem, and selects a problem that can be solved by using the hardware module held by the user .

이때 제어부(13)는 유저로 하여금 코딩 교육 장치(10)에 컨트롤러(21)를 연결하도록 하고, 컨트롤러(21)에 유저가 보유한 각각의 하드웨어 모듈을 연결하도록 하며, 이로써 컨트롤러(21)가 연결된 하드웨어 모듈의 종류를 감지하여 코딩 교육 장치(10)로 전달하도록 할 수 있다. 또는 유저에게 하드웨어 모듈의 모든 종류를 표시하고 이들 중에서 유저가 스스로 자신이 보유한 하드웨어 모듈의 종류를 선택하도록 할 수도 있다. At this time, the control unit 13 causes the user to connect the controller 21 to the coding training apparatus 10 and connect the respective hardware modules held by the user to the controller 21, It is possible to detect the type of the module and transmit it to the coding training apparatus 10. Alternatively, it is possible to display all kinds of hardware modules to the user and allow the user to select the type of the hardware module he / she holds by himself / herself.

한편 제어부(13)는 입출력부(12)가 선정된 문제에 대응하는 문제 동영상을 재생하도록 할 수 있다. 이때 문제 동영상은, 상술한 문제정보와 부가정보를 포함할 수 있다. On the other hand, the control unit 13 can cause the input / output unit 12 to reproduce the problem video corresponding to the selected problem. At this time, the problem video may include the above-described problem information and additional information.

이때 제어부(13)는, 입출력부(12)가 출력하는 화면 일측에 선정된 문제에 대응하는 문제 동영상이 재생되도록 하고 화면 타측에는 코딩 인터페이스가 제공되도록 할 수 있다. At this time, the control unit 13 may cause the problem video corresponding to the selected problem to be reproduced on one side of the screen output by the input / output unit 12, and provide the coding interface on the other side of the screen.

또한 제어부(13)는, 컨트롤러(21)로부터 컨트롤러(21) 및 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신할 수 있다. The control unit 13 may receive as the execution result data the value of a parameter input or output from at least one of the one or more hardware modules connected to the controller 21 and the controller 21 from the controller 21. [

한편 제어부(13)는, 선정된 문제에 대응하여 기 설정된 검증 데이터를 실행 결과 데이터와 비교하여 문제의 해결 여부를 검증할 수 있다.On the other hand, the control unit 13 can compare the predetermined verification data with the execution result data in response to the selected problem to verify whether or not the problem is solved.

이때 실행 결과 데이터는 상술한 바와 같이 컨트롤러(21) 또는 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터 값을 포함하는데, 예를 들어 온도센서 모듈이 감지하여 컨트롤러(21)로 전달한 온도정보와, 온도정보에 기초하여 컨트롤러(21)가 선풍기 팬 모듈로 전달하는 제어정보, 또는 선풍기 팬 모듈의 모터 구동 상태에 대한 정보 중 적어도 일부가 실행 결과 데이터로서 코딩 교육 장치(10)로 전달될 수 있다. At this time, the execution result data includes parameter values input or output in at least one of the one or more hardware modules connected to the controller 21 or the controller 21 as described above. For example, , At least a part of the information on the motor driving state of the fan fan module or the control information that the controller 21 transmits to the fan fan module based on the temperature information is transmitted as the execution result data to the coding training device 10 ). ≪ / RTI >

그리고 검증 데이터는 외부조건이 되는 파라미터 값이 속하는 범위와, 컨트롤러(21)에 연결된 출력모듈의 각 범위에 대응하는 바람직한 구동상태에 대한 정보를 포함할 수 있다. The verification data may include information on a range to which a parameter value as an external condition belongs and a preferable driving condition corresponding to each range of the output module connected to the controller 21. [

상술한 예와 같이 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제에 대한 검증 데이터는 섭씨 24도 미만의 범위 내에서 선풍기 팬의 구동상태의 정보 또는 선풍기 팬의 제어정보가, 선풍기 팬이 구동되지 않음을 나타내는 ‘0’이고, 섭씨 24도 이상의 범위 내에서는 선풍기 팬의 구동상태의 정보 또는 선풍기 팬의 제어정보가 선풍기 팬이 구동됨을 나타내는 ‘1’로 설정될 수 있다. As described above, the verification data for the problem 'if the temperature is higher than 24 degrees Celsius, allow the fan to be driven' has information of the driving state of the fan or control information of the fan of the fan within a range of less than 24 degrees Celsius, '0' indicating that the fan of the fan is not driven, and information of the driving state of the fan or control information of the fan may be set to '1' indicating that the fan is driven within the range of 24 degrees Celsius or more.

그리고 제어부(13)는 실행 결과 데이터가 전달되면, 실행 결과 데이터에 포함된 온도정보가 24도 미만일 때, 실행 결과 데이터에 포함된 선풍기 팬의 구동상태 정보 또는 제어정보가 ‘0’인 경우 실행 결과 데이터가 검증 데이터에 대응하므로 문제를 정상적으로 해결한 것으로 확인하고, 온도정보가 24도 미만일 때 선풍기 팬의 구동상태 정보 또는 제어정보가 ‘1’인 경우 실행 결과 데이터가 검증 데이터에 대응하지 않으므로 문제를 해결하지 못한 것으로 확인할 수 있다. When the execution result data is transmitted and the temperature information included in the execution result data is less than 24 degrees, if the driving state information or the control information of the fan of the fan included in the execution result data is '0' Since the data corresponds to the verification data, it is confirmed that the problem has been solved normally. If the driving state information or the control information of the fan is '1' when the temperature information is less than 24 degrees, the execution result data does not correspond to the verification data. It can be confirmed that it has not been solved.

또한 제어부(13)는 일정 시간 이상 실행 결과 데이터의 변화를 전달받아 변화하는 외부조건, 예를 들어 변화하는 온도정보에 따라 선풍기 팬의 구동상태 정보 또는 제어정보가 검증 데이터에 대응하여 변화하는지를 감시할 수 있다. 이때 제어부(13)는 상술한 안내정보를 출력하여 유저가 외부조건을 변화시키도록 하면서 실행 결과 데이터를 수신하고, 이를 검증 데이터와 비교하여 서로 다른 범위의 외부조건에서의 실행 결과 데이터가 모두 검증 데이터에 부합하는지를 확인할 수 있다. In addition, the control unit 13 monitors whether the driving state information or the control information of the fan is changed corresponding to the verification data according to the changed external condition, for example, the changing temperature information, . At this time, the control unit 13 outputs the above-described guide information to allow the user to change the external condition, receives the execution result data, compares the execution result data with the verification data, Can be confirmed.

예를 들어, 제어부(13)는, 코딩 데이터의 검증 과정에서 선정된 문제에 대응하는 검증 동영상을 입출력부(12)를 통해 재생할 수 있다. 이때 검증 동영상은, 상술한 안내정보를 포함하는 동영상 콘텐트일 수 있다. 여기서 제어부(13)는 검증 동영상의 재생 중에, 컨트롤러(@1)로부터, 컨트롤러(21) 및 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되고, 외부조건의 변경에 따라 변화하는 파라미터의 값을 실행 결과 데이터로서 수신하고, 실행 결과 데이터를 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증할 수 있다. For example, the control unit 13 can reproduce the verification video corresponding to the selected problem in the verification process of the coding data through the input / output unit 12. At this time, the verification video may be video content including the above-described guide information. Here, the controller 13 receives or outputs at least one of the one or more hardware modules connected to the controller 21 and the controller 21 from the controller (1) during reproduction of the verification moving picture, As the execution result data, and compare the execution result data with predetermined verification data corresponding to the selected problem to verify whether or not the problem is solved.

그리고 제어부(13)는, 저장부(11)에 유저의 문제 해결 여부의 검증 결과를 기록하고, 유저에 대해 누적 기록된 검증 결과에 기초한 유저의 실력 레벨에 따른 문제를 선정할 수 있다. 이를 위해 제어부(13)는 유저가 문제의 해결을 시도할 때마다 검증 결과를 기록하고 유저의 문제 해결 능력을 평가하여 실력 레벨을 부여할 수 있다. The control unit 13 records the verification result of the user's problem solving in the storage unit 11 and can select a problem according to the user's skill level based on the accumulated results of the verification for the user. For this, the control unit 13 can record the verification result each time the user tries to solve the problem, and can evaluate the problem solving ability of the user and give the skill level.

또한 이를 위하여 각 문제 데이터에는 각 문제의 난이도 레벨에 대한 정보가 포함될 수 있다. To this end, each problem data may include information on the difficulty level of each problem.

이에 따르면 제어부(13)는 유저에게 특정 난이도 레벨의 문제를 제시하고, 해당 문제를 유저가 해결하면 유저의 실력 레벨을 증가시킨 후 더 높은 난이도 레벨의 다른 문제를 제시할 수 있다. 반대로 제어부(13)는 유저에게 특정 난이도 레벨의 문제를 제시하고, 해당 문제를 유저가 해결하지 못하면 유저의 실력 레벨을 감소시킨 후 더 낮은 난이도 레벨의 다른 문제를 제시할 수 있다. According to this, the control unit 13 presents a problem of a specific difficulty level to the user, and when the user solves the problem, the user can increase the skill level and present another problem of a higher difficulty level. On the contrary, the control unit 13 presents a problem of a specific difficulty level to the user, and if the user can not solve the problem, the user can reduce the skill level and present another problem at a lower difficulty level.

한편 통신부(14)는 컨트롤러(21)와 통신하여 코딩 데이터를 컨트롤러(21)로 전달하고, 코딩 데이터의 실행 결과 데이터를 수신하는 역할을 수행하는 유선 또는 무선 통신 규격의 통신수단이다. 이때 통신부(14)는 컨트롤러(21)가 구비한 통신수단의 통신 규격과 대응하는 규격의 통신수단으로 구성될 수 있다. The communication unit 14 is a communication unit of a wired or wireless communication standard that communicates with the controller 21 to transmit the coding data to the controller 21 and receives the execution result data of the coding data. At this time, the communication unit 14 may be configured as communication means of a standard corresponding to the communication standard of the communication means provided in the controller 21. [

이하에서는 도 3을 참조하여 본 발명의 실시예에 의한 코딩 교육 장치(10)를 이용한 코딩 교육 방법을 설명한다. 도 3은 본 발명의 실시예에 의한 코딩 교육 방법을 단계적으로 도시한 흐름도이다. Hereinafter, a coding training method using the coding training apparatus 10 according to an embodiment of the present invention will be described with reference to FIG. FIG. 3 is a flowchart showing a step of a coding training method according to an embodiment of the present invention.

도 3에 도시된 실시예에 따른 코딩 교육 방법은, 도 1 내지 도 2에서 도시된 코딩 교육 장치에서 시계열적으로 처리되는 단계들을 포함할 수 있다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 내지 도 2에서 도시된 코딩 교육 장치에 관하여 이상에서 기술한 내용은 도 3에 도시된 실시예에 따른 코딩 교육 방법에도 적용될 수 있다.The coding training method according to the embodiment shown in FIG. 3 may include steps that are processed in a time-series manner in the coding training apparatus shown in FIGS. 1 and 2. FIG. Therefore, the contents described above with respect to the coding training apparatus shown in FIG. 1 and FIG. 2 can be applied to the coding training method according to the embodiment shown in FIG.

도 3을 참조하면, 본 발명의 일 실시예에 따른 코딩 교육 방법은, 코딩 교육 장치(10)가 유저의 보유 하드웨어 정보를 수신하는 단계(S31)로부터 시작될 수 있다. Referring to FIG. 3, a coding training method according to an embodiment of the present invention may be started from a step S31 in which the coding training apparatus 10 receives user's held hardware information.

그리고 코딩 교육 장치(10)는 저장된 복수의 문제 중에서, 보유 하드웨어 정보에 기초할 때, 유저가 보유한 하드웨어들만을 이용하여서도 해결 가능한 문제를, 유저에게 제시할 문제로 선정할 수 있다(S32). In step S32, the coding training apparatus 10 selects a problem that can be solved even if only the hardware possessed by the user is present, based on the stored hardware information among the plurality of stored problems, as a problem to be presented to the user.

이어서 코딩 교육 장치(10)는 선정된 문제를 유저에게 표시하여 제시한다(S33). 이때 문제의 제시는, 선정된 문제에 대한 문제정보를 포함하는 문제 동영상을 재생하는 방식으로 수행될 수 있으나 이에 한정되지는 않는다. Then, the coding training apparatus 10 displays the selected problem to the user and presents it to the user (S33). At this time, the presentation of the problem may be performed by a method of reproducing the problem video including the problem information on the selected problem, but the present invention is not limited thereto.

그리고 코딩 교육 장치(10)는 유저에게 코딩 인터페이스를 제공하여 유저가 프로그램 코드를 작성할 수 있도록 하며, 유저가 프로그램 코드를 완성하면, 유저가 작성한 프로그램 코드에 기초한 코딩 데이터를 컨트롤러(21)로 전송한다(S34). When the user completes the program code, the coding education device 10 transmits the coding data based on the user-created program code to the controller 21 (S34).

이때 코딩 인터페이스와 문제 동영상은 한 화면에 동시에 제공될 수 있다. At this time, the coding interface and the problem video can be simultaneously provided on one screen.

이어서 코딩 교육 장치(10)는 컨트롤러(21)로 전달한 코딩 데이터의 실행 결과 데이터를 컨트롤러(21)로부터 수신할 수 있다(S35). 이때 코딩 교육 장치(10)는 실행 결과 데이터를 실시간으로 수신하면서 동시에 안내정보를 포함하는 검증 동영상을 출력할 수 있다. Subsequently, the coding training apparatus 10 can receive execution result data of the coding data transmitted to the controller 21 from the controller 21 (S35). At this time, the coding training apparatus 10 can receive the execution result data in real time and simultaneously output the verification video including the guidance information.

한편 코딩 교육 장치(10)는 S35단계에서 수신된 실행 결과 데이터를 S33단계에서 유저에게 제시된 문제에 대응하여 기 저장된 검증 데이터와 비교하여, 실행 결과 데이터가 선정된 문제에 대한 해결 시에 대응하는 결과를 나타내는지 여부를 판단할 수 있다(S36).On the other hand, the coding education apparatus 10 compares the execution result data received in step S35 with the previously stored verification data in response to the problem presented to the user in step S33, and outputs the result corresponding to the solution of the problem (Step S36).

그리고 코딩 교육 장치(10)는 S36단계의 판단결과 문제를 해결하였다고 판단되면 유저의 문제 해결을 수행한 결과를 정답처리하고(S37), 반대의 경우 오답처리할 수 있다(S38). If it is determined in step S36 that the problem is solved, the coding training apparatus 10 corrects the result of performing the problem solving by the user (S37), and if not, the coding education apparatus 10 may process the error (S38).

또한 코딩 교육 장치(10)는 유저가 문제를 해결한 것으로 확인되면 다음 문제를 제시하여 해결을 시도하는 과정을 반복 수행할 수 있고, 문제를 해결하지 못한 것으로 확인되면 동일한 문제에 대한 코딩 데이터를 다시 작성하도록 할 수 있다. Also, if it is determined that the user has solved the problem, the coding education apparatus 10 can repeat the process of attempting to solve the problem by suggesting the next problem. If it is confirmed that the problem can not be solved, Can be created.

나아가 코딩 교육 장치(10)는 실행 결과 데이터에 대한 검증 결과 유저가 해당 문제에 대해 정답 처리되었는지 또는 오답 처리 되었는지를 기록하여 문제를 선정하는데 있어서, 난이도 조절에 활용할 수 있음은 앞서 설명한 바와 같다. Furthermore, as described above, the coding training apparatus 10 can be used to control difficulty in selecting a problem by recording whether the user has been corrected or incorrectly corrected for the problem as a result of verification of the execution result data.

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term " part " used in the present embodiment means a hardware component such as software or a field programmable gate array (FPGA) or an ASIC, and 'part' performs certain roles. However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functions provided within the components and components may be combined with a smaller number of components and components or separated from additional components and components.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.

도 3을 통해 설명된 실시예에 따른 코딩 교육 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The coding training method according to the embodiment described with reference to FIG. 3 may also be implemented in the form of a recording medium including instructions executable by a computer such as a program module executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

또한 본 발명의 일 실시예에 따르는 코딩 교육 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. Also, the coding training method according to an embodiment of the present invention may be implemented as a computer program (or a computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions that are processed by a processor and can be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language . The computer program may also be recorded on a computer readable recording medium of a type (e.g., memory, hard disk, magnetic / optical medium or solid-state drive).

따라서 본 발명의 일 실시예에 따르는 코딩 교육 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Thus, a coding training method according to an embodiment of the present invention can be implemented by a computer program as described above being executed by a computing device. The computing device may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using a variety of buses and can be mounted on a common motherboard or mounted in any other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Where the processor may process instructions within the computing device, such as to display graphical information to provide a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface And commands stored in memory or storage devices. As another example, multiple processors and / or multiple busses may be used with multiple memory and memory types as appropriate. The processor may also be implemented as a chipset comprised of chips comprising multiple independent analog and / or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may comprise volatile memory units or a collection thereof. In another example, the memory may be comprised of non-volatile memory units or a collection thereof. The memory may also be another type of computer readable medium such as, for example, a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. And the storage device can provide a large amount of storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium and may include, for example, devices in a SAN (Storage Area Network) or other configurations, and may be a floppy disk device, a hard disk device, Or a tape device, flash memory, or other similar semiconductor memory device or device array.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

Claims (17)

하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 수행되고,
복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계;
선정된 문제를 상기 유저에게 제시하는 단계;
코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계;
상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하는 단계; 그리고
상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함하고,
상기 검증하는 단계는,
상기 컨트롤러로부터 상기 컨트롤러 및 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신하는 단계; 그리고
상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는 단계를 포함하는, 코딩 교육 방법.
A coding training device that is selectively connected to at least one hardware module and communicates with a controller that controls the operation of the hardware module in accordance with the program code,
Selecting a problem to be presented to a user among a plurality of problems;
Presenting the selected problem to the user;
Receiving coding data from the user by providing a coding interface;
Transmitting the coding data input by the user to the controller through the coding interface; And
Receiving execution result data of the coding data from the controller and verifying whether or not the problem presented to the user is solved based on the execution result data,
Wherein the verifying step comprises:
Receiving a value of a parameter input or output from at least one of the controller and at least one hardware module connected to the controller as the execution result data; And
And comparing the execution result data with predetermined verification data corresponding to the selected problem to verify whether or not the problem is solved.
제1항에 있어서,
상기 선정하는 단계는,
상기 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하는 단계; 그리고
획득된 상기 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정하는 단계를 포함하는, 코딩 교육 방법.
The method according to claim 1,
Wherein the selecting comprises:
Obtaining retained hardware information including information on a type of a hardware module held by the user; And
And selecting a problem that can be solved using the hardware module possessed by the user, based on the acquired hardware information acquired.
제1항에 있어서,
상기 제시하는 단계는,
선정된 문제에 대응하는 문제 동영상을 재생하는 단계를 포함하고,
상기 문제 동영상은,
상기 선정된 문제의 내용을 포함하는 문제정보를 포함하고, 선택적으로 상기 선정된 문제의 해결에 필요한 부가정보를 더 포함하는 콘텐트인, 코딩 교육 방법.
The method according to claim 1,
The presenting step includes:
Reproducing the problem video corresponding to the selected problem,
The problem video includes:
Wherein the content further includes problem information including the content of the selected problem and optionally additional information necessary for solving the selected problem.
제3항에 있어서,
상기 문제 동영상을 재생하는 단계와 상기 코딩 인터페이스를 제공하는 단계는 적어도 일시적으로 동시에 수행되고,
상기 문제 동영상을 재생하는 단계와 상기 코딩 인터페이스를 제공하는 단계가 동시에 수행되는 경우, 상기 코딩 교육 장치가 출력하는 화면 일측에는 상기 선정된 문제에 대응하는 문제 동영상이 재생되고 화면 타측에는 상기 코딩 인터페이스가 제공되는, 코딩 교육 방법.
The method of claim 3,
The step of reproducing the problem video and the step of providing the coding interface are performed at least temporarily at the same time,
When the step of reproducing the problem video and the step of providing the coding interface are simultaneously performed, the problem video corresponding to the selected problem is reproduced on one side of the screen output by the coding training device, and the coding interface Provided, coded teaching method.
제1항에 있어서,
상기 코딩 교육 방법은,
상기 검증하는 단계의 검증 결과를 상기 유저에게 대해 기록하는 단계를 더 포함하고,
상기 선정하는 단계는,
상기 유저에 대해 기록된 검증 결과에 기초한 상기 유저의 실력 레벨에 따른 문제를 선정하는 단계를 포함하는, 코딩 교육 방법.
The method according to claim 1,
The coding training method includes:
And recording the verification result of the verification step to the user,
Wherein the selecting comprises:
And selecting a problem according to the user's skill level based on the verification result recorded for the user.
제1항에 있어서,
상기 검증하는 단계는,
상기 선정된 문제에 대응하는 검증 동영상을 재생하는 단계를 포함하고,
상기 검증 동영상은,
상기 선정된 문제의 해결 여부를 검증하기 위하여, 상기 선정된 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보를 포함하는 동영상 콘텐트를 포함하는, 코딩 교육 방법.
The method according to claim 1,
Wherein the verifying step comprises:
And reproducing the verification video corresponding to the selected problem,
In the verification video,
And video information including guide information for guiding changing of an external condition for controlling an operation of one or more hardware modules corresponding to the selected problem in order to verify whether or not the selected problem is solved, .
제6항에 있어서,
상기 검증하는 단계는,
상기 검증 동영상의 재생 중에, 상기 컨트롤러로부터, 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈에서 입력 또는 출력되고, 상기 외부조건의 변경에 따라 변화하는 파라미터의 값을 상기 실행 결과 데이터로서 수신하는 단계; 그리고
상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는 단계를 포함하는, 코딩 교육 방법.
The method according to claim 6,
Wherein the verifying step comprises:
Receiving, as playback result data, a value of a parameter that is input or output from one or more hardware modules connected to the controller during playback of the verification moving picture and changes according to a change of the external condition; And
And comparing the execution result data with predetermined verification data corresponding to the selected problem to verify whether or not the problem is solved.
제1항에 있어서,
상기 코딩 교육 장치에는, 복수의 문제에 대응하는 문제 데이터가 저장되고,
상기 문제 데이터는,
문제 식별정보, 문제의 내용을 포함하는 문제정보, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터를 포함하는, 코딩 교육 방법.
The method according to claim 1,
The coding training apparatus stores problem data corresponding to a plurality of problems,
The problem data includes:
Information on the type of one or more hardware modules to be used for solving the problem, information on the type of the hardware module to be used for solving the problem, information on the execution result data ≪ / RTI >
하나 이상의 하드웨어 모듈과 선택적으로 결합하여 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 있어서,
복수의 문제에 대한 문제 데이터를 저장하는 저장부;
유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부;
상기 컨트롤러와 통신하여 상기 코딩 데이터를 상기 컨트롤러로 전달하고, 상기 코딩 데이터의 실행 결과 데이터를 수신하는 통신부; 그리고
상기 유저에게 제시될 문제를 선정하고, 상기 입출력부가 선정된 문제를 상기 유저에게 제시하고 상기 유저에게 코딩 인터페이스를 제공하도록 하며, 상기 통신부가 상기 코딩 인터페이스를 통해 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하도록 하고, 상기 통신부가 상기 컨트롤러로부터 수신하는 상기 코딩 데이터의 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 제어부를 포함하고,
상기 통신부는,
상기 컨트롤러로부터 상기 컨트롤러 및 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신하고,
상기 제어부는,
상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는, 코딩 교육 장치.
CLAIMS What is claimed is: 1. A coding training apparatus for communicating with a controller that selectively controls one or more hardware modules and controls operation of the hardware modules according to program codes,
A storage unit for storing problem data on a plurality of problems;
An input / output unit for presenting a problem to a user and receiving coding data for the presented problem from a user;
A communication unit for communicating with the controller to transmit the coding data to the controller and receiving execution result data of the coding data; And
The input / output unit presents the selected problem to the user and provides the coding interface to the user, and the communication unit transmits the coding data input by the user to the controller through the coding interface And a control unit which verifies whether or not the problem presented to the user is solved based on execution result data of the coding data received from the controller by the communication unit,
Wherein,
As the execution result data, a value of a parameter input or output from at least one of the controller and at least one hardware module connected to the controller,
Wherein,
And compares the execution result data with predetermined verification data corresponding to the selected problem to verify whether or not the problem is solved.
제9항에 있어서,
상기 제어부는,
상기 입출력부를 통해 상기 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하고, 획득된 상기 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정하는, 코딩 교육 장치.
10. The method of claim 9,
Wherein,
Output device, acquires the hardware information including information on the type of the hardware module held by the user through the input / output unit, and issues a problem that can be solved by using the hardware module held by the user based on the acquired hardware information Selecting, coding training devices.
제9항에 있어서,
상기 제어부는,
상기 입출력부가 상기 선정된 문제에 대응하는 문제 동영상을 재생하도록 하고,
상기 문제 동영상은,
상기 선정된 문제의 내용을 포함하는 문제정보를 포함하고, 선택적으로 상기 선정된 문제의 해결에 필요한 부가정보를 더 포함하는 콘텐트인, 코딩 교육 장치.
10. The method of claim 9,
Wherein,
The input / output unit causes a problem movie corresponding to the selected problem to be reproduced,
The problem video includes:
Wherein the content further includes problem information including the content of the selected problem, and further includes additional information necessary for solving the selected problem.
제11항에 있어서,
상기 제어부는,
상기 입출력부가 출력하는 화면 일측에 상기 선정된 문제에 대응하는 문제 동영상이 재생되도록 하고 화면 타측에는 상기 코딩 인터페이스가 제공되도록 하는, 코딩 교육 장치.
12. The method of claim 11,
Wherein,
Outputting a problem video corresponding to the selected problem on one side of a screen output by the input / output unit and providing the coding interface on the other side of the screen.
제9항에 있어서,
상기 제어부는,
상기 저장부에 상기 유저의 문제 해결 여부의 검증 결과를 기록하고, 상기 유저에 대해 기록된 검증 결과에 기초한 상기 유저의 실력 레벨에 따른 문제를 선정하는, 코딩 교육 장치.
10. The method of claim 9,
Wherein,
Wherein the verification result of the user's problem solving is recorded in the storage unit and the problem is selected in accordance with the user's skill level based on the verification result recorded for the user.
제9항에 있어서,
상기 제어부는,
상기 선정된 문제에 대응하는 검증 동영상을 상기 입출력부를 통해 재생하고,
상기 검증 동영상은,
상기 선정된 문제의 해결 여부를 검증하기 위하여, 상기 선정된 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보를 포함하는 동영상 콘텐트인, 코딩 교육 장치.
10. The method of claim 9,
Wherein,
Outputting a verification video corresponding to the selected problem through the input / output unit,
In the verification video,
Wherein the guidance information is guided to change an external condition for controlling an operation of one or more hardware modules corresponding to the selected problem to verify whether or not the selected problem is solved.
제14항에 있어서,
상기 제어부는,
상기 검증 동영상의 재생 중에, 상기 컨트롤러로부터, 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈에서 입력 또는 출력되고, 상기 외부조건의 변경에 따라 변화하는 파라미터의 값을 상기 실행 결과 데이터로서 수신하고, 상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는, 코딩 교육 장치.
15. The method of claim 14,
Wherein,
Wherein during execution of the verification movie, a value of a parameter that is input or output from one or more hardware modules connected to the controller and changes according to a change of the external condition is received from the controller as the execution result data, With the predetermined verification data in response to the selected problem to verify whether or not the problem is solved.
제15항에 있어서,
상기 저장부에 저장되는 문제 데이터는,
문제 식별정보, 문제의 내용을 포함하는 문제정보, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터를 포함하는, 코딩 교육 장치.
16. The method of claim 15,
The problem data stored in the storage unit may include,
Information on the type of one or more hardware modules to be used for solving the problem, information on the type of the hardware module to be used for solving the problem, information on the execution result data ≪ / RTI > wherein the verification data is compared with the verification data.
코딩 교육 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.A computer program stored on a recording medium for performing the method recited in claim 1, which is performed by a coding training apparatus.
KR1020190010144A 2017-01-05 2019-01-25 Device and method for software coding training KR102499206B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190010144A KR102499206B1 (en) 2017-01-05 2019-01-25 Device and method for software coding training

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170002042A KR20180080919A (en) 2017-01-05 2017-01-05 Device and method for software coding training
KR1020190010144A KR102499206B1 (en) 2017-01-05 2019-01-25 Device and method for software coding training

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170002042A Division KR20180080919A (en) 2017-01-05 2017-01-05 Device and method for software coding training

Publications (2)

Publication Number Publication Date
KR20190011311A true KR20190011311A (en) 2019-02-01
KR102499206B1 KR102499206B1 (en) 2023-02-13

Family

ID=85202847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190010144A KR102499206B1 (en) 2017-01-05 2019-01-25 Device and method for software coding training

Country Status (1)

Country Link
KR (1) KR102499206B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102097923B1 (en) * 2019-10-17 2020-04-07 주식회사 멋쟁이사자처럼 Method for coding training that can calculate the coding efficiency, and computer program recorded on record-medium for executing method therefor
KR102097922B1 (en) * 2019-10-17 2020-04-07 주식회사 멋쟁이사자처럼 Method for coding training that can check the intelligibility, and computer program recorded on record-medium for executing method therefor
KR102097921B1 (en) * 2019-10-17 2020-05-29 주식회사 멋쟁이사자처럼 Method for coding training providing integrated user interface, and computer program recorded on record-medium for executing method therefor
KR20210051338A (en) 2019-10-30 2021-05-10 (주)캡티칭 Method for providing service of an coding education and computing device for the same
WO2023128530A1 (en) * 2021-12-30 2023-07-06 (주)유닛컴퍼니 Coding question recommendation system and coding question recommendation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122406A (en) * 2012-04-30 2013-11-07 도경민 Program learning system and the method thereof
KR20150050028A (en) * 2013-10-31 2015-05-08 삼성에스디에스 주식회사 Online coding learning method, server and system thereof
KR20160046947A (en) * 2014-10-20 2016-05-02 (주)트라이캣 Programmer competency assessment system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122406A (en) * 2012-04-30 2013-11-07 도경민 Program learning system and the method thereof
KR20150050028A (en) * 2013-10-31 2015-05-08 삼성에스디에스 주식회사 Online coding learning method, server and system thereof
KR20160046947A (en) * 2014-10-20 2016-05-02 (주)트라이캣 Programmer competency assessment system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102097923B1 (en) * 2019-10-17 2020-04-07 주식회사 멋쟁이사자처럼 Method for coding training that can calculate the coding efficiency, and computer program recorded on record-medium for executing method therefor
KR102097922B1 (en) * 2019-10-17 2020-04-07 주식회사 멋쟁이사자처럼 Method for coding training that can check the intelligibility, and computer program recorded on record-medium for executing method therefor
KR102097921B1 (en) * 2019-10-17 2020-05-29 주식회사 멋쟁이사자처럼 Method for coding training providing integrated user interface, and computer program recorded on record-medium for executing method therefor
KR20210051338A (en) 2019-10-30 2021-05-10 (주)캡티칭 Method for providing service of an coding education and computing device for the same
WO2023128530A1 (en) * 2021-12-30 2023-07-06 (주)유닛컴퍼니 Coding question recommendation system and coding question recommendation method

Also Published As

Publication number Publication date
KR102499206B1 (en) 2023-02-13

Similar Documents

Publication Publication Date Title
KR20190011311A (en) Device and method for software coding training
KR20180080919A (en) Device and method for software coding training
US10242500B2 (en) Virtual reality based interactive learning
US9317115B2 (en) Instruction system with eyetracking-based adaptive scaffolding
US11151887B2 (en) System and method for dynamically editing online interactive elements architecture
US20180204380A1 (en) Method and apparatus for providing guidance in a virtual environment
US20190066525A1 (en) Assessment-based measurable progress learning system
US8112497B1 (en) Online educational software
US20190385471A1 (en) Assessment-based assignment of remediation and enhancement activities
US20150125845A1 (en) Server and method for providing learner-customized learning service
US20180025050A1 (en) Methods and systems to detect disengagement of user from an ongoing
US10541884B2 (en) Simulating a user score from input objectives
KR20150051198A (en) Server and method for providing learning service learner’s oder
KR20150110449A (en) Server and method for learning management
Kounlaxay et al. Design of Learning Media in Mixed Reality for Lao Education.
AU2011355590B2 (en) Online educational software
KR102201619B1 (en) Method for providing game type coding education service based online
CN111681142A (en) Method, system, equipment and storage medium based on education video virtual teaching
CN111796846B (en) Information updating method, device, terminal equipment and readable storage medium
KR20230085333A (en) Apparatus for ai based children education solution
KR20210070963A (en) Method and apparatus for providing personalized education service
US20200394933A1 (en) Massive open online course assessment management
US10417928B2 (en) Handwritten homework monitoring using wearable device
KR20190070727A (en) Method for and management server implementing the same
WO2023245157A1 (en) Pose training and evaluation system

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant