KR20180080919A - 코딩 교육 장치 및 코딩 교육 방법 - Google Patents

코딩 교육 장치 및 코딩 교육 방법 Download PDF

Info

Publication number
KR20180080919A
KR20180080919A KR1020170002042A KR20170002042A KR20180080919A KR 20180080919 A KR20180080919 A KR 20180080919A KR 1020170002042 A KR1020170002042 A KR 1020170002042A KR 20170002042 A KR20170002042 A KR 20170002042A KR 20180080919 A KR20180080919 A KR 20180080919A
Authority
KR
South Korea
Prior art keywords
coding
user
data
controller
information
Prior art date
Application number
KR1020170002042A
Other languages
English (en)
Inventor
조태연
Original Assignee
조태연
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 조태연 filed Critical 조태연
Priority to KR1020170002042A priority Critical patent/KR20180080919A/ko
Publication of KR20180080919A publication Critical patent/KR20180080919A/ko
Priority to KR1020190010144A priority patent/KR102499206B1/ko

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/00Information and communication technology [ICT] specially adapted for implementation of business processes of 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of 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

본 발명은 코딩 교육 장치 및 코딩 교육 방법에 대한 것이다. 본 발명에 의한 코딩 교육 방법은, 복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계;
선정된 문제를 상기 유저에게 제시하는 단계; 코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계; 상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 컨트롤러로 전송하는 단계; 그리고 상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함할 수 있다.

Description

코딩 교육 장치 및 코딩 교육 방법{DEVICE AND METHOD FOR SOFTWARE CODING TRAINING}
본 발명은 코딩 교육 장치 및 코딩 교육 방법에 관한 것으로, 보다 상세하게는 다양한 하드웨어를 이용하여 소프트웨어 코딩 교육을 수행하는 코딩 교육 장치 및 코딩 교육 방법에 대한 것이다.
최근 소프트웨어 교육의 중요성이 대두되고 있다.
근래 들어 스마트폰과 같은 개인화된 디바이스의 보급으로 인해 이러한 디바이스에서 구동하는 다양한 소프트웨어 프로그램이 갖는 영향력을 경험하게 되었다. 또한 잘 만들어 낸 소프트웨어 하나가 종래의 산업 분야를 대체하거나 막대한 경제적 수익을 창출하는 사례가 늘고있다.
그에 따라 소프트웨어 산업 육성의 기틀을 마련하고, 학생들의 논리적인 사고력과 문제 해결 능력을 향상시기키 위해 여러 나라에서 소프트웨어 교육을 의무화하기에 이르렀다.
소프트웨어 교육은 컴퓨터적 사고를 통해 문제를 해결하는 능력을 키우는 교육으로서, 문제를 접하면 문제 해결을 위한 알고리즘을 설계하고 이를 프로그래밍 언어로 코딩하는 과정을 거쳐 완성된 프로그램 코드를 디바이스에 적용하여 문제를 해결하는 단계적인 과정으로 수행된다.
그러나 소프트웨어 교육의 의무화에도 불구하고 교육 현장에서는 소프트웨어를 가르칠 인력, 교육 프로그램, 그리고 교구의 부족이 심각한 상황이다.
따라서 누구나 쉽게 소프트웨어 교육을 받을 수 있도록 하는 교육 방법이 필요하다.
한국 공개특허 제10-2016-0094102호는 사물 인터넷 교육용 시스템에 대해 개시하고 있다. 그러나 소프트웨어 교육에 익숙하지 않은 학생들에게는 이러한 종래의 교육용 시스템을 이용하여 어떤 문제를 해결하는 실습을 수행해야 할지 결정하기 어려울 뿐 아니라 실습 과정에서 선생님 등의 조력자가 필요해 스스로 문제해결을 할 수 있도록 교육하기 어렵다는 문제점이 있었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는, 프로그램 코딩을 통해 해결할 수 있는 다양한 문제를 제시할 수 있는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.
본 발명의 일 실시예는, 학생의 수준과 상황에 맞는 문제를 제시할 수 있는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.
또한 본 발명의 일실시예는, 제시된 문제의 해결에 필요한 정보를 동영상을 통해 제공하여 학생 스스로 코딩 실습을 수행할 수 있도록 하는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.
그리고 본 발명의 일실시예는 제시된 문제를 해결하였는지 여부를 확인하여 학생의 코딩 능력을 평가하고 그에 따라 문제를 제시하는 코딩 교육 장치 및 코딩 교육 방법을 제시하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면 하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 수행되는 코딩 교육 방법은, 복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계; 선정된 문제를 상기 유저에게 제시하는 단계; 코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계; 상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 컨트롤러로 전송하는 단계; 그리고 상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함할 수 있다.
그리고 본 발명의 제 2 측면에 따르면, 하나 이상의 하드웨어 모듈과 선택적으로 결합하여 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치가 개시되며, 코딩 교육 장치는 복수의 문제에 대한 문제 데이터를 저장하는 저장부; 유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부; 상기 컨트롤러와 통신하여 상기 코딩 데이터를 상기 컨트롤러로 전달하고, 상기 코딩 데이터의 실행 결과 데이터를 수신하는 통신부; 그리고 상기 유저에게 제시될 문제를 선정하고, 상기 입출력부가 선정된 문제를 상기 유저에게 제시하고 상기 유저에게 코딩 인터페이스를 제공하도록 하며, 상기 통신부가 상기 코딩 인터페이스를 통해 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하도록 하고, 싱기 통신부가 상기 컨트롤러로부터 수신하는 상기 코딩 데이터의 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 제어부를 포함할 수 있다.
그리고 본 발명의 제 3 측면에 따르면, 하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 실행되고, 코딩 교육 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램이 개시되며, 이때 코딩 교육 방법은, 복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계; 선정된 문제를 상기 유저에게 제시하는 단계; 코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계; 상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 컨트롤러로 전송하는 단계; 그리고 상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는, 프로그램 코딩을 통해 해결할 수 있는 다양한 문제를 제시할 수 있다.
본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 학생의 수준과 상황에 맞는 문제를 제시할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명의 일실시예는, 제시된 문제의 해결에 필요한 정보를 동영상을 통해 제공하여 학생 스스로 코딩 실습을 수행할 수 있도록 한다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명의 일실시예는 제시된 문제를 해결하였는지 여부를 확인하여 학생의 코딩 능력을 평가하고 그에 따라 문제를 제시함으로써 실력 향상에 도움이 될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 코딩 교육 장치를 포함하는 코딩 교육 시스템을 도시한 구성도이다.
도 2는 본 발명의 일 실시예에 따른 코딩 교육 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 코딩 교육 방법을 단계적으로 도시한 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 코딩 교육 장치를 포함하는 코딩 교육 시스템을 도시한 구성도이고, 도 2는 본 발명의 일 실시예에 따른 코딩 교육 장치의 구성을 도시한 블록도이다.
우선 도 1에 도시된 바와 같이 본 발명의 실시예에 의한 코딩 교육 시스템(100)은 코딩 교육 장치(10)와, 컨트롤러(21) 및 그 외의 하나 이상의 하드웨어 모듈들을 포함하는 하드웨어 디바이스(20)를 포함하여 구성되고, 선택적으로 코딩 교육 장치(10)와 네트워크(N)를 통해 통신하는 교육 서버(30)를 더 포함할 수 있다.
이때 코딩 교육 장치(10)는 코딩 교육 대상인 학생 유저가 사용하는 단말로서 본 발명의 실시예에 따른 코딩 교육 방법을 수행하는 코딩 교육 프로그램이 설치되고 이를 실행하는 역할을 한다.
구체적으로 코딩 교육 장치(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 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
또한 하드웨어 디바이스(20)는 하드웨어 디바이스(20)를 제어하는 제어 모듈로서 컨트롤러(21)와, 컨트롤러(21)에 직접 또는 간접적으로 연결되어 각종 하드웨어 모듈들을 포함할 수 있다. 이때 하드웨어 모듈들은, 유저의 입력을 수신하거나 온도 또는 습도 등 외부 상태를 감지하거나 RF신호를 수신하는 등 외부정보를 입력받는 입력모듈들과, LCD나 LED 모듈과 같이 시각적으로 정보를 출력하는 수단이나 청각적 정보를 출력하는 수단, 모터나 소형 로봇과 같은 엑츄에이터 등과 같은 출력모듈들, 그리고 데이터를 하나의 모듈에서 다른 모듈로 전달하는 통신모듈들을 포함할 수 있다. 그리고 컨트롤러(21)와 하드웨어 모듈들 각각은 다른 모듈과 연결되기 위한 커넥터를 구비하거나 또는 무선 통신 모듈을 구비할 수 있다.
그리고 교육 서버(30)는 코딩 교육 장치(10)와 통신하여 각종 데이터를 교환하는 정보처리장치로서, 코딩 교육 장치(10)로 후술할 문제 데이터를 제공할 수 있고, 코딩 교육 장치(10)가 각 유저에 대해 수집하는 검증 결과에 대한 데이터를 축적할 수 있으나, 본 발명의 실시예에 의한 코딩 교육 시스템(100)에 반드시 구성되는 것은 아니고, 코딩 교육 장치(10)에 설치되어 구동하는 코딩 교육 프로그램이 서버-클라이언트 시스템의 클라이언트로 구성되는 경우에 코딩 교육 시스템(100)에 포함될 수 있다.
코딩 교육 장치(10)의 구성을 보다 상세하게 살펴보면, 도 2에 도시된 바와 같이 코딩 교육 장치(10)는, 복수의 문제에 대한 문제 데이터를 저장하는 저장부(11)와, 유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부(12), 유저에게 제시될 문제를 선정하고, 입출력부(12)가 선정된 문제를 유저에게 제시하고, 유저에게 코딩 인터페이스를 제공하도록 하여 유저로부터 코딩 데이터를 입력받는 제어부(13), 그리고 컨트롤러(21)와 통신하여 코딩 데이터를 컨트롤러(21)로 전달하고, 컨트롤러(21)로부터 코딩 데이터의 실행 결과 데이터를 수신하는 통신부(14)를 포함할 수 있다.
이때 제어부(13)는 통신부(14)가 컨트롤러(21)로부터 수신하는 코딩 데이터의 실행 결과 데이터에 기초하여 유저에게 제시된 문제의 해결 여부를 검증할 수 있다.
구체적으로, 코딩 교육 장치(10)의 저장부(11)는 데이터를 기입 또는 독출 가능하게 저장하는 수단으로서, 적어도 일시적으로 또는 지속하여 문제 데이터를 저장하고 갱신할 수 있다. 또한 저장부(11)에는 유저의 코딩 실력을 산출하기 위한 기초가 되는 문제 해결 여부에 대한 검증 결과가 누적하여 기록될 수 있다.
여기서 저장부(11)에 저장되는 문제 데이터는, 각각의 문제를 서로 구분할 수 있도록 각 문제 데이터에 부여되는 문제 식별정보와 문제의 내용을 포함하는 문제정보를 포함할 수 있다. 여기서 문제정보는, 유저가 해결해야할 문제를 유저가 이해할 수 있도록 설명하는 텍스트, 오디오, 이미지, 동영상 중 적어도 하나의 타입의 콘텐트이다.
여기서 ‘문제’는 유저가 하드웨어 디바이스(20)를 이용하여 해결할 수 있는 과제로서, 예를 들어 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’, 또는 ‘펌프를 구동시켜 컵에 물을 공급하면서, 컵의 수위가 제1설정 수위를 넘어서면 경고음이 울리고, 제2설정 수위를 넘어서면 펌프 구동이 멈추도록 하세요’ 등과 같은 구체적인 과제가 될 수 있다. 특히 입력모듈에 입력되거나 감지되는 특정 요소가 어떤 조건을 만족하였을 때 출력모듈의 출력을 어떻게 제어하라는 명령을 포함하는 과제일 수 있다.
그리고 문제 데이터에는 문제 식별정보 및 문제정보와 더불어, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터, 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보 등이 포함될 수 있다.
이때 문제의 해결에 필요한 부가정보는 예를 들어, 문제를 해결하기 위한 프로그램 코드를 작성하는데 사용되어야 할 특정 명령어나 변수 설정 방법, 문제에 포함된 변수의 단위를 하드웨어 모듈에서 사용하는 단위로 변환하는 방법, 문제 해결에 사용되는 하드웨어 모듈에 대한 설명 등과 같이 문제를 이해하고 해결하기 위해 필요한 지식들을 포함할 수 있다. 여기서 문제정보와 부가정보는 각각 독립된 동영상 콘텐트, 또는 하나의 동영상 콘텐트로 구성될 수 있으며 문제정보가 제공된 이후 부가정보가 제공되는 순서로 순차적으로 제공될 수 있다. 그러나 반드시 동영상 콘텐트로 구성되어야 하는 것은 아니다.
그리고 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보는, 각 문제를 해결하는데 필수적으로 요구되는 하드웨어 모듈의 종류에 대한 정보로서, 예를 들어 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제의 해결을 위해서는, 온도센서 모듈과 선풍기 팬이 장착된 모터가 포함된 하드웨어 모듈이 요구되고, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’라는 문제의 해결을 위해서는, 조도센서 모듈과 LED 램프를 포함하는 하드웨어 모듈이 요구된다. 또한 ‘펌프를 구동시켜 컵에 물을 공급하면서, 컵의 수위가 제1설정 수위를 넘어서면 경고음이 울리고, 제2설정 수위를 넘어서면 펌프 구동이 멈추도록 하세요’라는 문제의 해결을 위해서는 펌프 모듈과, 수위센서 모듈, 경고음을 울리는 버저(Buzzer) 모듈 등이 요구된다. 따라서 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보는 예시한 바와 같이 요구되는 하드웨어 모듈들의 종류에 대한 정보와, 선택적으로 각 종류별로 필요한 하드웨어 모듈의 개수 등에 정보를 포함할 수 있다.
또한 문제의 해결 여부를 확인하기 위해 실행 결과 데이터와 비교되는 검증 데이터는 유저에게 제시된 문제를 해결하였는지 또는 해결하지 못하였는지 여부를 확인하기 위한 것으로, 문제를 정상적으로 해결했을 때의 실행 결과 데이터에 대응하는 데이터이다.
이때 실행 결과 데이터는, 문제 해결에 이용되는 각 하드웨어 모듈에서 입력 또는 출력되는 파라미터들의 값을 포함할 수 있으며, 예를 들어, 온도센서 모듈이 이용되는 문제에서는 온도센서 모듈이 감지하여 출력하는 온도 파라미터의 값이 될 수 있고, LED 램프 모듈이 이용되는 문제에서는 LED 램프의 점멸 여부나 색상, 밝기 등에 대한 파라미터의 값이 될 수 있다.
따라서 검증 데이터도 실행 결과 데이터에 대응하는 파라미터 값으로 설정될 수 있으며, 예를 들어, ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제에 대해 검증 데이터는 온도의 범위와 그에 대응하는 선풍기 팬의 구동 상태에 대한 정보, 구체적으로 온도가 섭씨 24도 미만인 구간에서는 선풍기 팬의 구동 제어 신호가 ‘0’으로, 온도가 섭씨 24도 이상인 구간에서는 선풍기 팬의 구동 제어 신호가 ‘1’이 되어야 하는 것으로 설정될 수 있다.
또한 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보는, 코딩 데이터가 컨트롤러(21)로 전달된 후 컨트롤러(21)가 코딩 데이터를 실행하는 동안에 문제 해결에 이용되기 위해 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈에 입력되거나 감지되는 외부조건이 변경되도록 하는 동작을 가이드하는 정보를 포함할 수 있다. 예를 들어, ‘조도가 20lux 이하이면 조명이 켜지도록 하세요’라는 문제가 제시되고 이에 대한 코딩 데이터가 컨트롤러(21)에 의해 실행되고 있는 상태에서 ‘조도센서를 손으로 감싸 어둡게 해보세요’ 또는 ‘조도센서를 조명 아래로 가져가 밝게 해보세요’ 등과 같이 유저가 직접 행동으로서 외부조건을 변경할 수 있도록 가이드하는 정보를 포함할 수 있다.
한편 입출력부(12)는 데이터나 명령을 입력하거나 출력하는 수단으로서, 예를 들어 마우스, 키보드, 터치패널 등의 입력수단과 디스플레이, 스피커 등의 출력수단을 포함하며, 터치패널과 스크린이 결합된 터치스크린 등을 포함할 수도 있다.
입출력부(12)는 유저가 해결할 문제에 대한 정보를 화면을 통해 출력하고, 유저에게 코딩 인터페이스, 즉 프로그램 코드를 입력받아 코딩 데이터를 생성하기 위한 사용자 인터페이스를 제공할 수 있다.
제어부(13)는 저장부(11)에 데이터를 기입하거나 저장부(11)로터 필요한 데이터를 독출하고, 입출력부(12)와 후술할 통신부(13)를 제어하는 수단으로서, 상술한 바와 같이 유저에게 제시될 문제를 선정하고, 입출력부(12)가 선정된 문제를 유저에게 제시하며, 유저에게 코딩 인터페이스를 제공하도록 하여 유저로부터 코딩 데이터를 입력받는다. 또한 제어부(13)는 통신부(14)가 컨트롤러(21)로부터 수신하는 코딩 데이터의 실행 결과 데이터에 기초하여 유저에게 제시된 문제의 해결 여부를 검증할 수 있다.
제어부(13)는, 구체적으로 입출력부(12)를 통해 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하고, 획득된 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정할 수 있다.
동일한 하드웨어 모듈들을 포함하는 패키지가 코딩 교육 시스템(100)에 포함되더라도 일부 유저는 하드웨어 모듈들 중 적어도 일부를 분실하거나 추가적으로 하드웨어 모듈을 구매할 수 있으므로, 각각의 유저가 보유하고 있는 하드웨어 모듈들의 종류와 수가 상이할 수 있다.
따라서 제어부(13)는 문제를 제시하기 전에 유저의 보유 하드웨어 정보를 획득하고 그에 따라 유저가 보유한 하드웨어 모듈들에 대한 정보를 참조하여 문제를 선정할 수 있다. 이때 제어부(13)는 각 문제의 문제 데이터에 포함된 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보를 참조하여 유저가 보유하고 있는 하드웨어 모듈을 이용해서 해결할 수 있는 문제를 선정할 수 있다.
이때 제어부(13)는 유저로 하여금 코딩 교육 장치(10)에 컨트롤러(21)를 연결하도록 하고, 컨트롤러(21)에 유저가 보유한 각각의 하드웨어 모듈을 연결하도록 하며, 이로써 컨트롤러(21)가 연결된 하드웨어 모듈의 종류를 감지하여 코딩 교육 장치(10)로 전달하도록 할 수 있다. 또는 유저에게 하드웨어 모듈의 모든 종류를 표시하고 이들 중에서 유저가 스스로 자신이 보유한 하드웨어 모듈의 종류를 선택하도록 할 수도 있다.
한편 제어부(13)는 입출력부(12)가 선정된 문제에 대응하는 문제 동영상을 재생하도록 할 수 있다. 이때 문제 동영상은, 상술한 문제정보와 부가정보를 포함할 수 있다.
이때 제어부(13)는, 입출력부(12)가 출력하는 화면 일측에 선정된 문제에 대응하는 문제 동영상이 재생되도록 하고 화면 타측에는 코딩 인터페이스가 제공되도록 할 수 있다.
또한 제어부(13)는, 컨트롤러(21)로부터 컨트롤러(21) 및 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신할 수 있다.
한편 제어부(13)는, 선정된 문제에 대응하여 기 설정된 검증 데이터를 실행 결과 데이터와 비교하여 문제의 해결 여부를 검증할 수 있다.
이때 실행 결과 데이터는 상술한 바와 같이 컨트롤러(21) 또는 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터 값을 포함하는데, 예를 들어 온도센서 모듈이 감지하여 컨트롤러(21)로 전달한 온도정보와, 온도정보에 기초하여 컨트롤러(21)가 선풍기 팬 모듈로 전달하는 제어정보, 또는 선풍기 팬 모듈의 모터 구동 상태에 대한 정보 중 적어도 일부가 실행 결과 데이터로서 코딩 교육 장치(10)로 전달될 수 있다.
그리고 검증 데이터는 외부조건이 되는 파라미터 값이 속하는 범위와, 컨트롤러(21)에 연결된 출력모듈의 각 범위에 대응하는 바람직한 구동상태에 대한 정보를 포함할 수 있다.
상술한 예와 같이 ‘온도가 섭씨 24도 이상이면 선풍기 팬이 구동되도록 하세요’라는 문제에 대한 검증 데이터는 섭씨 24도 미만의 범위 내에서 선풍기 팬의 구동상태의 정보 또는 선풍기 팬의 제어정보가, 선풍기 팬이 구동되지 않음을 나타내는 ‘0’이고, 섭씨 24도 이상의 범위 내에서는 선풍기 팬의 구동상태의 정보 또는 선풍기 팬의 제어정보가 선풍기 팬이 구동됨을 나타내는 ‘1’로 설정될 수 있다.
그리고 제어부(13)는 실행 결과 데이터가 전달되면, 실행 결과 데이터에 포함된 온도정보가 24도 미만일 때, 실행 결과 데이터에 포함된 선풍기 팬의 구동상태 정보 또는 제어정보가 ‘0’인 경우 실행 결과 데이터가 검증 데이터에 대응하므로 문제를 정상적으로 해결한 것으로 확인하고, 온도정보가 24도 미만일 때 선풍기 팬의 구동상태 정보 또는 제어정보가 ‘1’인 경우 실행 결과 데이터가 검증 데이터에 대응하지 않으므로 문제를 해결하지 못한 것으로 확인할 수 있다.
또한 제어부(13)는 일정 시간 이상 실행 결과 데이터의 변화를 전달받아 변화하는 외부조건, 예를 들어 변화하는 온도정보에 따라 선풍기 팬의 구동상태 정보 또는 제어정보가 검증 데이터에 대응하여 변화하는지를 감시할 수 있다. 이때 제어부(13)는 상술한 안내정보를 출력하여 유저가 외부조건을 변화시키도록 하면서 실행 결과 데이터를 수신하고, 이를 검증 데이터와 비교하여 서로 다른 범위의 외부조건에서의 실행 결과 데이터가 모두 검증 데이터에 부합하는지를 확인할 수 있다.
예를 들어, 제어부(13)는, 코딩 데이터의 검증 과정에서 선정된 문제에 대응하는 검증 동영상을 입출력부(12)를 통해 재생할 수 있다. 이때 검증 동영상은, 상술한 안내정보를 포함하는 동영상 콘텐트일 수 있다. 여기서 제어부(13)는 검증 동영상의 재생 중에, 컨트롤러(@1)로부터, 컨트롤러(21) 및 컨트롤러(21)에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되고, 외부조건의 변경에 따라 변화하는 파라미터의 값을 실행 결과 데이터로서 수신하고, 실행 결과 데이터를 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증할 수 있다.
그리고 제어부(13)는, 저장부(11)에 유저의 문제 해결 여부의 검증 결과를 기록하고, 유저에 대해 누적 기록된 검증 결과에 기초한 유저의 실력 레벨에 따른 문제를 선정할 수 있다. 이를 위해 제어부(13)는 유저가 문제의 해결을 시도할 때마다 검증 결과를 기록하고 유저의 문제 해결 능력을 평가하여 실력 레벨을 부여할 수 있다.
또한 이를 위하여 각 문제 데이터에는 각 문제의 난이도 레벨에 대한 정보가 포함될 수 있다.
이에 따르면 제어부(13)는 유저에게 특정 난이도 레벨의 문제를 제시하고, 해당 문제를 유저가 해결하면 유저의 실력 레벨을 증가시킨 후 더 높은 난이도 레벨의 다른 문제를 제시할 수 있다. 반대로 제어부(13)는 유저에게 특정 난이도 레벨의 문제를 제시하고, 해당 문제를 유저가 해결하지 못하면 유저의 실력 레벨을 감소시킨 후 더 낮은 난이도 레벨의 다른 문제를 제시할 수 있다.
한편 통신부(14)는 컨트롤러(21)와 통신하여 코딩 데이터를 컨트롤러(21)로 전달하고, 코딩 데이터의 실행 결과 데이터를 수신하는 역할을 수행하는 유선 또는 무선 통신 규격의 통신수단이다. 이때 통신부(14)는 컨트롤러(21)가 구비한 통신수단의 통신 규격과 대응하는 규격의 통신수단으로 구성될 수 있다.
이하에서는 도 3을 참조하여 본 발명의 실시예에 의한 코딩 교육 장치(10)를 이용한 코딩 교육 방법을 설명한다. 도 3은 본 발명의 실시예에 의한 코딩 교육 방법을 단계적으로 도시한 흐름도이다.
도 3에 도시된 실시예에 따른 코딩 교육 방법은, 도 1 내지 도 2에서 도시된 코딩 교육 장치에서 시계열적으로 처리되는 단계들을 포함할 수 있다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 내지 도 2에서 도시된 코딩 교육 장치에 관하여 이상에서 기술한 내용은 도 3에 도시된 실시예에 따른 코딩 교육 방법에도 적용될 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 코딩 교육 방법은, 코딩 교육 장치(10)가 유저의 보유 하드웨어 정보를 수신하는 단계(S31)로부터 시작될 수 있다.
그리고 코딩 교육 장치(10)는 저장된 복수의 문제 중에서, 보유 하드웨어 정보에 기초할 때, 유저가 보유한 하드웨어들만을 이용하여서도 해결 가능한 문제를, 유저에게 제시할 문제로 선정할 수 있다(S32).
이어서 코딩 교육 장치(10)는 선정된 문제를 유저에게 표시하여 제시한다(S33). 이때 문제의 제시는, 선정된 문제에 대한 문제정보를 포함하는 문제 동영상을 재생하는 방식으로 수행될 수 있으나 이에 한정되지는 않는다.
그리고 코딩 교육 장치(10)는 유저에게 코딩 인터페이스를 제공하여 유저가 프로그램 코드를 작성할 수 있도록 하며, 유저가 프로그램 코드를 완성하면, 유저가 작성한 프로그램 코드에 기초한 코딩 데이터를 컨트롤러(21)로 전송한다(S34).
이때 코딩 인터페이스와 문제 동영상은 한 화면에 동시에 제공될 수 있다.
이어서 코딩 교육 장치(10)는 컨트롤러(21)로 전달한 코딩 데이터의 실행 결과 데이터를 컨트롤러(21)로부터 수신할 수 있다(S35). 이때 코딩 교육 장치(10)는 실행 결과 데이터를 실시간으로 수신하면서 동시에 안내정보를 포함하는 검증 동영상을 출력할 수 있다.
한편 코딩 교육 장치(10)는 S35단계에서 수신된 실행 결과 데이터를 S33단계에서 유저에게 제시된 문제에 대응하여 기 저장된 검증 데이터와 비교하여, 실행 결과 데이터가 선정된 문제에 대한 해결 시에 대응하는 결과를 나타내는지 여부를 판단할 수 있다(S36).
그리고 코딩 교육 장치(10)는 S36단계의 판단결과 문제를 해결하였다고 판단되면 유저의 문제 해결을 수행한 결과를 정답처리하고(S37), 반대의 경우 오답처리할 수 있다(S38).
또한 코딩 교육 장치(10)는 유저가 문제를 해결한 것으로 확인되면 다음 문제를 제시하여 해결을 시도하는 과정을 반복 수행할 수 있고, 문제를 해결하지 못한 것으로 확인되면 동일한 문제에 대한 코딩 데이터를 다시 작성하도록 할 수 있다.
나아가 코딩 교육 장치(10)는 실행 결과 데이터에 대한 검증 결과 유저가 해당 문제에 대해 정답 처리되었는지 또는 오답 처리 되었는지를 기록하여 문제를 선정하는데 있어서, 난이도 조절에 활용할 수 있음은 앞서 설명한 바와 같다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 3을 통해 설명된 실시예에 따른 코딩 교육 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일 실시예에 따르는 코딩 교육 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일 실시예에 따르는 코딩 교육 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (21)

  1. 하나 이상의 하드웨어 모듈과 선택적으로 연결되어 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 의해 수행되고,
    복수의 문제 중에서 유저에게 제시할 문제를 선정하는 단계;
    선정된 문제를 상기 유저에게 제시하는 단계;
    코딩 인터페이스를 제공하여 상기 유저로부터 코딩 데이터를 입력받는 단계;
    상기 코딩 인터페이스를 통해 상기 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하는 단계; 그리고
    상기 컨트롤러로부터 상기 코딩 데이터의 실행 결과 데이터를 수신하고, 상기 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 단계를 포함하는, 코딩 교육 방법.
  2. 제1항에 있어서,
    상기 선정하는 단계는,
    상기 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하는 단계; 그리고
    획득된 상기 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정하는 단계를 포함하는, 코딩 교육 방법.
  3. 제1항에 있어서,
    상기 제시하는 단계는,
    선정된 문제에 대응하는 문제 동영상을 재생하는 단계를 포함하고,
    상기 문제 동영상은,
    상기 선정된 문제의 내용을 포함하는 문제정보를 포함하고, 선택적으로 상기 선정된 문제의 해결에 필요한 부가정보를 더 포함하는 콘텐트인, 코딩 교육 방법.
  4. 제3항에 있어서,
    상기 문제 동영상을 재생하는 단계와 상기 코딩 인터페이스를 제공하는 단계는 적어도 일시적으로 동시에 수행되고,
    상기 문제 동영상을 재생하는 단계와 상기 코딩 인터페이스를 제공하는 단계가 동시에 수행되는 경우, 상기 코딩 교육 장치가 출력하는 화면 일측에는 상기 선정된 문제에 대응하는 문제 동영상이 재생되고 화면 타측에는 상기 코딩 인터페이스가 제공되는, 코딩 교육 방법.
  5. 제1항에 있어서,
    상기 검증하는 단계는,
    상기 컨트롤러로부터 상기 컨트롤러 및 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신하는 단계를 포함하는, 코딩 교육 방법.
  6. 제4항 또는 제5항에 있어서,
    상기 검증하는 단계는,
    상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는 단계를 포함하는, 코딩 교육 방법.
  7. 제1항에 있어서,
    상기 코딩 교육 방법은,
    상기 검증하는 단계의 검증 결과를 상기 유저에게 대해 기록하는 단계를 더 포함하고,
    상기 선정하는 단계는,
    상기 유저에 대해 기록된 검증 결과에 기초한 상기 유저의 실력 레벨에 따른 문제를 선정하는 단계를 포함하는, 코딩 교육 방법.
  8. 제6항에 있어서,
    상기 검증하는 단계는,
    상기 선정된 문제에 대응하는 검증 동영상을 재생하는 단계를 포함하고,
    상기 검증 동영상은,
    상기 선정된 문제의 해결 여부를 검증하기 위하여, 상기 선정된 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보를 포함하는 동영상 콘텐트를 포함하는, 코딩 교육 방법.
  9. 제8항에 있어서,
    상기 검증하는 단계는,
    상기 검증 동영상의 재생 중에, 상기 컨트롤러로부터, 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈에서 입력 또는 출력되고, 상기 외부조건의 변경에 따라 변화하는 파라미터의 값을 상기 실행 결과 데이터로서 수신하는 단계; 그리고
    상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는 단계를 포함하는, 코딩 교육 방법.
  10. 제1항에 있어서,
    상기 코딩 교육 장치에는, 복수의 문제에 대응하는 문제 데이터가 저장되고,
    상기 문제 데이터는,
    문제 식별정보, 문제의 내용을 포함하는 문제정보, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터를 포함하는, 코딩 교육 방법.
  11. 하나 이상의 하드웨어 모듈과 선택적으로 결합하여 프로그램 코드에 따라 상기 하드웨어 모듈의 동작을 제어하는 컨트롤러와 통신하는 코딩 교육 장치에 있어서,
    복수의 문제에 대한 문제 데이터를 저장하는 저장부;
    유저에게 문제를 제시하고 제시된 문제에 대한 코딩 데이터를 유저로부터 입력받는 입출력부;
    상기 컨트롤러와 통신하여 상기 코딩 데이터를 상기 컨트롤러로 전달하고, 상기 코딩 데이터의 실행 결과 데이터를 수신하는 통신부; 그리고
    상기 유저에게 제시될 문제를 선정하고, 상기 입출력부가 선정된 문제를 상기 유저에게 제시하고 상기 유저에게 코딩 인터페이스를 제공하도록 하며, 상기 통신부가 상기 코딩 인터페이스를 통해 유저가 입력한 코딩 데이터를 상기 컨트롤러로 전송하도록 하고, 싱기 통신부가 상기 컨트롤러로부터 수신하는 상기 코딩 데이터의 실행 결과 데이터에 기초하여 상기 유저에게 제시된 문제의 해결 여부를 검증하는 제어부를 포함하는, 코딩 교육 장치.
  12. 제11항에 있어서,
    상기 제어부는,
    상기 입출력부를 통해 상기 유저가 보유하고 있는 하드웨어 모듈의 종류에 대한 정보를 포함하는 보유 하드웨어 정보를 획득하고, 획득된 상기 보유 하드웨어 정보에 기초하여, 유저가 보유하고 있는 하드웨어 모듈을 이용해 해결 가능한 문제를 선정하는, 코딩 교육 장치.
  13. 제11항에 있어서,
    상기 제어부는,
    상기 입출력부가 상기 선정된 문제에 대응하는 문제 동영상을 재생하도록 하고,
    상기 문제 동영상은,
    상기 선정된 문제의 내용을 포함하는 문제정보를 포함하고, 선택적으로 상기 선정된 문제의 해결에 필요한 부가정보를 더 포함하는 콘텐트인, 코딩 교육 장치.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 입출력부가 출력하는 화면 일측에 상기 선정된 문제에 대응하는 문제 동영상이 재생되도록 하고 화면 타측에는 상기 코딩 인터페이스가 제공되도록 하는, 코딩 교육 장치.
  15. 제11항에 있어서,
    상기 제어부는,
    상기 컨트롤러로부터 상기 컨트롤러 및 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈 중 적어도 하나에서 입력 또는 출력되는 파라미터의 값을 상기 실행 결과 데이터로서 수신하는, 코딩 교육 장치.
  16. 제11항 또는 제15항에 있어서,
    상기 제어부는,
    상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는, 코딩 교육 장치.
  17. 제11항에 있어서,
    상기 제어부는,
    상기 저장부에 상기 유저의 문제 해결 여부의 검증 결과를 기록하고, 상기 유저에 대해 기록된 검증 결과에 기초한 상기 유저의 실력 레벨에 따른 문제를 선정하는, 코딩 교육 장치.
  18. 제16항에 있어서,
    상기 제어부는,
    상기 선정된 문제에 대응하는 검증 동영상을 상기 입출력부를 통해 재생하고,
    상기 검증 동영상은,
    상기 선정된 문제의 해결 여부를 검증하기 위하여, 상기 선정된 문제에 대응하는 하나 이상의 하드웨어 모듈의 동작을 제어하기 위한 외부조건을 변경하도록 가이드하는 안내정보를 포함하는 동영상 콘텐트인, 코딩 교육 장치.
  19. 제18항에 있어서,
    상기 제어부는,
    상기 검증 동영상의 재생 중에, 상기 컨트롤러로부터, 상기 컨트롤러에 연결된 하나 이상의 하드웨어 모듈에서 입력 또는 출력되고, 상기 외부조건의 변경에 따라 변화하는 파라미터의 값을 상기 실행 결과 데이터로서 수신하고, 상기 실행 결과 데이터를 상기 선정된 문제에 대응하여 기 설정된 검증 데이터와 비교하여 문제의 해결 여부를 검증하는, 코딩 교육 장치.
  20. 제19항에 있어서,
    상기 저장부에 저장되는 문제 데이터는,
    문제 식별정보, 문제의 내용을 포함하는 문제정보, 문제의 해결에 필요한 부가정보, 문제의 해결에 이용해야 할 하나 이상의 하드웨어 모듈의 종류에 대한 정보, 문제의 해결 여부를 확인하기 위해 상기 실행 결과 데이터와 비교되는 검증 데이터를 포함하는, 코딩 교육 장치.
  21. 코딩 교육 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
KR1020170002042A 2017-01-05 2017-01-05 코딩 교육 장치 및 코딩 교육 방법 KR20180080919A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170002042A KR20180080919A (ko) 2017-01-05 2017-01-05 코딩 교육 장치 및 코딩 교육 방법
KR1020190010144A KR102499206B1 (ko) 2017-01-05 2019-01-25 코딩 교육 장치 및 코딩 교육 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170002042A KR20180080919A (ko) 2017-01-05 2017-01-05 코딩 교육 장치 및 코딩 교육 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190010144A Division KR102499206B1 (ko) 2017-01-05 2019-01-25 코딩 교육 장치 및 코딩 교육 방법

Publications (1)

Publication Number Publication Date
KR20180080919A true KR20180080919A (ko) 2018-07-13

Family

ID=62913791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170002042A KR20180080919A (ko) 2017-01-05 2017-01-05 코딩 교육 장치 및 코딩 교육 방법

Country Status (1)

Country Link
KR (1) KR20180080919A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060146A1 (ko) * 2018-09-21 2020-03-26 주식회사 럭스로보 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리
KR20200036593A (ko) 2018-09-28 2020-04-07 크레아트봇 주식회사 페이퍼크래프트 연계형 코딩교육키트
KR20210012789A (ko) * 2019-07-26 2021-02-03 서울시립대학교 산학협력단 코딩 교육 방법 및 코딩 교육 로봇
KR20210082897A (ko) * 2019-12-26 2021-07-06 주식회사 럭스로보 컴파일 없는 코딩시스템 및 모듈 어셈블리
KR20220059895A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 제어 대상 정보 및 제어 내용 정보에 따른 코드 인식을 기반으로 동작하는 코딩 로봇 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122406A (ko) * 2012-04-30 2013-11-07 도경민 프로그래밍 학습장치 및 방법
KR20150050028A (ko) * 2013-10-31 2015-05-08 삼성에스디에스 주식회사 온라인 코딩 학습 방법, 서버 및 그 시스템
KR20160046947A (ko) * 2014-10-20 2016-05-02 (주)트라이캣 프로그래머 역량 평가 시스템
KR20160094102A (ko) * 2015-01-30 2016-08-09 주식회사 헬로긱스 사물 인터넷 교육용 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122406A (ko) * 2012-04-30 2013-11-07 도경민 프로그래밍 학습장치 및 방법
KR20150050028A (ko) * 2013-10-31 2015-05-08 삼성에스디에스 주식회사 온라인 코딩 학습 방법, 서버 및 그 시스템
KR20160046947A (ko) * 2014-10-20 2016-05-02 (주)트라이캣 프로그래머 역량 평가 시스템
KR20160094102A (ko) * 2015-01-30 2016-08-09 주식회사 헬로긱스 사물 인터넷 교육용 시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060146A1 (ko) * 2018-09-21 2020-03-26 주식회사 럭스로보 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리
EP3726450B1 (en) * 2018-09-21 2022-12-21 Luxrobo Co., Ltd. Source code and module recommendation system and module assembly
KR20200036593A (ko) 2018-09-28 2020-04-07 크레아트봇 주식회사 페이퍼크래프트 연계형 코딩교육키트
KR20210012789A (ko) * 2019-07-26 2021-02-03 서울시립대학교 산학협력단 코딩 교육 방법 및 코딩 교육 로봇
WO2021020781A1 (ko) * 2019-07-26 2021-02-04 서울시립대학교 산학협력단 코딩 교육 방법 및 코딩 교육 로봇
KR20210082897A (ko) * 2019-12-26 2021-07-06 주식회사 럭스로보 컴파일 없는 코딩시스템 및 모듈 어셈블리
KR20220059895A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 제어 대상 정보 및 제어 내용 정보에 따른 코드 인식을 기반으로 동작하는 코딩 로봇 장치

Similar Documents

Publication Publication Date Title
KR20190011311A (ko) 코딩 교육 장치 및 코딩 교육 방법
KR20180080919A (ko) 코딩 교육 장치 및 코딩 교육 방법
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
US20190066525A1 (en) Assessment-based measurable progress learning system
US8112497B1 (en) Online educational software
US20180025050A1 (en) Methods and systems to detect disengagement of user from an ongoing
US20190385471A1 (en) Assessment-based assignment of remediation and enhancement activities
US20150125845A1 (en) Server and method for providing learner-customized learning service
KR20150051198A (ko) 학습자 맞춤형 학습 서비스 제공 서버 및 방법
US20190372863A1 (en) Simulating a user score from input objectives
KR20150110449A (ko) 학습 관리 서버 및 학습 관리 방법
CN109543072A (zh) 基于视频的ar教育方法、智能电视、可读存储介质及系统
Kounlaxay et al. Design of Learning Media in Mixed Reality for Lao Education.
AU2011355590B2 (en) Online educational software
KR102201619B1 (ko) 게임형 온라인 코딩 교육 제공 방법
KR20230085333A (ko) 인공지능 어린이 교육 솔루션 장치
CN111796846B (zh) 信息更新方法、装置、终端设备及可读存储介质
KR20210070963A (ko) 개인화된 교육 서비스 제공 방법 및 장치
US20200394933A1 (en) Massive open online course assessment management
US10417928B2 (en) Handwritten homework monitoring using wearable device
KR20190070727A (ko) 스포츠 레슨 기록을 관리하는 방법 및 이를 운용하는 관리 서버
WO2023245157A1 (en) Pose training and evaluation system
KR20230118265A (ko) 온라인 콘텐츠의 재생방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment