KR101892356B1 - 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법 - Google Patents

블록을 이용한 코딩 교육 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR101892356B1
KR101892356B1 KR1020160127609A KR20160127609A KR101892356B1 KR 101892356 B1 KR101892356 B1 KR 101892356B1 KR 1020160127609 A KR1020160127609 A KR 1020160127609A KR 20160127609 A KR20160127609 A KR 20160127609A KR 101892356 B1 KR101892356 B1 KR 101892356B1
Authority
KR
South Korea
Prior art keywords
block
coding
function
area
definition area
Prior art date
Application number
KR1020160127609A
Other languages
English (en)
Other versions
KR20180037631A (ko
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 KR1020160127609A priority Critical patent/KR101892356B1/ko
Priority to US15/362,090 priority patent/US10228914B2/en
Priority to CN201611075946.XA priority patent/CN107896236A/zh
Publication of KR20180037631A publication Critical patent/KR20180037631A/ko
Application granted granted Critical
Publication of KR101892356B1 publication Critical patent/KR101892356B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/311Functional or applicative languages; Rewrite languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
    • 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
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법을 개시한다. 본 발명에 따르면, 사용자 단말과 네트워크를 통해 연결되는 코딩 교육 서비스 제공 장치로서, 고유 좌표를 갖는 복수의 블록 배치부; 상기 복수의 블록 배치부 상에 위치하는 복수의 코딩 블록을 인식하는 메인 컨트롤러; 및 상기 복수의 코딩 블록 각각의 식별 정보 및 위치 정보를 상기 사용자 단말로 전송하여, 상기 사용자 단말이 화면상에 출력된 코딩 미션 정보에 상응하게, 상기 복수의 코딩 블록이 배치되었는지 여부를 판단할 수 있도록 하는 통신 모듈을 포함하는 코딩 교육 서비스 제공 장치가 제공된다.

Description

블록을 이용한 코딩 교육 서비스 제공 장치 및 방법{Apparatus and mehtod for providng coding education using block}
본 발명은 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법에 관한 것이다.
컴퓨터 프로그램을 수행하는 절차에 관한 명령어 모음을 코드라고 하며, 좁은 의미로 이러한 코드를 입력하는 행위를 코딩이라 한다.
그러나, 코딩은 프로그램을 구상하고 문제해결을 위한 절차와 과정에 관한 알고리즘을 작성하는 것을 포함하는 의미로 사용되며, 컴퓨터 프로그래밍이라고도 한다.
근래에 디지털 지식 정보화시대를 맞아, 코딩 교육은 컴퓨터 프로그래밍을 전문으로 하는 사용자뿐만 아니라, 초등학교에서부터 문제 해결 능력을 배양하기 위한 교과 과정으로 사용되고 있다.
종래의 코딩 교육은 소프트웨어 기반으로 이루어지고 있다.
예를 들어, 화면상에 출발점과 종료점을 갖는 경로와 같은 코딩 미션 정보와, 개별 명령어에 해당하는 복수의 아이콘이 디스플레이되고, 사용자가 코딩 미션 정보에 맞게 마우스를 통해 아이콘을 드래그하는 방식으로 이루어지고 있다.
그러나, 어린 학생을 대상으로 마우스 조작만으로 코딩 교육 서비스를 제공하는 경우, 컴퓨터에 장시간 노출되기 때문에 오히려 교육적으로 바람직하지 않을 수 있다.
또한, 마우스 조작이나, 웹사이트 로그인에 익숙하지 않은 어린 학생인 경우에는 상기한 코딩 교육 서비스 제공 방식은 용이하지 않다.
이에, 어린 아이를 대상으로 오감을 활용하여 쉽게 코딩 교육 서비스를 제공하고자 하는 요구가 높아지고 있는 실정이다.
1. 등록특허공보 제10-1502271호 2. 공개특허공보 제10-2014-0056977호
상기한 종래기술의 문제점을 해결하기 위해, 본 발명에서는 물리 공간과 가상 공간을 서로 연계시켜 사용자의 오감을 활용한 코딩 교육 서비스 제공 장치 및 방법을 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 사용자 단말과 네트워크를 통해 연결되는 코딩 교육 서비스 제공 장치로서, 고유 좌표를 갖는 복수의 블록 배치부; 상기 복수의 블록 배치부 상에 위치하는 복수의 코딩 블록을 인식하는 메인 컨트롤러; 및 상기 복수의 코딩 블록 각각의 식별 정보 및 위치 정보를 상기 사용자 단말로 전송하여, 상기 사용자 단말이 화면상에 출력된 코딩 미션 정보에 상응하게, 상기 복수의 코딩 블록이 배치되었는지 여부를 판단할 수 있도록 하는 통신 모듈을 포함하는 코딩 교육 서비스 제공 장치가 제공된다.
상기 복수의 블록 배치부 각각은 함수 정의 영역, 반복 횟수 정의 영역, 명령어 정의 영역 및 입력 영역 중 적어도 하나에 속할 수 있다.
상기 복수의 블록 배치부는 n×n으로 형성되며, 상기 함수 정의 영역, 반복 횟수 정의 영역, 명령어 정의 영역 및 입력 영역 중 적어도 하나는 각각 세로 방향 또는 가로 방향으로 하나 이상의 축에 해당하는 영역으로 설정될 수 있다.
상기 명령어 정의 영역에서, 미리 설정된 방향으로 각 코딩 블록의 실행 순서가 정의될 수 있다.
상기 함수 정의 영역에 복수의 코딩 블록을 순차적으로 적층하여 배치한 후, 제1 형상의 제1 함수 블록을 최상단에 배치하면 제1 함수가 정의되며, 상기 명령어 정의 영역의 소정 위치에 상기 제1 형상과 동일한 형상의 함수 블록이 배치되는 경우, 해당 실행 순서에서 상기 제1 함수가 호출될 수 있다.
상기 명령어 정의 영역에 배치된 제1 코딩 블록 또는 함수의 반복 횟수는 상기 제1 코딩 블록 또는 함수를 정의하는 소정 형상의 함수 블록에 인접한 반복 횟수 정의 영역에 배치된 숫자 블록 또는 숫자 태그에 의해 결정될 수 있다.
상기 명령어 정의 영역에 완료 블록이 배치되는 경우, 상기 사용자 단말은 상기 코딩 미션 정보에 상응하게 복수의 코딩 블록이 배치되었는지 여부를 판단할 수 있다.
상기 입력 영역은 퀴즈를 풀기 위한 NFC 태그가 올려지는 NFC 블록 및 소정 조건이 제시된 경우 복수의 조건 중 하나를 결정하기 위한 터치 블록 중 적어도 하나가 위치하는 영역일 수 있다.
상기 함수 정의 영역은 k번째 행의 n 열 영역으로 설정되며, 상기 반복 횟수 정의 영역은 k+l번째 행의 n열 영역으로 설정되고, 상기 명령어 정의 영역은 k+l+m번째 행의 n열 영역으로 설정되며, 여기서 상기 k, l, m은 1 이상의 자연수이다.
상기 명령어 정의 영역에서, 상기 k+l+1번째 행의 n열 영역의 최상단 블록 배치부가 첫 번째 실행 순서로 정의되며, 상기 최상단 블록 배치부에 인접하게 배치되는 코딩 블록 순서로 실행 순서가 정의될 수 있다.
상기 블록판의 좌측 상단에서부터 k번째 열 순으로 함수 정의 영역, 명령어 정의 영역, 반복 횟수 정의 영역 및 입력 영역 중 하나가 설정되며, 상기 명령어 정의 영역 및 상기 반복 횟수 정의 영역은 서로 인접할 수 있다.
상기 명령어 정의 영역에는 복수의 코딩 블록이 하나의 블록 배치부에 수직으로 적층되어 배치되며, 수직으로 적층된 코딩 블록의 실행 순서는 상기 블록 배치부에서부터 적층된 순서로 결정될 수 있다.
상기 함수 정의 영역은 k번째 열의 n행 영역으로 설정되고, 상기 명령어 정의 영역은 k+l번째 열의 n행 영역으로 설정되고, 상기 반복 횟수 정의 영역은 k+l+m번째 열의 n행 영역으로 설정되며, 여기서 상기 k, l 및 m은1 이상의 자연수일 수 있다.
상기 입력 영역은 k+l+m+1번째 열의 n행 영역으로 설정될 수 있다.
상기 복수의 코딩 블록은 상기 복수의 블록 배치부 상에 적층되는 제1 코딩 블록 및 상기 제1 코딩 블록 상에 적층되는 제2 코딩 블록을 포함할 수 있다.
본 발명의 다른 측면에 따르면, 코딩 블록이 배치되는 블록판과 네트워크를 통해 연결되는 코딩 교육 서비스 제공 장치로서, 상기 블록판으로부터 상기 블록판에 배치된 복수의 코딩 블록에 대한 식별 정보 및 위치 정보를 수신하는 통신부; 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 코딩 미션 정보를 화면상에 출력하고, 상기 블록판으로부터 수신된 복수의 코딩 블록의 식별 정보 및 위치 정보를 이용하여 상기 복수의 코딩 블록이 상기 코딩 미션 정보에 상응하게 배치되어 있는지 여부를 판단하도록, 상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 코딩 교육 서비스 제공 장치가 제공된다.
본 발명의 또 다른 측면에 따르면, 사용자 단말과 네트워크를 통해 서버에서 코딩 교육 서비스를 제공하는 방법으로서, 상기 사용자 단말로부터 코딩 미션 정보 제공 요청을 수신하는 단계; 및 상기 사용자 단말로 복수의 코딩 미션 정보 및 각 코딩 미션 정보에 상응하는 복수의 명령어, 함수 정보 및 개별 명령어 또는 함수의 반복 횟수 정보를 수신하는 단계를 포함하되, 상기 사용자 단말은 상기 복수의 코딩 미션 정보 중 하나를 화면 상에 출력하고, 고유 좌표를 갖는 복수의 블록 배치부가 형성된 블록판으로부터 상기 블록판에 배치된 복수의 코딩 블록의 식별 정보 및 위치 정보를 수신하여 상기 화면상에 출력된 코딩 미션 정보에 상응하게 상기 복수의 코딩 블록이 배치되었는지 여부를 판단하는 코딩 교육 서비스 제공 방법이 제공된다.
본 발명에 따르면, 물리 공간에서 블록판에 코딩 블록을 배치하여 코딩 교육 서비스를 제공하기 때문에 특히 어린 학생들의 흥미를 높일 수 있는 장점이 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 코딩 교육 서비스 제공 시스템을 도시한 도면이다.
도 2는 본 실시예에 따른 블록판의 사시도이다.
도 3은 본 실시예에 따른 블록판의 내부 구성을 도시한 도면이다.
도 4는 본 실시예에 따른 블록의 사시도이다.
도 5는 본 실시예에 따른 블록의 내부 구성을 도시한 도면이다.
도 6은 본 실시예에 따른 코딩 카드를 도시한 도면이다.
도 7은 본 실시예에 따른 코딩 블록의 속성을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 블록판에 함수, 반복 횟수 및 명령어를 정의하기 위한 개별 축을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 코딩 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 코딩 과정을 설명하기 위한 도면이다.
도 11은 본 실시예에 따른 반복 횟수 정의를 위한 코딩 블록 배치를 도시한 도면이다.
도 12는 본 실시예에 따른 퀴즈가 제공되는 경우의 코딩 과정을 설명하기 위한 도면이다.
도 13 내지 도 15는 본 실시예에 따른 함수를 이용하여 코딩 과정을 설명하기 위한 도면이다.
도 16은 본 발명의 바람직한 다른 실시예에 따른 함수, 반복 횟수 및 명령어를 정의 영역을 나타낸 도면이다.
도 17 내지 도 21은 본 발명의 다른 실시예에 따른 코딩 미션 정보와 코딩 블록의 배치를 나타낸 도면이다.
도 22는 본 발명의 일 실시예에 따른 사용자 단말의 구성을 도시한 도면이다.
도 23은 본 실시예에 따른 메모리 저장된 프로그램 모듈을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 코딩 교육 서비스 제공 시스템을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 코딩 교육 서비스 제공 시스템은 사용자 단말(100) 및 블록 조립체(102)를 포함할 수 있다.
사용자 단말(100)은 블록 조립체(102)와 네트워크로 연결되며, 블록 조립체(102)로부터 전송되는 정보를 수신한다.
사용자 단말(100)은 터치스크린을 갖는 이동통신단말, 태블릿일 수 있으나, 이에 한정됨이 없이 블록 조립체(102)와 통신하며 소정 정보를 화면상에 출력하는 단말이라면 제한 없이 적용될 수 있다.
바람직하게, 사용자 단말(100)과 블록 조립체(102)는 블루투스 또는 WiFi와 같은 근거리 네트워크를 통해 연결될 수 있으나, 반드시 이에 한정되는 것은 아니다.
본 실시예에 따른 블록 조립체(102)는 블록판(110) 및 블록(112)을 포함할 수 있다.
도 2는 본 실시예에 따른 블록판의 사시도이고, 도 3은 본 실시예에 따른 블록판의 내부 구성을 도시한 도면이다. 또한, 도 4는 본 실시예에 따른 블록의 사시도이고, 도 5는 본 실시예에 따른 블록의 내부 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 블록판(110)은 복수의 블록 배치부(200)를 포함한다.
도 2에는 블록 배치부(200)가 9×9로 제공된 블록판(110)을 도시한다.
그러나, 블록판(110)은 7×7 또는 5×5의 블록 배치부(200)를 포함할 수 있다.
각 블록 배치부(200)는 고유한 좌표값을 가지며 블록(112)과 접속 가능한 구조를 갖는다.
보다 상세하게, 블록 배치부(200)는 블록(112)이 결합되는 돌기부(210) 및 블록(112)에 전원을 공급하고, 블록(112)과 데이터를 송수신하는 접속부(212)를 포함할 수 있다.
바람직하게, 접속부(212)는 개별 블록 배치부(200)의 소정 영역에 패턴 형태로 형성될 수 있고, 접속부(212)의 패턴에 블록(112)의 하단에 형성된 대응단자(400)가 전기적으로 연결된다.
여기서, 블록(112)의 대응단자(400)는 스프링핀(포고핀)으로 구성될 수 있으며, 블록 배치부(200)와 블록(112) 중 적어도 하나에 자석이 제공되어 결합 상태가 안정적으로 유지되도록 할 수 있다.
도 4에 도시된 바와 같이, 블록(112)의 상부에는 블록판(110)의 블록 배치부(200)와 동일한 패턴을 갖는 블록 배치부(402)가 형성될 수 있다.
블록(112)의 블록 배치부(402)에 다른 블록(112)이 올려질 수 있다.
도 3에 도시된 바와 같이, 본 실시예에 따른 블록판(110)은 통신 모듈(300), 메인 컨트롤러(302), 인터페이스 모듈(304) 및 전원 모듈(306)을 포함할 수 있다.
통신 모듈(300)은 다른 장치(예를 들어, 사용자 단말(100))와 근거리 무선 통신(예를 들어, 블루투스)을 수행하기 위한 수단이다.
예를 들어, 통신 모듈(300)은 사용자 단말(100)과 근거리 무선 통신을 통해 페어링 연결될 수 있다. 페어링 연결 과정 자체는 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.
통신 모듈(300)은 메인 컨트롤러(302)의 제어에 따라 페어링 연결된 사용자 단말(100)로 블록(112)이 배치된 위치 정보(즉, 좌표값)과 배치된 블록(112)의 식별 정보를 전송한다. 상기한 바와 같이, 통신 모듈(300)은 블록(112)의 위치 정보, 식별 정보 외에 높이정보도 전송할 수 있다.
여기서, 높이정보는 하나의 블록 배치부(200)에 복수의 블록(112)이 순차적으로 올려진 경우, 블록(200)의 적층 순서정보로 정의된다.
메인 컨트롤러(302)는 블록판(110) 상에 블록(112)이 배치되는 경우, 블록(112)에 전원을 공급하고, 블록(112)의 메모리(502)로부터 해당 블록(112)의 식별 정보를 획득한다.
도 5에 도시된 바와 같이, 본 실시예에 따른 블록(112)은 블록의 식별 정보를 저장하는 MCU(500) 및 메모리(502)를 포함할 수 있다.
MCU(500)는 블록판(110)과 전기적으로 접속되는 경우 전원을 공급받아 자신의 식별 정보를 블록판(110)으로 전달한다.
블록판(110)에 블록(112)이 배치되는 경우, 메인 컨트롤러(302)는 통신 모듈(300)을 통해 소정 블록 배치부(200)에 배치된 블록(112)의 식별 정보와 블록 배치부의 위치 정보(좌표값)를 사용자 단말(100)로 전송한다.
본 발명의 바람직한 일 실시예에 따르면, 상기한 물리 공간에서 블록 배치를 통해 코딩 교육 서비스를 제공한다.
도 1에 도시된 바와 같이, 사용자 단말(100)은 네트워크를 통해 서버(104)와 연결되어 코딩 미션 정보를 수신한다.
여기서, 네트워크는 유무선 인터넷, 이동통신망을 포함할 수 있다.
코딩 미션 정보는 명령어의 순차적 실행을 통해 사용자가 완료해야 하는 과제이다.
서버(104)는 사용자 단말(100)의 코딩 미션 정보 제공 요청이 있는 경우, 복수의 코딩 미션 정보 및 각 코딩 미션 정보에 상응하는 복수의 명령어, 함수 정보 및 개별 명령어 또는 함수의 반복 횟수 정보를 전송한다. 또한, 서버(104)는 코딩 과정에 필요한 퀴즈 정보 등도 사용자 단말(100)로 전송한다.
사용자 단말(100)은 서버(104)로부터 코딩 미션 정보를 수신하여 화면상에 디스플레이한다.
서버(104)는 통상의 앱스토어 서버일 수 있으며, 사용자 단말(100)은 본 실시예에 따른 코딩 교육에 필요한 애플리케이션을 미리 다운로드 받아 설치할 수 있다.
다운로드 받은 애플리케이션에는 각 난이도별 코딩 미션 정보 및 이와 관련된 정보들이 포함될 수 있다.
이하에서는 도면을 참조하면 본 실시예에 따른 코딩 교육 서비스 제공 과정을 상세하게 설명한다.
본 실시예에 따른 블록판(110) 및 블록(112)을 코딩 교육 서비스를 제공하기 위한 것으로서, 본 실시예에 따른 블록(112)은 이동 블록, 점프 블록, 밀기 블록, 기어가기 블록, 회전 블록, 연장 블록, 확대 블록, 축소 블록, 플립 블록 및 투명 블록과 동작 명령 블록을 포함한다.
또한, 블록(112)은 버튼 블록, 모터 블록, 터치 블록, 스위치 블록, 기어 블록, 음성 인식 블록, LED 블록 및 완료 블록과 같은 기능 블록과, 색상 블록을 포함할 수 있다.
여기서, 완료 블록은 코딩 미션에 상응하게 코딩 블록들을 배치한 후, 마지막 코딩 블록에 인접하게 배치되는 블록이다.
사용자 단말(100)은 블록판(110)으로부터 완료 블록 배치 정보를 수신하는 경우, 코딩이 정확히 이루어졌는지 여부를 판단한다.
동작 명령 블록 및 색상 블록은 개별 블록(112)에 각 동작 또는 색상에 상응하는 속성이 설정되어 있을 수 있으며, 이와 달리 도 6에 도시된 바와 같이, 코딩 카드를 이용하여 사용자가 원하는 블록(112)에 카드를 전기적으로 접속시키거나 태그 방식으로 동작 명령 블록 또는 색상 블록으로 설정할 수도 있다.
이때, 코딩 카드와 블록(112)이 결합되는 경우, 블록(112)의 MCU(500)가 코딩 카드를 인식하여 블록판(110)에 전달한다.
이하에서는 설명의 편의를 위해, 코딩 카드를 이용하여 블록의 속성이 결정되거나, 블록 자체에 속성이 결정되는 것으로 고려하여 블록을 코딩 블록으로 정의한다.
도 7은 본 실시예에 따른 코딩 블록 및 그래픽 오브젝트(화면 상 아이템)의 속성을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 이동 코딩 블록은 가상 화면상에 나타난 캐릭터를 소정 방향으로 이동시키는 것으로, 종료점, 장애물 또는 IF 문을 만나기 전까지 소정 방향으로 이동시키는 블록이다.
점프 코딩 블록은 장애물을 뛰어넘도록 하는 블록이다.
기어가기 코딩 블록은 장애물 밑으로 기어가도록 하는 블록이다.
빨간색 코딩 블록은 IF문으로 사용되는 블록이다.
줄타기 코딩 블록은 서로 다른 높이를 갖는 지형을 뛰어넘도록 하기 위한 블록이다.
강화 코딩 블록은 경사 지형에서 캐릭터의 움직임을 강화시키는 블록이다.
퀴즈 아이템은 퀴즈를 제시하는 아이템이다.
본 발명의 바람직한 일 실시예에 따르면, 상기한 바와 같은 코딩 블록들을 블록판에 배치함으로써 코딩 교육 서비스를 제공한다.
본 실시예에 따르면, 코딩 미션 정보에 대한 정확한 코딩이 가능하고 또한, 반복 구문 또는 함수 호출에 대한 교육이 이루어질 수 있도록 블록판(110)에 함수를 정의하는 제1 축, 반복 횟수를 정의하는 제2 축 및 명령어를 정의하는 제3 축이 설정된다.
도 8은 본 실시예에 따른 블록판에 함수, 반복 횟수 및 명령어를 정의하기 위한 개별 축을 도시한 도면이다.
도 8은 본 실시예에 따른 5×5 블록판(110)을 도시한 것으로서, 세로 방향으로 제1 축 내지 제5 축(x1 내지 x5인 y축)이 존재하고, 가장 왼쪽의 세로 방향(제1 축(x1))이 함수 정의를 위한 코딩 블록이 배치되는 함수 정의 영역(800)으로 설정되고, 이에 인접한 세로 방향(제2 축(x2))이 반복 횟수를 정의하기 위한 코딩 블록이 배치되는 반복 횟수 정의 영역(802)으로 설정된다.
그리고, 반복 횟수 정의 영역(802)에 인접한 하나 이상의 축(제3 축 내지 제 5축(x3~x5))이 명령어를 정의하기 위한 코딩 블록이 배치되는 명령어 정의 영역(804)으로 설정된다.
본 실시예에 따르면, 복수의 블록 배치부가 n×n으로 형성되는 경우, 함수 정의 영역(800)은 첫 번째 열을 포함하는 k번째까지 행의 n열 영역으로 설정되고, 반복 횟수 정의 영역은 k+l번째 행의 n열 영역으로 설정되며, 명령어 정의 영역은 k+l+m번째 행의 n열 영역된다. 여기서, k, l, m은 1 이상의 자연수이다.
바람직하게, 함수 정의 영역(800)은 첫 번째 행의 n열 영역, 반복 횟수 정의 영역은 두 번째 행의 n형 영역, 명령어 정의 영역은 나머지 행들의 n열 영역으로 설정될 수 있다.
또한, 도면에 도시하지 않았으나, 여기서, 코딩 미션 정보 상에서 퀴즈를 풀기 위한 NFC 태그가 올려지는 NFC 블록, 소정 조건이 제시된 경우 복수의 조건 중 하나를 결정하기 위한 터치 블록 등이 위치하는 입력 영역이 블록판(110)내에 설정될 수 있다.
바람직하게, 입력 영역은 마지막 행의 n열 영역으로 설정될 수 있다.
상기에서는 블록판의 좌측 방향에서부터 함수 정의 영역, 반복 횟수 정의 영역 및 명령어 정의 영역이 순차적으로 설정되는 것으로 설명하였으나, 이에 한정되지 않고, 행과 열을 반대로 하여 각 영역들이 설정될 수도 있으며, 이에 대해서는 이하에서 다시 설명될 것이다.
본 발명의 바람직한 일 실시예에 따르면, 명령어 정의 영역(804) 내에서 코딩 블록의 실행 순서가 설정된다.
예를 들어, 명령어 정의 영역(804) 중 반복 횟수 정의 영역(802)에 인접한 영역(제3 축)의 최상단(810)이 첫 번째 실행 순서에 해당하는 명령어 코딩 블록이 배치된다.
바람직하게, 실행 순서는 최상단(810)에서 하측 방향으로 설정될 수 있다.
본 실시예에 따르면, 반복 횟수 정의 영역(802)에 인접한 (k+l+1)번째 행의 n열 영역 내에서만 실행 순서가 미리 설정될 수 있고, 나머지 축에서는 제3 축의 최하단에 위치한 코딩 블록에서 시작하여 이에 인접한 코딩 블록 순으로 실행 순서가 정의될 수 있다.
또한, 명령어 정의 영역(804)의 최상단만 첫 번째 실행 순서로 정의되고, 이에 인접한 코딩 블록 순으로 실행 순서가 정의될 수 있다.
실행 순서에 대해서는 다른 도면을 참조하여 상세하게 설명할 것이다.
또한, 숫자 블록을 제2 축(802)의 각 명령어 코딩 블록에 인접한 위치에 배치하는 방식으로 반복 횟수가 설정될 수 있다.
본 실시예에 따르면, 숫자 태그를 NFC 태그 인식이 가능한 블록에 올리는 방식으로 반복 횟수가 결정될 수 있다.
또한, 본 발명의 일 실시예에 따르면, p번째 행의 n열 영역을 더미 영역으로 설정할 수도 있다.
바람직하게, 더미 영역은 함수 정의 영역(800)과 반복 횟수 정의 영역(802) 사이에 위치할 수 있으며, 이는 함수 블록이 반복 횟수와 혼동되지 않도록 하기 위함이다.
도 8에서는 제1 축(800)과 제2 축(802)이 단일 축인 것으로 도시하였으나, 이에 한정됨이 없이 제1 축 및 제2 축도 하나 이상으로 설정될 수 있다.
도 9는 본 발명의 일 실시예에 따른 코딩 과정을 설명하기 위한 도면이다.
도 9를 참조하면, 사용자 단말(100)의 화면(900) 상에는 코딩 미션 정보가 출력된다.
도 9의 코딩 미션 정보는 출발점(910), 종료점(912) 및 경로(914)를 포함한다.
코딩 미션을 완료하기 위해서는, 즉 캐릭터가 출발점(910)에서 종료점(912)으로 가기 위해서는, 오른쪽, 아래쪽, 왼쪽 방향으로 순차적으로 이동해야 한다.
이러한 코딩 미션 정보에 따라, 사용자는 오른쪽 이동 코딩 블록, 아래쪽 이동 코딩 블록, 왼쪽 이동 코딩 블록을 제3 축(804)의 최상단(810)에서부터 아래 방향으로 순차적으로 배치한다.
본 발명의 바람직한 일 실시예에 따르면, 코딩 블록의 배치가 완료되는 것을 인식하기 위해, 완료 블록(920)이 마지막 코딩 블록(왼쪽 이동 코딩 블록)에 인접하게 배치될 수 있다.
사용자 단말(100)은 블록판(110)으로부터 완료 블록(920) 배치 정보를 수신하는 경우, 코딩이 정확히 이루어졌는지 여부를 판단한다.
바람직하게, 완료 블록(920)은 명령어 정의를 위한 영역에 배치되며, 상기한 바와 같이, 마지막 코딩 블록에 인접하게 배치된다.
도 10은 본 발명의 일 실시예에 따른 코딩 과정을 설명하기 위한 도면이다.
도 10에서는 경로 상에 장애물(1000)이 존재하고 또한, 경로가 이어지지 않고 끊어진 지점(1002)을 갖는 코딩 미션 정보를 도시한다.
이를 위해, 사용자는 이동을 위한 코딩 블록과 함께, 적절한 위치에 밀기 코딩 블록 및 점프 코딩 블록을 블록판(110)의 명령어 정의 영역(804)에 배치한다.
코딩 블록의 배치가 완료된 후 완료 블록이 배치되면, 사용자 단말(110)은 코딩 미션 정보에 상응하게 복수의 코딩 블록이 올바르게 배치되었는지 여부를 판단한다.
도 11은 본 실시예에 따른 반복 횟수 정의를 위한 코딩 블록 배치를 도시한 도면이다.
도 11을 참조하면, 출발점(910)에서 종료점(912)으로 가기 위해서는 왼쪽 이동, 위로 이동, 오른쪽 이동, 위로 이동, 오른쪽 이동, 아래쪽 이동이 순차적으로 이루어져야 한다.
도 11의 코딩 미션 정보에 따르면 위로 이동 후 오른쪽 이동이 2번 반복된다.
코딩 블록의 효율적인 배치를 위해, 블록판(110)의 명령어 정의 영역(804)의 최상단(810)에 왼쪽 이동 코딩 블록(1100)이 배치된다.
이후, 위쪽 이동 코딩 블록(1102)과, 이에 인접하게 오른쪽 이동 코딩 블록(1104)이 배치되고, 반복 횟수 정의 영역(802)에 숫자 2를 나타내는 태그 또는 코딩 블록(1106)이 배치된다.
숫자와 2개의 이동 코딩 블록은 위로 이동 후 오른쪽 이동이 2회 반복 수행되는 것으로 정의된다.
제3 축의 위쪽 이동 코딩 블록(1102)의 밑에 아래쪽 코딩 블록(1108)과 완료 블록(1110)이 순차적으로 배치되면 코딩이 완료된다.
도 11을 참조하면, 반복 횟수 정의 영역(802)에 배치된 숫자(n)에 x축 방향으로 인접하게 복수의 코딩 블록들이 배치되는 경우, 이는 복수의 코딩 블록들이 순차적으로 n회 반복 수행되는 것으로 정의된다.
도 12는 본 실시예에 따른 퀴즈가 제공되는 경우의 코딩 과정을 설명하기 위한 도면이다.
도 12는 출발점(910)에서 왼쪽 이동 후, 퀴즈를 풀고 정답인 경우에 아래쪽으로 이동하여 종료점(912)에 도달하는 예를 도시한 것이다.
도 12를 참조하면, 왼쪽 이동 후, 퀴즈 아이템에 도달하는 것을 나타내기 위해, 명령어 정의 영역(804)에 퀴즈 블록(1200)이 배치된다.
화면상에 나타난 퀴즈에 대한 정답을 맞추기 위해, 명령어 정의 영역(804)의 소정 위치에 NFC 태그 인식을 위한 블록(NFC 블록, 1202)이 배치된다.
화면에 나오는 문제에 따라 NFC 블록(1202)에 적절한 태크를 올려놓고, 해당 태그가 정답인 경우, 캐릭터가 다음 경로로 이동하게 된다.
도 13 내지 도 15는 본 실시예에 따른 함수를 이용하여 코딩 과정을 설명하기 위한 도면이다.
도 13 내지 도 15에서는 7×7 블록판(110)을 도시하며, 왼쪽부터 2번째까지 세로 방향으로 함수 정의 영역(800), 3번째 축이 반복 횟수 정의 영역(802), 그리고 나머지 축들이 명령어 정의 영역(804)으로 설정되는 것으로 가정한다.
도 13을 참조하면, 사용자는 함수 정의 영역(800)에 복수의 코딩 블록을 배치하여 함수를 정의할 수 있다.
도 13의 경로는 왼쪽, 아래쪽 이동이 반복 수행되어야 하며, 종료점(912) 직전에 오른쪽 이동이 수행된다.
왼쪽 이동 및 아래쪽 이동이 순차적으로 반복 수행되는 것을 고려하여, 함수 정의 영역에 왼쪽 코딩 블록(1310) 및 아래쪽 코딩 블록(1312)을 순차적으로 적층한 후, 함수 블록(1314)이 적층되면, 2개의 코딩 블록을 포함하는 함수가 정의된다.
이처럼 함수를 정의하는 경우, 명령어 정의 영역(804)에 함수 블록(1314)과 동일한 모양의 블록을 배치하고, 반복 횟수 정의 영역(802)에 반복 횟수를 정의하면 블록을 이용한 코딩 과정을 간소화할 수 있다.
본 실시예에 따르면, 상부가 삼각형, 사각형, 오각형, 원형 등인 블록들이 복수개 제공될 수 있으며, 이들을 함수 블록으로 사용할 수 있다.
상기한 바와 같이, 함수 정의 영역에 방향 이동을 나타내는 코딩 블록들을 배치하고, 맨 위에 함수을 정의하는 소정 형상의 함수 블록을 올려놓은 후, 명령어 정의 영역에 해당 함수 블록과 동일한 형상의 함수 블록을 배치하면 함수가 호출되는 것과 동일한 동작이 수행된다.
도 14는 하나의 함수가 명령어 정의 영역(804)에서 복수로 사용되는 예를 도시한 도면이다.
도 14에 도시된 바와 같이, 함수 정의 영역(800)에 정의된 함수는 단수가 아니라 여러 번 호출될 수 있다.
도 15는 함수 정의 영역에 복수 개의 함수가 정의되고, 명령어 정의 영역에서 각각 호출되는 것을 예로 도시한 것이다.
도 15를 참조하면, 함수 정의 영역(800)에, 제1 함수(1500) 및 제2 함수(1502)를 위한 복수의 코딩 블록을 배치하고, 서로 다른 형상의 제1 함수 블록(1510) 및 제2 함수 블록(1512)을 적층한다.
사용자는 명령어 정의 영역(804)에 복수의 함수 블록(1510,1512)을 적절히 배치하여 코딩을 완료할 수 있다.
상기에서는 블록판(110)에서 명령어 정의 영역(804)의 최상단부터 순차적으로 인접한 위치에 코딩 블록을 배치하는 것으로 설명하였다.
본 발명의 다른 실시예에 따르면, 코딩 블록을 인접하게 배치하는 것이 아니라, 수직으로 적층하는 방식으로 코딩이 이루어질 수도 있다.
도 16은 본 발명의 바람직한 다른 실시예에 따른 함수, 반복 횟수 및 명령어를 정의 영역을 나타낸 도면이다.
도 16을 참조하면, n×n 블록판에서 최상단에서부터 k번째 열의 n행이 함수 정의 영역(1600), k+1번째 열의 n행이 더미 영역(1602), n행 및 k+1+l열이 명령어 정의 영역(1604), k+l+m번째 열의 n행이 반복 횟수 정의 영역(1606) 및 k+1+m+1번째 열의 n행이 입력 영역(1608)으로 정의된다.
본 실시예에서 코딩 블록과 직접 관련된 함수 정의 영역(1600)은 k번째 열의 n행 영역, 명령어 정의 영역(1604)는 k+l번째 열의 n행 영역, 반복 횟수 정의 영역(1606)은 k+l+m번째 열의 n행 영역으로 정의되며, 이때, 명령어 정의 영역(1604) 및 반복 횟수 정의 영역(1606)은 서로 인접하게 배치되어야 한다.
여기서, 입력 영역(1608)은 퀴즈를 풀기 위한 NFC 태그가 올려지는 NFC 블록, 소정 조건이 제시된 경우 복수의 조건 중 하나를 결정하기 위한 터치 블록 등이 위치하는 영역이다.
5×5 블록판을 가정하는 경우, 최상단에서부터 첫 번째 열의 5행이 함수 정의 영역(1600)으로 정의되고, 순차적으로 각각 아래쪽 열의 5행이 더미 영역(1602), 명령어 정의 영역(1604), 반복 횟수 정의 영역(1606) 및 입력 영역(1608)으로 정의된다.
도 16과 같이 각 영역이 정의되는 경우, 명령어 정의 영역에서 첫 번째 실행되는 명령어 코딩 블록은 명령어 정의 영역의 가장 좌측에 배치될 수 있다.
또한, 도 16에서는 코딩 블록을 수직으로 적층하는 방식을 이용하기 때문에, 하나의 좌표에서 위로 쌓여진 복수의 코딩 블록 상에 NFC 블록을 위치시키고, 그 위에 숫자 태그를 올리는 방식으로 반복 횟수가 정의될 수 있다.
다만, 함수 블록의 경우, 상단에 더 이상 다른 블록이 올려지지 않는 조형 블록이 함수를 정의하기 위해 이용되기 때문에, 함수의 반복 횟수는 상기한 반복 횟수 정의 영역(1606)에 반복 횟수 정의를 위한 블록 및 태그를 배치하는 방식으로 이루어질 수 있다.
도 17 내지 도 21은 본 발명의 다른 실시예에 따른 코딩 미션 정보와 코딩 블록의 배치를 나타낸 도면이다.
도 17에는 사용자 단말(100)의 화면 상에 표시되는 코딩 미션 정보(1700), 코딩 미션 정보에 맞게 물리 공간에서 블록판(110)과 복수의 코딩 블록을 배치하는 과정을 도시한 것이다.
도 17은 명령어 정의 영역(1604)의 가장 좌측에 오른쪽 이동 코딩 블록, 아래쪽 이동 코딩 블록, 오른쪽 이동 코딩 블록 및 아래쪽 이동 코딩 블록이 순차적으로 배치되고, 완료 블록(1710)이 배치되는 것을 도시한 것이다.
도 17에서와 같이 코딩 블록과 같이 배치하는 경우, 코딩 미션의 경로 상에서 캐릭터가 출발점에서부터 상기한 코딩 블록의 배치에 따른 위치까지 이동한다.
그러나, 상기한 코딩 블록의 배치에 따른 최종 위치는 종료점이 아니므로 캐릭터는 다시 원위치로 돌아간다.
도 18은 명령어 정의 영역(1604)에 오른쪽 코딩 블록, 아래쪽 코딩 블록이 순차적으로 배치되고, 그 위에 NFC 블록(1800) 및 3이라는 숫자 태그(1802)를 배치한 것을 도시한 것이다.
또한, 다음 실행 순서에 해당하는 오른쪽 이동 코딩 블록, 특수 행동 코딩 블록(1804) 및 완료 블록(1710)이 상기와 같이 반복 횟수가 정의된 블록에 인접한 오른쪽 위치에 배치된다.
도 18과 같이 코딩 블록들을 배치하는 경우, 출발점에서 왼쪽 이동, 아래쪽 이동을 3번 반복한 후 오른쪽 이동하게 되면 밑으로 떨어지게 되어 코딩 미션이 완료되지 않아 캐릭터는 다시 처음 위치로 돌아가게 된다.
경로 밑으로 떨어지지 않도록 하기 위해서는 캐릭터가 왼쪽 이동 및 아래쪽 이동 후 왼편으로 이동하여 그래픽 오브젝트(날개)를 획득해야 한다.
도 19를 참조하면, 명령어 정의 영역(1604)의 가장 왼편에 도 18과 같이 코딩 블록들이 배치되고, 이에 인접한 영역에 왼쪽 이동 코딩 블록, 오른쪽 이동 코딩 블록, 특수 행동 코딩 블록 및 위쪽 이동 코딩 블록이 배치된다.
여기서, 특수 행동 코딩 블록(1804)은 캐릭터가 점프하도록 정의된 블록이다.
도 19와 같이 코딩 블록들을 배치하는 경우, 캐릭터가 점프하여 다른 경로로 이동할 수 있으나, 종료점까지 가지는 못하므로 사용자 단말(100)에서 캐릭터는 다시 처음 위치로 이동하게 된다.
도 20 내지 도 21은 본 발명의 다른 실시예에 따른 함수 블록을 이용한 코딩 과정을 도시한 도면이다.
우선 도 20을 참조하면, 함수 정의 영역(1800)에 오른쪽 이동 코딩 블록 및 아래쪽 이동 코딩 블록을 순차적으로 적층하고, 그 위에 소정 형상의 함수 블록(2000)을 적층하여 하나의 함수(제1 함수)를 정의할 수 있다.
도 20에 도시된 바와 같이, 명령어 정의 영역(1604)에 제1 함수에 대응되는 함수 블록(2000)을 올려놓고, 이에 인접하여 NFC 블록(1800) 및 숫자 태그(1802)를 올려 놓으면, 함수에 해당하는 명령어가 3회 반복 수행되는 것으로 정의된다.
바람직하게, 본 실시예에 따른 함수 블록은 상단에 다른 블록을 올릴 수 없는 조형 블록일 수 있기 때문에, 완료 블록(1710)은 명령어 정의 영역(1604)에서 함수 블록(2000)에 인접하게 배치된다.
도 20과 같이, 코딩 블록들을 배치하는 경우, 캐릭터는 점프 직전 위치까지 이동한 후 다시 초기 위치로 이동한다.
도 21을 참조하면, 도 20에서와 마찬가지로 복수의 이동 관련 코딩 블록 및 소정 형상의 함수 블록(2000)을 통해 하나의 함수가 정의된다.
도 21에서는 코딩 미션 정보에 따른 경로를 완료하기 위해, 출발점에서 제1 함수에 해당하는 행위가 3회 반복 수행된다.
이후, 날개 아이템을 획득한 후 특수 행동인 점프를 수행하고, 위쪽 직선 이동을 위한 코딩 블록들이 제1 함수 블록에 인접하게 배치된다.
다음으로, 종료점으로 가기 위해, 오른쪽 이동 및 위쪽 이동에 해당하는 제1 함수가 2회 반복 수행되어야 한다.
이를 위해, 특수 행동 코딩 블록이 위치한 지점에 인접하게 제1 함수 블록이 위치하고, 그 아래의 반복 횟수 정의 영역(1606)에 NFC 블록 및 2회 숫자 태그(2100)가 배치된다.
두 번째 제1 함수 블록에 인접하게 완료 블록이 배치되면 코딩이 완료된다.
본 실시예에 따르면, 복수의 이동 관련 코딩 블록을 수직으로 적층함으로써 코딩을 완료할 수도 있으나, 도 21에서와 같이 함수 및 이의 반복 횟수를 정의하여 적은 수의 코딩 블록을 통해서도 코딩을 완료할 수 있다.
도 22는 본 발명의 일 실시예에 따른 사용자 단말의 구성을 도시한 도면이다.
도 22에 도시된 바와 같이, 본 실시예에 따른 사용자 단말은 프로세서(2200), 메모리(2202) 및 통신부(2204)를 포함할 수 있다.
프로세서(2200)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다.
메모리(2202)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(2202)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.
이와 같은 메모리(2202)에는 프로세서(2200)에 의해 실행 가능한 프로그램 명령어들이 저장된다.
메모리(2202)에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
통신부(2204)는 블록판(110)과 통신하는 모듈로서, 블록판(110)으로부터 블록 배치부(200)에 올려진 블록의 식별 정보 및 위치 정보를 수신한다.
본 실시예에 따르면, 블록판(110)에서 함수 정의 영역, 반복 횟수 정의 영역 및 명령어 정의 영역 등이 미리 설정되어 있으며, 이는 각 영역의 블록 배치부의 좌표가 미리 설정되어 있음을 의미한다.
사용자 단말(100)은 블록판(110)에 배치되는 각 코딩 블록의 식별 정보 및 좌표 정보를 수신하며, 코딩 블록이 상기한 영역 중 어느 영역에 배치된 것인지 식별할 수 있다.
도 23은 본 실시예에 따른 메모리 저장된 프로그램 모듈을 도시한 도면이다.
도 23에 도시된 바와 같이, 본 실시예에 따른 메모리(2202)에는 코딩 미션 정보 출력 모듈(2300), 판단 모듈(2302) 및 메시지 출력 모듈(2304)을 포함할 수 있다.
코딩 미션 정보 출력 모듈(2300)은 화면상에 코딩 미션 정보가 출력되도록 제어한다.
판단 모듈(2302)은 블록판(110)상의 복수의 코딩 블록이 화면에 출력된 코딩 미션 정보에 따라 올바르게 배치되었는지 여부를 판단한다.
통신부(2204)를 통해 완료 블록의 배치 정보가 수신되는 경우, 판단 모듈(2302)은 상기한 판단 과정을 수행한다.
메시지 출력 모듈(2304)은 상기한 판단 결과에 따른 메시지가 출력되도록 제어한다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (18)

  1. 사용자 단말과 네트워크를 통해 연결되는 코딩 교육 서비스 제공 장치로서,
    고유 좌표를 갖는 복수의 블록 배치부;
    상기 복수의 블록 배치부 상에 위치하는 복수의 코딩 블록을 인식하는 메인 컨트롤러; 및
    상기 복수의 코딩 블록 각각의 식별 정보 및 위치 정보를 상기 사용자 단말로 전송하여, 상기 사용자 단말이 화면상에 출력된 코딩 미션 정보에 상응하게, 상기 복수의 코딩 블록이 배치되었는지 여부를 판단할 수 있도록 하는 통신 모듈을 포함하되,
    상기 복수의 블록 배치부 중 하나에 복수의 코딩 블록을 순차적으로 적층하여 배치한 후, 제1 형상의 제1 함수 블록을 최상단에 배치하면 상기 복수의 코딩 블록에 따른 실행 순서가 제1 함수로 정의되며, 상기 제1 함수 블록이 상기 코딩 미션 정보의 완료를 위해 상기 복수의 코딩 블록과 함께 상기 복수의 블록 배치부에 배치되는 경우, 해당 실행 순서에서 상기 제1 함수가 호출되는 코딩 교육 서비스 제공 장치.
  2. 제1항에 있어서,
    상기 복수의 블록 배치부 각각은 함수 정의 영역, 반복 횟수 정의 영역, 명령어 정의 영역 및 입력 영역 중 적어도 하나에 속하는 코딩 교육 서비스 제공 장치.
  3. 제2항에 있어서,
    상기 복수의 블록 배치부는 n×n으로 형성되며,
    상기 함수 정의 영역, 반복 횟수 정의 영역, 명령어 정의 영역 및 입력 영역 중 적어도 하나는 각각 세로 방향 또는 가로 방향으로 하나 이상의 축에 해당하는 영역으로 설정되는 코딩 교육 서비스 제공 장치.
  4. 제3항에 있어서,
    상기 명령어 정의 영역에서, 미리 설정된 방향으로 각 코딩 블록의 실행 순서가 정의되는 코딩 교육 서비스 제공 장치.
  5. 제3항에 있어서,
    상기 함수 정의 영역에 복수의 코딩 블록을 순차적으로 적층하여 배치한 후, 제1 형상의 제1 함수 블록을 최상단에 배치하면 제1 함수가 정의되며, 상기 명령어 정의 영역의 소정 위치에 상기 제1 형상과 동일한 형상의 함수 블록이 배치되는 경우, 해당 실행 순서에서 상기 제1 함수가 호출되는 코딩 교육 서비스 제공 장치.
  6. 제3항에 있어서,
    상기 명령어 정의 영역에 배치된 제1 코딩 블록 또는 함수의 반복 횟수는 상기 제1 코딩 블록 또는 함수를 정의하는 소정 형상의 함수 블록에 인접한 반복 횟수 정의 영역에 배치된 숫자 블록 또는 숫자 태그에 의해 결정되는 코딩 교육 서비스 제공 장치.
  7. 제3항에 있어서,
    상기 명령어 정의 영역에 완료 블록이 배치되는 경우, 상기 사용자 단말은 상기 코딩 미션 정보에 상응하게 복수의 코딩 블록이 배치되었는지 여부를 판단하는 코딩 교육 서비스 제공 장치.
  8. 제2항에 있어서,
    상기 입력 영역은
    퀴즈를 풀기 위한 NFC 태그가 올려지는 NFC 블록 및 소정 조건이 제시된 경우 복수의 조건 중 하나를 결정하기 위한 터치 블록 중 적어도 하나가 위치하는 영역인 코딩 교육 서비스 제공 장치.
  9. 제3항에 있어서,
    상기 함수 정의 영역은 k번째 행의 n 열 영역으로 설정되며,
    상기 반복 횟수 정의 영역은 k+l번째 행의 n열 영역으로 설정되고,
    상기 명령어 정의 영역은 k+l+m번째 행의 n열 영역으로 설정되며,
    여기서 상기 k, l, m은 1 이상의 자연수인 코딩 교육 서비스 제공 장치.
  10. 제9항에 있어서,
    상기 명령어 정의 영역에서, 상기 k+l+m번째 행의 n열 영역의 최상단 블록 배치부가 첫 번째 실행 순서로 정의되며, 상기 최상단 블록 배치부에 인접하게 배치되는 코딩 블록 순서로 실행 순서가 정의되는 코딩 교육 서비스 제공 장치.
  11. 제3항에 있어서,
    상기 복수의 블록 배치부의 좌측 상단에서부터 k번째 열 순으로 함수 정의 영역, 명령어 정의 영역, 반복 횟수 정의 영역 및 입력 영역 중 하나가 설정되며, 상기 명령어 정의 영역 및 상기 반복 횟수 정의 영역은 서로 인접하는 코딩 교육 서비스 제공 장치.
  12. 제11항에 있어서,
    상기 명령어 정의 영역에는 복수의 코딩 블록이 하나의 블록 배치부에 수직으로 적층되어 배치되며, 수직으로 적층된 코딩 블록의 실행 순서는 상기 블록 배치부에서부터 적층된 순서로 결정되는 코딩 교육 서비스 제공 장치.
  13. 제11항에 있어서,
    상기 함수 정의 영역은 k번째 열의 n행 영역으로 설정되고,
    상기 명령어 정의 영역은 k+l번째 열의 n행 영역으로 설정되고,
    상기 반복 횟수 정의 영역은 k+l+m번째 열의 n행 영역으로 설정되며,
    여기서 상기 k, l 및 m은1 이상의 자연수인 코딩 교육 서비스 제공 장치.
  14. 제13항에 있어서,
    상기 입력 영역은 k+l+m+1번째 열의 n행 영역으로 설정되는 코딩 교육 서비스 제공 장치.
  15. 제1항에 있어서,
    상기 복수의 코딩 블록은 상기 복수의 블록 배치부 상에 적층되는 제1 코딩 블록 및 상기 제1 코딩 블록 상에 적층되는 제2 코딩 블록을 포함하는 코딩 교육 서비스 제공 장치.
  16. 코딩 블록이 배치되는 블록판과 네트워크를 통해 연결되는 코딩 교육 서비스 제공 장치로서,
    고유 좌표를 갖는 복수의 블록 배치부가 형성된 블록판으로부터 상기 복수의 블록 배치부 상에 위치하는 복수의 코딩 블록에 대한 식별 정보 및 위치 정보를 수신하는 통신부;
    프로세서; 및
    상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는,
    코딩 미션 정보를 화면상에 출력하고,
    상기 블록판으로부터 수신된 복수의 코딩 블록의 식별 정보 및 위치 정보를 이용하여 상기 복수의 코딩 블록이 상기 코딩 미션 정보에 상응하게 배치되어 있는지 여부를 판단하도록,
    상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하되,
    상기 복수의 블록 배치부 중 하나에 복수의 코딩 블록을 순차적으로 적층하여 배치한 후, 제1 형상의 제1 함수 블록을 최상단에 배치하면 상기 복수의 코딩 블록에 따른 실행 순서가 제1 함수로 정의되며, 상기 제1 함수 블록이 상기 코딩 미션 정보의 완료를 위해 상기 복수의 코딩 블록과 함께 상기 복수의 블록 배치부에 배치되는 경우, 해당 실행 순서에서 상기 제1 함수가 호출되는 코딩 교육 서비스 제공 장치.
  17. 제16항에 있어서,
    상기 블록판은 함수 정의 영역, 반복 횟수 정의 영역, 명령어 정의 영역 및 입력 영역 중 적어도 하나가 미리 설정되는 코딩 교육 서비스 제공 장치.
  18. 사용자 단말과 네트워크를 통해 서버에서 코딩 교육 서비스를 제공하는 방법으로서,
    상기 사용자 단말로부터 코딩 미션 정보 제공 요청을 수신하는 단계; 및
    상기 사용자 단말로 복수의 코딩 미션 정보 및 각 코딩 미션 정보에 상응하는 복수의 명령어, 함수 정보 및 개별 명령어 또는 함수의 반복 횟수 정보를 수신하는 단계를 포함하되,
    상기 사용자 단말은 상기 복수의 코딩 미션 정보 중 하나를 화면 상에 출력하고, 고유 좌표를 갖는 복수의 블록 배치부가 형성된 블록판으로부터 상기 블록판에 배치된 복수의 코딩 블록의 식별 정보 및 위치 정보를 수신하여 상기 화면상에 출력된 코딩 미션 정보에 상응하게 상기 복수의 코딩 블록이 배치되었는지 여부를 판단하고,
    상기 복수의 블록 배치부 중 하나에 복수의 코딩 블록을 순차적으로 적층하여 배치한 후, 제1 형상의 제1 함수 블록을 최상단에 배치하면 상기 복수의 코딩 블록에 따른 실행 순서가 제1 함수로 정의되며, 상기 제1 함수 블록이 상기 코딩 미션 정보의 완료를 위해 상기 복수의 코딩 블록과 함께 상기 복수의 블록 배치부에 배치되는 경우, 해당 실행 순서에서 상기 제1 함수가 호출되는 코딩 교육 서비스 제공 방법.







KR1020160127609A 2016-10-04 2016-10-04 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법 KR101892356B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160127609A KR101892356B1 (ko) 2016-10-04 2016-10-04 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법
US15/362,090 US10228914B2 (en) 2016-10-04 2016-11-28 Apparatus and method of providing a coding education service using a block
CN201611075946.XA CN107896236A (zh) 2016-10-04 2016-11-29 利用块的编码培训服务提供装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160127609A KR101892356B1 (ko) 2016-10-04 2016-10-04 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180037631A KR20180037631A (ko) 2018-04-13
KR101892356B1 true KR101892356B1 (ko) 2018-08-28

Family

ID=61757119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160127609A KR101892356B1 (ko) 2016-10-04 2016-10-04 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법

Country Status (3)

Country Link
US (1) US10228914B2 (ko)
KR (1) KR101892356B1 (ko)
CN (1) CN107896236A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443672B1 (ko) 2021-08-12 2022-09-15 주식회사 로보그램 블록 코딩 교육 서비스 제공 방법, 장치 및 시스템

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885801B2 (en) * 2016-05-24 2021-01-05 Tangible Play, Inc. Virtualized tangible programming
CN108461991B (zh) * 2018-05-25 2023-08-08 山东交通学院 一种方便使用的代码编辑器
KR101947160B1 (ko) * 2018-06-20 2019-02-12 (주)코딩앤플레이 증강현실을 이용한 코딩교육 방법
KR102071270B1 (ko) * 2018-07-17 2020-01-30 주식회사 에드토이 컬러 블럭을 이용한 유아용 코딩교육 시스템
KR102126521B1 (ko) 2018-08-01 2020-06-24 (주)미래융합정보기술 유치원 및 초등학교 저학년기의 물리적 프로그래밍을 위한 텐저블 코딩 블록 시스템
KR101966597B1 (ko) * 2018-09-27 2019-08-13 정은영 놀이형 코딩교육 방법
KR20200036593A (ko) 2018-09-28 2020-04-07 크레아트봇 주식회사 페이퍼크래프트 연계형 코딩교육키트
KR102186719B1 (ko) * 2018-11-15 2020-12-08 주식회사 마르시스 블록형 무선 코딩 명령어 입력 장치 및 방법
KR102175316B1 (ko) * 2018-12-12 2020-11-06 유준배 코딩교육장치
KR102217922B1 (ko) * 2019-01-08 2021-02-19 주식회사 럭스로보 조립 정보 제공 시스템 및 모듈 어셈블리
KR102007493B1 (ko) * 2019-01-31 2019-08-05 (주)코딩앤플레이 코딩용 학습 콘텐츠 제공 방법
KR102007495B1 (ko) * 2019-01-31 2019-08-05 (주)코딩앤플레이 가상 로봇을 활용한 교육 콘텐츠 실행 방법
KR102116511B1 (ko) * 2019-01-31 2020-05-28 (주)이이알에스소프트 블록형 스마트토이를 활용한 증강현실 기반 교육용 프로그래밍언어 저작 방법
KR102007491B1 (ko) * 2019-02-01 2019-08-05 (주)코딩앤플레이 가상의 로봇을 이용한 코딩 교육 제공 방법
KR102428745B1 (ko) * 2020-01-09 2022-08-04 (주)천재교육 코딩 토이를 이용한 학습 시스템
KR102095951B1 (ko) 2020-01-20 2020-04-01 조재현 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
KR102352958B1 (ko) * 2020-02-05 2022-01-20 대전대학교 산학협력단 온-오프라인 수업 플랫폼
KR102409265B1 (ko) * 2020-11-19 2022-06-15 주식회사 파코웨어 폴리오미노를 이용한 코딩교구
KR102294853B1 (ko) * 2020-12-01 2021-08-27 주식회사 로보그램인공지능로봇연구소 코딩 블록에 따라 동작하는 아바타를 제공하는 전자 장치, 및 제어 방법
KR102458619B1 (ko) * 2020-12-30 2022-10-25 정용비 명령어 카드가 배치되는 카드 슬롯을 포함하는 카드 보드
KR102579179B1 (ko) * 2021-07-13 2023-09-15 주식회사 크리모 코딩 알고리즘 훈련 교구
KR102557227B1 (ko) * 2023-03-27 2023-07-24 경상남도 (교육청) 거제 관광 체험 게임을 수행하기 위한 거제 관광 체험 게임 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502271B1 (ko) * 2014-02-07 2015-03-16 (주)모션블루 3차원 디지털 보드 게임 서비스 제공 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175954B1 (en) * 1997-10-30 2001-01-16 Fuji Xerox Co., Ltd. Computer programming using tangible user interface where physical icons (phicons) indicate: beginning and end of statements and program constructs; statements generated with re-programmable phicons and stored
KR20140007997A (ko) * 2012-07-10 2014-01-21 (주)모션블루 보드 게임을 제공하는 서버 및 방법, 보드 게임을 형성하는 블록
KR101422737B1 (ko) 2012-11-02 2014-07-24 엄원우 다중 언어 코드 동시 실행 장치와 그 방법
CN203408474U (zh) * 2013-08-16 2014-01-29 步步高教育电子有限公司 一种基于nfc近场通信的益智玩具
KR20140108500A (ko) * 2014-03-21 2014-09-11 (주)모션블루 미러월드 기반 체감형 디지털 보드 게임 서비스 제공 방법 및 장치
KR20150093584A (ko) * 2014-12-18 2015-08-18 (주)모션블루 교육용 보드 게임 제공 방법 및 장치
CN105536266B (zh) * 2016-01-25 2018-08-14 北京联联看科技有限公司 智能积木游戏装置、智能积木游戏的控制方法及系统
CN205516505U (zh) * 2016-01-29 2016-08-31 安徽小木文化科技有限公司 无线充电智能互动积木系统
CN105709435B (zh) * 2016-01-29 2019-01-29 安徽小木文化科技有限公司 智能互动积木系统及其控制方法
CN205461019U (zh) * 2016-01-29 2016-08-17 安徽小木文化科技有限公司 智能互动积木系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502271B1 (ko) * 2014-02-07 2015-03-16 (주)모션블루 3차원 디지털 보드 게임 서비스 제공 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443672B1 (ko) 2021-08-12 2022-09-15 주식회사 로보그램 블록 코딩 교육 서비스 제공 방법, 장치 및 시스템

Also Published As

Publication number Publication date
US10228914B2 (en) 2019-03-12
US20180095732A1 (en) 2018-04-05
CN107896236A (zh) 2018-04-10
KR20180037631A (ko) 2018-04-13

Similar Documents

Publication Publication Date Title
KR101892356B1 (ko) 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법
US20140168094A1 (en) Tangible alphanumeric interaction on multi-touch digital display
CN109848985A (zh) 一种机器人的图形编程方法、装置及智能终端
US20120077165A1 (en) Interactive learning method with drawing
KR102071270B1 (ko) 컬러 블럭을 이용한 유아용 코딩교육 시스템
JP2018031895A (ja) プログラム作成システム、プログラミング育成方法、及びプログラム作成プログラム
CN209879840U (zh) 用于教导编程技巧的系统和套件
CN110427241B (zh) 一种目标消除方法及装置
KR101892362B1 (ko) 블록 스캐닝 장치 및 방법
KR102137273B1 (ko) Rfid 태그를 이용한 코딩 교육용 스마트 토이 시스템
CN214896671U (zh) 一种基于机器人的智能软件测试平台
CN113380108A (zh) 利用数码积木的教育服务提供装置及方法
KR102251867B1 (ko) 사물인터넷의 스타네트워크를 이용하여 코딩 교육을 제공하는 시스템 및 방법
KR101585647B1 (ko) 단말기 및 이와 연계된 교육용 보드 장치
KR102128306B1 (ko) 아이용 코딩학습시스템 및 방법
KR20170001861A (ko) 소프트웨어 알고리즘 학습장치
KR20200067573A (ko) 학습지 기반 소프트웨어 교육 방법, 장치 및 시스템
KR20170036307A (ko) 소프트웨어 교육 로봇 시스템
US11276318B2 (en) Electronic apparatus, learning support terminal, learning support method, and recording medium
KR20210023476A (ko) 확률 계산 기반 블록 코딩 교육 서비스 방법 및 그 시스템
KR102557227B1 (ko) 거제 관광 체험 게임을 수행하기 위한 거제 관광 체험 게임 장치
KR102408005B1 (ko) 사칙연산 기반의 학습 시스템
KR20150082731A (ko) 연상 단어 퀴즈 제공 방법 및 이 방법을 프로그램화하여 수록한 컴퓨터로 읽을 수 있는 기록매체
Mikkonen Flowcards-a communication tool
US20220230557A1 (en) Recognizing coding education block system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant