KR20230010976A - 코딩 알고리즘 훈련 교구 - Google Patents

코딩 알고리즘 훈련 교구 Download PDF

Info

Publication number
KR20230010976A
KR20230010976A KR1020210091447A KR20210091447A KR20230010976A KR 20230010976 A KR20230010976 A KR 20230010976A KR 1020210091447 A KR1020210091447 A KR 1020210091447A KR 20210091447 A KR20210091447 A KR 20210091447A KR 20230010976 A KR20230010976 A KR 20230010976A
Authority
KR
South Korea
Prior art keywords
module
coding
identification information
block
control
Prior art date
Application number
KR1020210091447A
Other languages
English (en)
Other versions
KR102579179B1 (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 KR1020210091447A priority Critical patent/KR102579179B1/ko
Publication of KR20230010976A publication Critical patent/KR20230010976A/ko
Application granted granted Critical
Publication of KR102579179B1 publication Critical patent/KR102579179B1/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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/325Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements comprising interacting electronic components
    • 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
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/18Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
    • G09B23/183Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
    • G09B23/186Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits for digital electronics; for computers, e.g. microprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 코딩 알고리즘 훈련 교구에 관한 것으로, 더욱 상세하게는 블록 형태로 형성되는 조립모듈을 기존의 블록에 착탈 가능하게 형성되도록 하면서, 제어모듈을 통해 조립모듈에 대한 코딩을 수행할 수 있도록 하여 코딩의 결과를 블록에 결합되는 조립모듈을 통해 바로 확인할 수 있도록 함으로써 아이들에 대한 직관적이고 흥이로운 코딩 교육이 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구에 관한 것이다.

Description

코딩 알고리즘 훈련 교구{An educational tool that trains coding algorithms based on smart blocks}
본 발명은 코딩 알고리즘 훈련 교구에 관한 것으로, 더욱 상세하게는 블록 형태로 형성되는 조립모듈을 기존의 블록에 착탈 가능하게 형성되도록 하면서, 제어모듈을 통해 조립모듈에 대한 코딩을 수행할 수 있도록 하여 코딩의 결과를 블록에 결합되는 조립모듈을 통해 바로 확인할 수 있도록 함으로써 아이들에 대한 직관적이고 흥이로운 코딩 교육이 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구에 관한 것이다.
블록놀이 완구는 장방향, 원통형 등의 다양한 입체형상으로 이루어진 여러 개의 조각들을 서로 끼워 맞춰 연결하거나 배열하는 등의 방법으로 모양, 도형 등을 완성하면서 즐길 수 있는 완구로서, 그 조립에 의해 유아 또는 어린이들에게 각종 교육적 효과를 부여하고 각종 모형을 조립함으로써 지능 및 창의력을 향상시킬 수 있다. 최근에는 이러한 블록 완구에 IoT 등의 기능성을 부여하는 스마트블록으로 진화하고 있으며, 이러한 스마트블록이 배치되는 보드에서도 다양한 스마트 기능성을 가미하는 보드 제품이 개발되고 있다.
그러나, 종래의 스마트블록이나 또는 코딩 교육용 블록 제품들의 경우, 단순하게 특정 기능성을 구현하는 스마트블록을 배열하거나 나열 또는 순서를 배치하는 것에 의해 학습 또는 놀이가 이루어지고, 코딩 교육 역시 특정 스마트블록에 특정 기능의 함수들을 구현하도록 입력한 후 이를 실행시키는 수준 정도에 머물러 있는 실정이다.
아래 특허문헌에 개시되어 있는 '스마트블록'의 경우에도, 기존의 조립식 블록완구와 결합하여 창의적인 놀이와 교육을 제공할 수 있도록 무선통신 기능은 물론, 다양한 입출력이 가능한 기능성을 갖는 스마트블록을 활용하고 있기는 하나, 실제로 위 선행특허에서는 이러한 스마트블록들 간의 연결에 의한 기능 구현 외에는 특별한 개념을 개시하고 있지 않고, 코딩 교육 등에 대해서도 문제인식이나 해결과제 등을 개시하고 있지 않다.
(특허문헌) 등록특허공보 제10-1915939호(2018. 10. 31. 등록) "유아용 스마트블록"
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로,
본 발명은 블록 형태로 형성되는 조립모듈을 기존의 블록에 착탈 가능하게 형성되도록 하면서, 제어모듈을 통해 조립모듈에 대한 코딩을 수행할 수 있도록 하여 코딩의 결과를 블록에 결합되는 조립모듈을 통해 바로 확인할 수 있도록 함으로써 아이들에 대한 직관적이고 흥이로운 코딩 교육이 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 제어모듈의 화면을 통해 표시되는 명령어 엔트리를 순서에 맞추어 드래그앤드롭(drag & drop) 하는 동작만으로 코딩 작업이 완료되도록 함으로써, 아이들도 쉽게 코딩 작업을 체험할 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 명령어 엔트리도 일상 용어로 제어모듈의 작업화면에 표시되도록 하고, 일상 용어의 엔트리를 프로그래밍 언어로 자동 변환하여 컴파일이 이루어지도록 함으로써, 프로그래밍 언어를 모르는 사용자도 쉽게 코딩을 실시할 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 컴파일되는 제어코드에 흠결이 발생하는 경우 이를 작업화면 상에 표시되도록 함으로써 코딩의 흠결을 쉽게 확인할 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 조립모듈로부터 제어모듈로 각 조립모듈에 대한 식별정보가 전송되도록 하고, 제어모듈에서는 식별정보를 선택하여 코딩이 이루어지도록 함으로써, 복수의 조립모듈들에 대한 정확하고 쉬운 코딩이 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 조립모듈로부터 전송된 식별정보를 작업화면 상에서 선택하거나 드래그앤드롭 하는 동작만으로 식별정보의 지정이 가능하도록 하여 다수의 조립모듈들에 대해서도 마우스 또는 화면 터치만으로 쉽게 식별정보를 선택하고 코딩이 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 조립모듈에 대한 전력의 공급과 함께 자동으로 식별정보를 전송하도록 하여 별도의 조작이나 작업 없이도 식별정보의 선택 및 코딩이 쉽게 이루어질 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 블록에 대한 조립모듈의 결합에 따라 가압스위치가 눌리는 경우 배터리로부터 조립모듈에 전력이 공급되도록 하고, 조립모듈을 블록으로부터 분리시키는 경우 가압스위치가 원래 위치로 복귀하면서 배터리로부터의 전기적 연결이 해제되도록 하여, 조립모듈의 결합시에만 전력의 공급이 이루어지도록 함으로써 조립모듈의 대기전력 소모를 최소화할 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 조립모듈간 페어링 연결을 통해 다양한 조립모듈간 조합이 가능하고, 또한 조립모듈의 수행 기능을 학습 또는 놀이의 미션에 맞게 설정/수정/제어할 수 있으며, 기능들에 대한 시퀀스 제어를 통해 한정된 조립모듈로도 다양한 학습 또는 놀이를 구현할 수 있도록 하는 코딩 알고리즘 훈련 교구를 제공하는데 목적이 있다.
본 발명은 앞서 본 목적을 달성하기 위해서 다음과 같은 구성을 가진 실시예에 의해서 구현된다.
본 발명의 일 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구는 놀이용 블록에 착탈 가능하도록 블록의 규격에 맞추어 형성되는 조립모듈과; 코딩을 통해 상기 조립모듈의 작동을 설정하고, 수정·변경하는 제어모듈;을 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 제어모듈은 상기 조립모듈에 대한 제어명령을 코딩하는 작업화면을 제공하는 인터페이스부와; 상기 인터페이스부의 작업화면에 코딩된 내용을 컴파일하고, 컴파일된 제어 코드를 특정 조립모듈에 전송하여 제어코드에 따른 작동이 이루어지도록 하는 코딩처리부;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 인터페이스부는 상기 작업화면에 선택 가능한 복수의 명령어 엔트리를 표시하는 제1영역과, 상기 제1영역에서 선택된 엔트리가 드래그앤드롭(drag & drop)되는 제2영역을 포함하고, 상기 코딩처리부는 상기 제2영역에 배치된 복수의 엔트리의 배열 순서에 따라 엔트리를 컴파일하는 컴파일처리모듈과, 상기 컴파일처리모듈에 의해 컴파일된 제어코드를 조립모듈로 전송하는 제어코드전송모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 인터페이스부는 상기 제1영역에 일상 용어로 엔트리를 표시하도록 하고, 상기 코딩처리부는 상기 일상 용어를 프로그래밍 언어로 변환하여 상기 컴파일처리모듈에 의해 컴파일되도록 하는 변환처리모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 코딩처리부는 상기 컴파일처리모듈에 의해 컴파일된 제어 코드의 흠결을 분석하는 흠결분석모듈과, 상기 흠결분석모듈에 의한 분석결과 흠결이 존재하면 상기 작업화면에 흠결을 표시하는 흠결표시모듈을 포함하고, 상기 제어코드전송모듈은 상기 흠결분석모듈에 의해 흠결이 미존재하는 경우 컴파일된 제어코드를 조립모듈에 전송하도록 하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 조립모듈은 놀이용 블록에 착탈 가능하도록 형성되는 케이스와, 상기 제어모듈로부터 제어 코드를 수신하여 제어 코드에 따른 동작이 수행되도록 하는 실행처리부와, 조립모듈에 전력을 공급하는 배터리를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 조립모듈은 각 조립모듈에 대한 식별 정보 저장하며, 저장된 식별정보를 상기 제어모듈로 전송하는 아이디모듈;을 포함하고, 상기 코딩처리부는 상기 아이디모듈에 의해 전송되는 식별 정보의 선택에 따라 코딩 대상을 특정하는 코딩대상특정모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 코딩대상특정모듈은 상기 아이디모듈에 의해 전송된 식별 정보를 작업화면 상에 표시하는 식별정보표시모듈과, 상기 식별정보표시모듈에 의해 표시된 식별정보를 엔트리의 객체 항목에 선택되도록 하거나 객체 항목에 드래그앤드롭(drag & drop)되도록 하는 경우 해당 식별 정보가 코딩 대상으로 선택되도록 하는 식별정보선택모듈과, 선택된 식별정보를 엔트리에 대한 코딩 대상으로 지정하는 식별정보지정모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 조립모듈은 블록에 대한 케이스의 결합에 따라 배터리로부터 조립모듈로 전력의 공급이 이루어지도록 하는 스위칭부를 포함하고, 상기 아이디모듈은 상기 스위칭부에 의한 배터리로부터의 전력 공급에 따라 자동으로 작동되어 상기 제어모듈로 식별정보를 전송하도록 하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 스위칭부는 상기 케이스가 블록에 장착되면 물리적으로 가압되어 배터리와의 전기적 연결이 이루어지도록 하고, 상기 케이스가 블록으로부터 이탈하면 원래 상태로 복귀하여 전기적 연결이 해제되도록 하는 가압스위치;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 조립모듈은 다양한 입력 신호를 발생시켜 전송하는 입력블록과, 다양한 출력신호를 표출하는 출력블록과, 다양한 논리 연산에 필요한 제어신호를 발생시켜 전송하는 논리블록을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 조립모듈은 조립모듈 사이에 페어링을 통한 정보의 송수신이 이루어지도록 하는 페어링모듈과, 특정 기능에 대한 설정이나 수정이 이루어지도록 하는 기능모듈과, 복수의 조립모듈 각각의 작동에 대한 조건, 작동 순서, 반복 여부 관련 시퀀스를 설정하는 시퀀스제어모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 코딩 알고리즘 훈련 교구에 있어서, 상기 제어모듈은 페어링 연결에 관한 제어신호를 조립모듈로 전송하는 페어링제어모듈과, 특정 조립모듈의 기능모듈에 대한 특정 기능을 설정 또는 수정하도록 하는 기능제어모듈을 포함하는 것을 특징으로 한다.
본 발명은 앞서 본 실시예와 하기에 설명할 구성과 결합, 사용관계에 의해 다음과 같은 효과를 얻을 수 있다.
본 발명은 블록 형태로 형성되는 조립모듈을 기존의 블록에 착탈 가능하게 형성되도록 하면서, 제어모듈을 통해 조립모듈에 대한 코딩을 수행할 수 있도록 하여 코딩의 결과를 블록에 결합되는 조립모듈을 통해 바로 확인할 수 있도록 함으로써 아이들에 대한 직관적이고 흥이로운 코딩 교육이 이루어질 수 있도록 하는 효과가 있다.
본 발명은 제어모듈의 화면을 통해 표시되는 명령어 엔트리를 순서에 맞추어 드래그앤드롭(drag & drop) 하는 동작만으로 코딩 작업이 완료되도록 함으로써, 아이들도 쉽게 코딩 작업을 체험할 수 있도록 하는 효과가 있다.
본 발명은 명령어 엔트리도 일상 용어로 제어모듈의 작업화면에 표시되도록 하고, 일상 용어의 엔트리를 프로그래밍 언어로 자동 변환하여 컴파일이 이루어지도록 함으로써, 프로그래밍 언어를 모르는 사용자도 쉽게 코딩을 실시할 수 있도록 하는 효과가 있다.
본 발명은 컴파일되는 제어코드에 흠결이 발생하는 경우 이를 작업화면 상에 표시되도록 함으로써 코딩의 흠결을 쉽게 확인할 수 있도록 하는 효과가 있다.
본 발명은 조립모듈로부터 제어모듈로 각 조립모듈에 대한 식별정보가 전송되도록 하고, 제어모듈에서는 식별정보를 선택하여 코딩이 이루어지도록 함으로써, 복수의 조립모듈들에 대한 정확하고 쉬운 코딩이 이루어질 수 있도록 하는 효과가 있다.
본 발명은 조립모듈로부터 전송된 식별정보를 작업화면 상에서 선택하거나 드래그앤드롭 하는 동작만으로 식별정보의 지정이 가능하도록 하여 다수의 조립모듈들에 대해서도 마우스 또는 화면 터치만으로 쉽게 식별정보를 선택하고 코딩이 이루어질 수 있도록 하는 효과가 있다.
본 발명은 조립모듈에 대한 전력의 공급과 함께 자동으로 식별정보를 전송하도록 하여 별도의 조작이나 작업 없이도 식별정보의 선택 및 코딩이 쉽게 이루어질 수 있도록 하는 효과가 있다.
본 발명은 블록에 대한 조립모듈의 결합에 따라 가압스위치가 눌리는 경우 배터리로부터 조립모듈에 전력이 공급되도록 하고, 조립모듈을 블록으로부터 분리시키는 경우 가압스위치가 원래 위치로 복귀하면서 배터리로부터의 전기적 연결이 해제되도록 하여, 조립모듈의 결합시에만 전력의 공급이 이루어지도록 함으로써 조립모듈의 대기전력 소모를 최소화할 수 있도록 하는 효과가 있다.
본 발명은 조립모듈간 페어링 연결을 통해 다양한 조립모듈간 조합이 가능하고, 또한 조립모듈의 수행 기능을 학습 또는 놀이의 미션에 맞게 설정/수정/제어할 수 있으며, 기능들에 대한 시퀀스 제어를 통해 한정된 조립모듈로도 다양한 학습 또는 놀이를 구현할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 코딩 알고리즘 훈련 교구를 나타내는 개략도
도 2는 도 1의 제어모듈의 구성도
도 3은 제어모듈에 의해 디스플레이에 표시되는 작업화면을 나타내는 개략도
도 4는 도 2의 코딩처리부의 구성을 나타내는 블럭도
도 5는 인터페이스부를 통해 표시되는 조립 모듈의 식별 정보를 나타내는 개략도
도 6는 도 1의 조립모듈의 구성도
도 7은 조립모듈의 스위칭부의 개략도
도 8은 본 발명의 다른 실시예에 따른 코딩 알고리즘 훈련교구의 조립모듈의 종류를 도시한 참고도
도 9는 도 8의 조립모듈의 구성을 나타내는 블럭도
도 10은 도 8의 제어모듈의 구성을 나타내는 블럭도
이하에서는 본 발명에 따른 코딩 알고리즘 훈련 교구의 바람직한 실시예들을 첨부된 도면을 참조하여 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하도록 한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하고, 또한 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명의 일 실시예에 따른 코딩 알고리즘 훈련 교구를 도 1 내지 도 7를 참조하여 설명하면, 상기 코딩 알고리즘 훈련 교구는 놀이용 블록(20)에 착탈 가능하도록 블록(20)의 규격에 맞춰 형성된 조립모듈(200)과; 코딩을 통해 상기 조립모듈(200)의 작동을 설정하고, 수정·변경하는 제어모듈(100);을 포함한다.
본 발명에 따른 코딩 알고리즘 훈련 교구는 조립모듈(200)을 기존의 놀이용 블록(20)에 착탈시켜 코딩 알고리즘을 체험할 수 있도록 하는 것으로, 제어모듈(100)을 통해 코딩 알고리즘을 구현하여 구현된 알고리즘에 따라 조립모듈(200)이 동작하도록 함으로써, 코딩에 따른 결과를 직관적으로 확인할 수 있도록 하여 효과적인 코딩에 대한 교육이 가능하도록 한다.
상기 조립모듈(200)은 놀이용 블록(20)에 착탈 가능하게 형성되는 구성으로, 일 예로, 레고 등과 같은 놀이용 블록(20)의 규격에 맞추어 형성될 수 있다. 다시 말해, 조립모듈(200)은 블록(20)과 동일한 형상 및 동일한 크기로 형성될 수 있으며, 그 자체가 블록으로 기능할 수 있다. 그 결과, 조립모듈(200)은 블록(20)에 섞여서 함께 조립되거나 블록 조립체로부터 분해될 수 있다. 상기 조립모듈(200)은 제어모듈(100)의 제어 대상이 될 수 있으며, 블록과 동일한 규격으로 조립모듈(200)을 형성한 것은 사용자(주로, 저연령층)가 각종 사물을 쉽게 형성하고, 형성한 사물이 코딩에 의해 어떻게 동작하는지 직관적으로 확인할 수 있는 환경을 제공하기 위함이다. 예를 들어, 사용자가 블록을 이용해서 자동차를 만들 수 있고, 이때, 블록에 조립모듈(200)이 포함된 상태이며, 사용자는 조립모듈(200)을 통해 자동차가 움직이는 알고리즘을 직관적으로 이해하고 학습할 수 있다. 상기 조립모듈(200)에 관한 상세한 설명은 후술한다.
상기 제어모듈(100)은 조립모듈(200)을 제어하는 구성으로, 이미 기능이 정해져 있는 일반 리모콘과 달리 사용자가 직접 조립모듈(200)을 제어할 수 있는 프로그램을 코딩할 수 있는 환경을 제공할 수 있다. 코딩에 흠결이 있으면, 조립모듈(200)은 정상적으로 동작하지 않을 수 있다. 예를 들어, 주행 명령을 내렸음에도 불구하고, 블록 자동차는 정지된 상태를 유지할 수 있다. 반면, 코딩에 흠결이 없다면, 조립모듈(200)은 정상적으로 동작하며, 블록으로 만든 자동차는 전진할 수 있다. 직관적으로 확인할 수 있는 조립모듈(200)을 통해, 사용자는 코딩의 효과, 코딩의 순서, 코딩 방법을 자연스럽게 학습할 수 있다. 상기 제어모듈(100)은 조립모듈(200)의 제어 명령을 코딩하는 작업화면(119)을 제공하는 인터페이스부(110), 저장부(130), 코딩처리부(150), 작업화면(119)을 통해 생성된 제어 코드를 조립모듈(200)에 전송하는 제1통신부(170)를 포함할 수 있다. 상기 제어모듈(100)의 일부는 퍼스널 컴퓨터에 의해 구현될 수 있으며, 그 밖에 스마트폰, 태블릿 등의 다양한 단말기에 의해 구현될 수 있고, 일 예로 인터페이스부(110), 저장부(130), 코딩처리부(150) 중 적어도 하나는 퍼스널 컴퓨터에 탑재될 수 있다. 물론, 인터페이스부(110), 저장부(130), 코딩처리부(150), 제1통신부(170)가 모두 퍼스널 컴퓨터와 별개로 마련되어도 무방하다.
상기 인터페이스부(110)는 대상물의 제어 명령을 코딩하는 작업화면(119)을 제공하는 구성으로, 이때의 대상물은 조립모듈(200)을 포함하거나, 조립모듈(200)과 다른 물체를 포함할 수 있다. 작업화면(119)에는 명령어 엔트리 등과 같은 각종 메뉴가 표시될 수 있으며, 해당 메뉴는 저장부(130)에 저장된 상태일 수 있다. 상기 인터페이스부(110)는 저장부(130)에 저장된 메뉴 정보, 작업화면(119)의 프레임 정보를 추출해서 디스플레이에 표시할 수 있으며, 작업화면(119)을 제공하는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode) 등의 각종 디스플레이(111)를 포함할 수 있다. 또한, 인터페이스부(110)는 작업화면(119) 상에서 명령어를 입력할 수 있는 키보드, 마우스 등의 각종 입력 수단(113)을 포함할 수 있다.
상기 인터페이스부(110)는 도 3에 도시된 바와 같이 디스플레이에 표시되는 작업화면(119)의 제1영역 a에 선택 가능한 복수의 명령어 엔트리 e를 표시할 수 있다. 명령어 엔트리 e는 사용자 친화적으로 형성될 수 있다.
상기 엔트리(entry)는 프로그램 중의 하나의 문장(기술항)을 나타낼 수 있으며, 프로그램의 문장은 원칙적으로 해당 프로그래밍 언어에서 규정한 각종 문법, 문구 등을 이용해서 작성되어야 한다. 하지만, 프로그래밍 언어를 전문적을 배우지
않은 일반 사용자, 특히 저연령층의 경우에는 프로그래밍 언어에서만 사용하는 문법, 문구를 익히는 것이 쉽지 않다. 본 명세서에 등장하는 명령어 엔트리 e는 프로그래밍 언어에서 규정한 문법이나 문구를 그대로 포함할 수 있다. 또는, 사용자의 편의를 위해 본 명세서에 등장하는 명령어 엔트리 e는 복잡한 문법이나 규정을 일상 생활의 용어 등으로 변환해 놓을 것일 수 있다.
상기 인터페이스부(110)는 사용자가 자신이 원하는 엔트리 e를 쉽게 찾을 수 있도록 화면의 제1영역 a에 엔트리 e를 표시할 수 있다. 도면에서 작업화면(119)의 가운데에 그어진 세로 점선의 좌측 영역이 제1영역 a에 해당될 수 있다. 상기 인터페이스부(110)는 제1영역 a에서 선택된 엔트리 e가 드래그앤드롭(drag & drop)되는 제2영역 b를 작업화면(119)에 설정할 수 있다. 도면에서 작업화면(119)의 가운데 세로 점선의 우측 영역이 제2영역 b에 해당될 수 있다.
상기 코딩처리부(150)는 작업화면(119)에 코딩된 내용(명령어, 문구, 문장, 텍스트 등)을 컴파일하는 구성으로, 조립모듈(200)이 인식할 수 있는 제어 코드로 변환하여 조립모듈(200)에 전송하도록 함으로써, 코딩에 따른 조립모듈(200)의 작동이 이루어지도록 한다. 상기 코딩처리부(150)는 제2영역 b에 배치된 복수의 엔트리 e의 배열 순서에 따라, 제2영역 b에 배치된 복수의 엔트리 e를 컴파일할 수 있으며, 엔트리 e가 프로그래밍 언어와 다른 일반 언어로 표시된 경우, 해당 일반 언어를 프로그래밍 언어로 변환하는 과정을 선행할 수 있다. 또한, 상기 코딩처리부(150)는 엔트리 e가 컴파일된 제어 코드의 흠결을 분석할 수 있으며, 흠결이 존재하는 경우 이를 표시하여 코딩의 오류를 즉각적으로 파악하도록 할 수 있다. 그리고 상기 코딩처리부(150)는 흠결이 존재하지 않는 경우에만 제어코드를 특정된 조립모듈(200)로 전송하여 제어코드에 따른 조립모듈(200)의 작동이 이루어질 수 있도록 한다. 또한, 상기 코딩처리부(150)는 컴파일된 제어 코드의 제어 대상을 특정할 수 있으며, 조립모듈(200)로부터 전송되는 식별정보를 작업화면(119)에 표시하고, 식별정보의 선택에 따라 제어할 대상, 즉 조립모듈(200)을 특정하여 특정된 조립모듈(200)에 대한 코딩이 이루어질 수 있도록 한다. 이를 위해, 상기 코딩처리부(150)는 변환처리모듈(151), 컴파일처리모듈(152), 흠결분석모듈(153), 흠결표시모듈(154), 제어코드전송모듈(155), 코딩대상특정모듈(156)을 포함할 수 있다.
상기 변환처리모듈(151)은 일반 언어로 표시된 엔트리 e를 프로그래밍 언어로 변환하는 구성으로, 저연령층 등 프로그래밍 언어를 알지 못하는 사용자들을 위해 엔트리 e가 일반적인 일상 용어로 표시되는 경우 이를 프로그래밍 언어로 변환하여 컴파일이 이루어질 수 있도록 한다.
상기 컴파일처리모듈(152)은 엔트리 e를 컴파일하여 제어 코드를 생성하는 구성으로, 상기 제2영역 b에 배치된 복수의 엔트리 e의 배열 순서에 따라 컴파일이 이루어지도록 한다. 예를 들어, 엔트리 e는 대분류와 소분류를 포함할 수 있으며, 대분류는 실행 조건, 실행 내용 등을 포함할 수 있다. 실행 조건에는 '~버튼을 누르면', '~버튼을 세번 누르면'과 같은 소분류가 트리 형식 등으로 부가될 수 있고, 실행 내용에는 '~모터를 10바퀴 돌려라', '~모터를 30도만큼 돌려라'와 같은 소분류가 부가될 수 있다. 따라서, 상기 컴파일처리모듈(152)은 이러한 엔트리 e들을 컴파일하여 제어코드를 생성하고, 생성된 제어코드가 각 조립모듈(200)로 전송되도록 하여 엔트리 e에 따른 동작이 조립모듈(200)에서 실행될 수 있도록 한다.
상기 흠결분석모듈(153)은 상기 컴파일처리모듈(152)을 통해 컴파일된 제어코드의 흠결을 분석하는 구성으로, 실행할 수 없는 제어코드를 표시하여 코딩의 오류를 알릴 수 있도록 한다.
상기 흠결표시모듈(154)은 흠결분석모듈(153)에 의해 제어코드의 흠결이 있는 것으로 분석되는 경우 이를 작업화면(119) 상에 표시하는 구성으로, 도 3에 도시된 바와 같이 'ERROR'의 형태로 흠결 i를 표시할 수 있다.
상기 제어코드전송모듈(155)은 컴파일된 제어코드를 조립모듈(200)로 전송하는 구성으로, 전송된 제어코드에 따라 조립모듈(200)의 작동이 이루어지도록 한다. 특히, 상기 제어코드전송모듈(155)은 상기 흠결분석모듈(153)에 의해 흠결이 부존재하는 경우에만 제어코드를 전송하여 조립모듈(200)의 원활한 작동이 이루어지도록 할 수 있으며, 상기 코딩대상특정모듈(156)에 의해 특정된 조립모듈(200)에 대해 제어코드를 전송하여 복수의 조립모듈(200)에 대해서도 정확한 코딩 및 작동이 이루어지도록 할 수 있다.
상기 코딩대상특정모듈(156)은 코딩을 실시하고자 하는 조립모듈(200)을 특정하는 구성으로, 복수의 조립모듈(200)을 작동시키도록 하는 경우 조립모듈(200)을 각각 특정하여 코딩이 이루어지도록 함으로써 각 조립모듈(200)에 대한 정확한 코딩 및 작동이 가능하도록 한다. 이를 위해, 상기 코딩대상특정모듈(156)은 각 조립모듈(200)로부터 전송되는 식별정보를 수신하여 작업화면(119)에 표시하는 식별정보표시모듈(156a)과, 작업화면(119) 상의 식별정보를 선택하도록 하는 식별정보선택모듈(156b)과, 식별정보의 선택에 따라 제어 대상이 될 조립모듈(200)이 지정되도록 하는 식별정보지정모듈(156c)을 포함할 수 있다.
일 예로, 버튼이 설치된 조립모듈(200)이 3개인 경우, 어떤 조
립 모듈(200)의 버튼을 지시하는지 기입되어야 하는지에 대한 선택의 문제가 발생
될 수 있으며, 선택의 문제를 해결하기 위해 각 조립모듈(200)의 식별 정보가 필요하게 된다. 하지만, 복수의 조립모듈(200)의 사진과 식별 정보가 함께 표기된 종이 메뉴얼이 제공되는 경우, 사용자는 복수의 조립모듈(200) 사진과 식별 정보가 기재된 메뉴얼에서 자신이 원하는 조립모듈(200) 사진을 찾고, 해당 조립모듈(200) 사진에 매칭되어 기재된 식별 정보를 외워서 엔트리의 객체 항
목칸에 기입해야 하므로, 작업이 매우 불편하고 정확한 식별대상의 특정이 어렵게 된다. 만약, 사용자가 실수로 준비 상태에 있지 않은, 다시 말해 다른 블
록에 조립되지 않은 조립모듈(200)의 식별 정보를 입력하면 해당 엔트리는 정상적으로 동작할 수 없게 된다.
예를 들어, 도 5에 도시된 바와 같이 사용자는 제1 모터가 설치된 조립모듈(200) ① 및 파란색 버튼이 설치된 조립모듈(200) ②를 블록과 조립할 수 있다. 이후, 사용자는 조립모듈(200) ②의 파란색 버튼이 눌리면 조립모듈(200) ①에 설치된 제1 모터(모터축 포함)가 회전하는 알고리즘을 구현하는 코딩 작업을 수행할 수 있다. 사용자는 작업화면(119)의 제1영역 a에 표시된 엔트리 중에서 실행 조건으로 '~버튼을 누르면'을 찾아서 제2영역 b에 드래그앤드롭할 수 있고, 엔트리 중에서 실행 내용으로 '~모터를 10바퀴 돌려라'를 찾아서 제2영역 b에 배치된 '~버튼을 누르면'의 아래에 배치할 수 있다.
이때, '~버튼을 누르면'에서 '~'로 나타낸 객체 항목에 조립모듈(200)의 식별 정보가 기입되어야 한다. 마찬가지로, '~모터를 10바퀴 돌려라'에서 '~'로 나타낸 객체 항목에도 역시 조립모듈(200)의 식별 정보가 기입되어야 한다. 만약 식별정보가 종이 매뉴얼로 제공되는 경우 조립모듈(200)의 식별 정보는 사용자가 메
뉴얼을 수동으로 탐색해서 파악해야 한다. 또한, 모터가 설치된 복수의 조립모듈
(200) 중 어떤 것이 자신이 조립한 조립모듈(200)인지 구분이 어려울 수도 있다.
도 5를 기준으로, '~모터를 10바퀴 돌려라'(도면에서는 'Play'로 표기)에서 '~'로 나타낸 객체 항목에는 제1실행부(210)에 해당하는 제1 모터가 설치된 조립모듈(200) ①의 식별 정보가 입력되어야 한다. 만약, 모터가 설치되어 있는 다른 조립모듈(200)의 식별 정보가 해당 객체 항목에 기입된다면, 도 5에서 조립모듈(200) ①에 설치된 제1 모터 및 바람개비는 회전할 수 없다.
도 5를 기준으로, '~버튼을 누르면'(도면에서는 'Put'으로 표기)에서 '~'로 나타낸 객체 항목에는 제2실행부(230)에 해당하는 파란색 버튼이 설치된 조립모듈(200) ②의 식별 정보가 입력되어야 한다. 만약, 버튼이 설치되어 있는 다른 조립모듈(200)의 식별 정보가 해당 객체 항목에 기입된다면, 도 5에서 조립모듈(200) ②의 버튼을 아무리 눌러도 제1 모터는 회전할 수 없다. 이 경우, 사용자는 다시 조립모듈(200) ① 또는 조립모듈(200) ②의 식별 정보는 메뉴얼에서 다시 찾아야하는 번거로움을 감수해야 한다. 본 발명의 코딩 알고리즘 훈련 교구는 코딩 학습과 알고리즘 학습을 도모하기 위한 것이지, 메뉴얼 탐색 능력을 키우기 위한 것이 아니다. 또한, 메뉴얼 탐색 작업은 심각한 피로도를 유발할 수 있다.
따라서, 본 발명의 취지에 부합하고 사용자의 피로도 증가를 억제시키기 위해 상기 코딩대상특정모듈(156)은 제어 코드를 수신받을 수 있는 준비 상태가 된 대상물의 식별정보를 수신하여 식별정보표시모듈(156a)을 통해 작업화면(119) 상에 표시되도록 한다.
일 예로, 블록에 조립된 조립모듈(200)은 스위칭부(280)의 온(on)에 의해 배터리(290)의 전력이 조립모듈(200)에 공급되도록 할 수 있으며, 전력이 공급되는 조립모듈(200)은 식별정보를 자동으로 제어모듈(100)에 전송하여 상기 식별정보표시모듈(156a)에 의해 제어모듈(100)의 작업화면(119) 상에 표시되도록 할 수 있다. 한편, 작업화면(119)에 고유 번호와 같이 순수 식별 정보만 표시되면, 사용자는 해당 식별 정보가 어떤 조립모듈(200)을 나타내는지 파악하기 어려울 수 있으므로, 작업화면(119)에 표시된 식별 정보가 어떤 조립모듈(200)을 나타내는지 쉽게 파악될 수 있도록, 식별 정보(310)는 조립모듈(200)의 종류를 나타내는 분류 정보(311) 'motor', 'switch' 및 조립모듈(200) 고유의 고유 번호(313) '①', '②'가 함께 표시되도록 할 수 있다. 이때, 작업화면(119)에 코딩되는 엔트리의 객체 항목이 선택된 상태에서 식별 정보가 선택되거나, 식별 정보가 객체 항목에 드래그앤드롭(drag & drop)되면, 상기 식별정보선택모듈(156b)에 의해 객체 항목에 식별 정보가 기입되도록 할 수 있으며, 기입된 식별정보는 상기 식별정보지정모듈(156c)에 의해 해당 엔트리들에 대한 제어 대상의 식별정보로 등록되어 저장되도록 할 수 있다. 이때, 작업화면(119)에 표시된 식별 정보는 블록 조립체에 사용된 것임을 증명하게 되며, 해당 식별 정보가 기입된 엔트리는 해당 조립모듈(200)에서 작동하게 되는 것을 보장할 수 있고, 사용자는 블록 조립체의 동작을 검토해서, 자신이 원하는 방향에 맞춰 코딩 내용을 수정할 수 있게 된다.
상기 저장부(130)는 조립모듈(200)을 제어하기 위한 코딩과 관련된 다양한 정보가 저장되며, 상기 제1통신부(170)는 조립모듈(200)과 통신할 수 있는 다양한 유무선 통신수단이 적용되어 각 조립모듈(200)에 대한 코딩 및 이에 따른 제어코드가 조립모듈(200)로 전송되도록 할 수 있고, 각 조립모듈(200)로부터 식별정보의 수신이 이루어지도록 할 수 있다.
상기 조립모듈(200)은 놀이용 블록(20)에 착탈 가능하게 형성되는 구성으로, 일 예로, 레고 등과 같은 놀이용 블록(20)의 규격에 맞추어 형성될 수 있다. 상기 조립모듈(200)은 제2통신부(270), 실행처리부(250), 실행부(210, 230), 배터리(290), 스위칭부(280), 케이스(209)가 마련될 수 있다.
상기 제2통신부(270)는 제어모듈(100), 구체적으로 제1통신부(170)와
통신하는 구성으로, 블록에 자유롭게 조립/분해되기 위해, 조립모듈(200)은 제어모듈(100)로부터 독립적으로 형성될 수 있다. 이로 인해, 제2통신부(270)는 와이파이(WiFi), 블루투스 등의 무선 통신망을 이용해서 제1통신부(170)와 통신하는 무선 모듈을 포함할 수 있다.
상기 실행처리부(250)는 제2통신부(270)를 통해 수신된 제어 코드를 분
석하고 실행부를 제어하는 구성으로, 실행부에서 획득된 각종 센싱값을 제어모듈(100)에 전달하도록 할 수도 있다.
상기 실행부(210, 230)는 설정 동작을 수행하는 구성으로, 설정 동작은 제어코드에 의해 구동되는 동작이거나, 주변 환경을 측정하는 센싱 동작일 수 있다. 상기 실행부(210, 230)는 제1실행부(210)와 제2실행부(230)를 포함할 수 있다.
상기 제1실행부(210)는 제어 코드에 의해 설정 동작을 수행할 수 있으며, 일 예로 제1실행부(210)가 모터인 경우, 모터의 설정 동작은 회전일 수 있다. 또한, 제1실행부(210)가 표시 수단인 경우, 표시 수단의 설정 동작은 제어코드에 포함된 이미지 정보를 표시하는 것일 수 있으며, 제1실행부(210)가 스피커인 경우, 표시 수단의 설정 동작은 소리의 출력일 수 있다.
상기 제2실행부(230)는 온도, 습도, 조도, 버튼 눌림 등의 환경 정보를 센싱하며, 해당 센싱 동작이 설정 동작에 해당될 수 있다. 상기 제2실행부(230)를 통해 센싱된 각종 정보는 제2통신부(270)를 통해 제어모듈(100)에 전송될 수 있다.
상기 배터리(290)는 제2통신부(270)와 실행부(210, 230)에 구동 전력을
공급할 수 있으며, 블록과 조립/분해가 가능하도록 조립모듈(200)은 외부 전원에 대해 독립적으로 형성될 수 있다. 따라서, 실행부의 동작에 필요한 구동 전력을 자체적으로 공급하기 위해 배터리(290)가 이용될 수 있다. 한정된 배터리(290)의 충전 전력을 장시간동안 이용하기 위해 각종 전력 절약 방안이 마련되는 것이 좋다.
상기 스위칭부(280)는 제2통신부(270) 및 실행부에 대한 배터리(290)의 전기적 연결을 스위칭하는 구성으로, 외력이 인가되면 형상이 변형되고, 외력이 해제되면 원래의 형상으로 복원되는 가압 스위치가 적용될 수 있다. 상기 스위칭부(280)는 블록에 대면되는 케이스(209)의 일면에 설치될 수 있으며, 스위칭부(280)가 원하지 않게 눌려지는 현상을 최소화하기 위해, 스위칭부(280)는 홈부(209d)에 형성될 수 있다. 일 예로, 스위칭부(280)는 블록의 돌기가 홈부(209d)에 끼워지면, 블록의 돌기에 의해 눌려질 수 있다. 블록의 돌기가 홈부(209d)로부터 이탈되면, 가압 스위치는 내부에 설치된 탄성 수단의 탄성력에 의해 눌리기 전의 원래 상태로 원복될 수 있다. 상기 스위칭부(280)는 케이스(209)가 블록(20)에 장착되면 물리적으로 가압되면서 제2통신부(270) 및 실행부에 대해 배터리(290)를 전기적으로 연결시킬 수 있다(전기적 연결의 수행). 배터리(290)에 전기적으로 연결된 제2통신부(270) 또는 실행부는 배터리(290)로부터 구동 전력을 제공받게 되며, 제어모듈(100)로부터 제어 코드를 받아서 동작할 수 있는 준비 상태가 될 수 있다. 준비 상태에서 실행부의 동작을 명령하는 제어 코드가 입수되면, 본격적으로 실행부가 본연의 동작(모터의 경우, 회전)을 수행할 수 있다. 또한, 상기 스위칭부(280)는 케이스(209)가 블록으로부터 이탈되면 원래 상태로 복귀하면서 제2통신부(270) 및 실행부에 대한 배터리(290)의 전기적 연결을 해제시킬 수 있다. 이로 인해, 배터리(290)는 실행부 또는 제2통신부(270)에 전기적으로 단절된 상태가 되고, 평소 실행부, 제2통신부(270)에서 소모되는 대기 전력을 원천적으로 억제할 수 있다. 한편, 코딩의 편의를 위해 상기 제어모듈(100)은 스위칭부(280)에 의해 배터리(290)에 전기적으로 연결되고 구동 전력을 공급받으면, 조립모듈(200) 자체에 부여된 식별 정보를 제어모듈(100)에 자동으로 전송하도록 할 수 있다.
상기 케이스(209)는 조립모듈(200)의 외형을 형성하는 구성으로, 제2통신부(270), 실행처리부(250), 실행부(210,230), 배터리(290), 스위칭부(280)가 함께 형성될 수 있으며, 놀이용 블록에 착탈 가능하도록 블록의 규격에 맞춰 형성될 수 있다. 일 예로, 케이스(209)의 일면(209b)에는 블록의 돌기가 억지끼워맞춤되게 삽입되는 홈 형상의 홈부(209d)가 형성될 수 있다. 케이스(209)의 타면(209a)에는 블록에 형성된 홈에 억지끼워 맞춤되게 삽입되는 돌기 형상의 돌출부(209c)가 형성될 수 있다.
본 발명의 다른 실시예에 따른 코딩 알고리즘 훈련 교구를 도 8 내지 도 10을 참조하여 설명하면, 상기 코딩 알고리즘 훈련 교구는 일 실시예와 같이 제어모듈(100), 조립모듈(200)을 포함하며, 상기 조립모듈(200)은 입력블록(21), 출력블록(22), 논리블록(23)으로 형성되고, 아이디모듈(201), 페어링모듈(202), 기능모듈(203)을 추가적으로 포함하도록 할 수 있으며, 상기 제어모듈(100)은 페어링제어모듈(100), 기능제어모듈(100), 시퀀스제어모듈(100)을 추가적으로 포함하도록 할 수 있다.
상기 입력블록(21)은, 조립모듈(200) 자체가 다양한 입력 신호를 발생시켜 다른 조립모듈(200) 및 제어모듈(100)과 연동할 수 있도록 하는 구성으로, 대표적인 예로, 특정 시작 신호 내지 정지 신호를 발생시키는 스위치블록이나 특정 세기에 대한 조절 신호를 발생시키는 다이얼블록 등이 있을 수 있고, 그 외에도 온/습도나 조도 등의 데이터를 측정하여 발생시키는 온/습도블록이나 조도블록 또는 동영상 등의 데이터를 촬영하여 전송하는 카메라블록 등도 상기 입력블록(21)에 포함될 수 있다.
상기 출력블록(22)은, 조립모듈(200) 자체가 다양한 출력 신호를 발생시켜 다른 조립모듈(200) 내지 제어모듈(100)과 연동할 수 있도록 하는 구성으로, 대표적인 예로, 특정 소리 신호를 발생시키는 스피커블록, 특정 글자나 숫자 등을 표시할 수 있는 LED블록 등이 있을 수 있고, 그 외에도 회전 구동력 등을 발생시키는 모터블록 등도 상기 출력블록(22)에 포함될 수 있다.
상기 논리블록(23)은, 조립모듈(200) 자체가 다양한 논리적 연산(알고리즘 구현 내지 코딩 구현을 위한 연산 등을 포함)에 필요한 제어신호 등을 발생시켜 전송하는 구성으로, 대표적인 예로, 수학연산에 필요한 +,-,×,÷,= 등의 연산기호 신호를 구현할 수 있는 연산기호블록, 만약(if), 참/거짓인 경우 등의 신호를 구현할 수 있는 케이스(case)블록 등이 포함될 수 있으며, 그 외에도 다양한 수학적, 논리적 연산을 구현하는데 필요한 신호를 생성,전송할 수 있는 다양한 블록 등의 포함될 수 있다.
한편, 상기 조립모듈(200)은 본 발명에서의 다양한 학습 또는 놀이용 교구로서의 활용 폭을 넓힐 수 있도록 다양한 기능성을 갖도록 형성될 수 있는데, 이를 위해 구체적으로, 식별 정보를 포함하는 아이디모듈(201)과, 다른 조립모듈(200)과의 페어링연결에 활용되는 페어링모듈(202)과, 특정 기능에 대한 설정이나 수정이 가능한 기능모듈(203)을 포함할 수 있다.
상기 아이디모듈(201)은, 블록 자체의 고유 식별 정보를 포함하는 구성으로, 본 발명에서 다양하게 활용되는 복수의 조립모듈(200)들을 이용하여 알고리즘 교육 내지 코딩 교육을 실시하기 위해서는, 복수의 조립모듈(200) 각각의 고유의 식별정보 내지 기능에 대한 특정이 가능해야 하므로, 이를 위한 블록 자체의 고유 식별정보 등을 제공하는 구성이다. 따라서, 상기 아이디모듈(201)은 상기 스위칭부(280)에 의해 조립모듈(200)에 전력이 공급됨에 따라 자동으로 작동되어 저장된 식별정보를 제어모듈(100)로 전송하도록 할 수 있다.
상기 페어링모듈(202)은, 다른 조립모듈(200)과의 페어링 연결에 활용되는 구성으로, 입력에 따른 출력 등 특정 기능을 수행하기 위해 복수의 조립모듈(200)들을 상호 연결하여 동작시키도록 하는 경우 상호 연결하여 사용,동작하여야 하는 조립모듈(200)들을 서로 페어링 연결시키는데 활용되도록 한다. 따라서, 상기 페어링모듈(202)은 페어링연결될 대상 조립모듈(200)을 식별하고 대상 조립모듈(200)간 블루투스 등을 이용하여 페어링연결을 해주는 기능을 수행하게 되며, 복수의 조립모듈(200)을 활용한 다양한 형태의 알고리즘 내지 코딩 교육을 실시하도록 할 수 있다.
상기 기능모듈(203)은, 조립모듈(200)의 특정 기능에 대한 설정이나 수정이 가능토록 하는 구성으로, 본 발명에 활용되는 조립모듈(200)들 중에서 특히, 논리블록(23) 등의 경우(그 외에 입력블록(21)이나 출력블록(22) 등에도 필요에 따라 적용 가능함) 해당 블록이 수행하는 함수값이나 조건값 등을 대상 학습 또는 놀이의 내용에 따라 다양하게 설정 내지 수정할 수 있도록 하여야 한정된 조립모듈(200) 갯수 범위 내에서도 다양한 학습 또는 놀이 수행이 가능한 바, 상기 기능모듈(203)의 경우 조립모듈(200)의 특정 수행해야 할 기능에 대한 설정이나 수정 등이 이루어지도록 할 수 있으며, 상기 제어모듈(100)을 통해 사용자가 니즈에 따라 설정·수정이 이루어지도록 할 수 있다.
상기 페어링제어모듈(101)은, 페어링 연결시킬 조립모듈(200)과 조립모듈(200)의 페어링모듈(202)에 관련 제어신호를 전송하는 구성으로, 앞서 설명한 상기 조립모듈(200) 내 페어링모듈(202)에 대한 실질적인 제어신호를 생성,전송함으로써, 본 발명에서 다양하게 활용되는 복수의 조립모듈(200)들을 이용하여 알고리즘 교육 내지 코딩 교육을 실시하기 위해, 특히 입력에 따른 출력 등 특정 기능을 수행하기 위해 복수의 조립모듈(200)들 중에서 상호 연결하여 동작할 수 있는 조립모듈(200) 간 페어링연결을 사용자가 제어할 수 있도록 한다.
상기 기능제어모듈(102)은, 특정 조립모듈(200)의 기능모듈(203)에 대한 특정 기능을 설정 또는 수정하는 구성으로, 앞서 설명한 상기 조립모듈(200) 내 기능모듈(203)에 대한 실질적인 제어신호를 생성,전송함으로써, 해당 블록이 수행하는 함수값이나 조건값 등을 대상 학습 또는 놀이의 내용에 따라 다양하게 설정 내지 수정할 수 있도록 하여야 한정된 조립모듈(200) 갯수 범위 내에서도 다양한 학습 또는 놀이 수행이 가능토록 한다.
상기 시퀀스제어모듈(103)은, 학습 또는 놀이를 위해 조립모듈(200)을 동작시키는 경우에 있어 각 조립모듈(200)마다의 작동에 대한 조건, 작동 순서, 반복 여부 관련 시퀀스를 설정하는 구성으로, 앞서 설명한 상기 페어링제어모듈(101) 및 기능제어모듈(102)들에 의해 특정 학습 또는 놀이를 위한 대상 조립모듈(200)들간의 입,출력 페어링연결이나 사용되는 조립모듈(200)의 필요한 기능에 대한 설정이 완료된 이후, 실질적으로 대상 조립모듈(200)들이 어떤 순서에 의해 어떤 기능들이 먼저 동작하고 그 이후 어떤 기능들이 이어서 동작해야, 목표로 한 학습 내용 등에 맞추어 연속적인 블록의 작동이 이루어져 해당 미션을 수행할 수 있게 되므로, 이러한 각 조립모듈(200)마다의 작동에 대한 조건, 작동 순서, 반복 여부 관련 시퀀스 등을 상기 시퀀스제어모듈(103)을 통해 설정할 수 있게 된다. 상기 시퀀스제어모듈(103)은 일 실시예와 같은 작업화면(119)을 통해 이루어지도록 할 수도 있다.
이상에서, 출원인은 본 발명의 다양한 실시예들을 설명하였지만, 이와 같은 실시예들은 본 발명의 기술적 사상을 구현하는 일 실시예일 뿐이며, 본 발명의 기술적 사상을 구현하는 한 어떠한 변경예 또는 수정예도 본 발명의 범위에 속하는 것으로 해석되어야 한다.
20: 블록 100: 제어모듈 101: 페어링제어모듈
102: 기능제어모듈 103: 시퀀스제어모듈 110: 인터페이스부
111: 디스플레이 113: 입력 수단 119: 작업화면
130: 저장부 150: 코딩처리부 151: 변환처리모듈
152: 컴파일처리모듈 153: 흠결분석모듈 154: 흠결표시모듈
155: 제어코드전송모듈 156: 코딩대상특정모듈 156a: 식별정보표시모듈
156b: 식별정보선택모듈 156c: 식별정보지정모듈 170: 제1통신부
200: 조립모듈 21: 입력블록 22: 출력블록
23: 논리블록 201: 아이디모듈 202: 페어링모듈
203: 기능모듈 209: 케이스 209a: 케이스의 타면
209b: 케이스의 일면 209c: 돌출부 209c: 홈부
210, 230: 실행부 210: 제1실행부 230: 제2실행부
250: 실행처리부 270: 제2통신부 280: 스위칭부
290: 배터리 310: 식별 정보 311: 분류 정보
313: 고유 번호

Claims (13)

  1. 놀이용 블록에 착탈 가능하도록 블록의 규격에 맞추어 형성되는 조립모듈과;
    코딩을 통해 상기 조립모듈의 작동을 설정하고, 수정·변경하는 제어모듈;을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련 교구.
  2. 제 1 항에 있어서, 상기 제어모듈은
    상기 조립모듈에 대한 제어명령을 코딩하는 작업화면을 제공하는 인터페이스부와; 상기 인터페이스부의 작업화면에 코딩된 내용을 컴파일하고, 컴파일된 제어 코드를 특정 조립모듈에 전송하여 제어코드에 따른 작동이 이루어지도록 하는 코딩처리부;를 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  3. 제 2 항에 있어서, 상기 인터페이스부는
    상기 작업화면에 선택 가능한 복수의 명령어 엔트리를 표시하는 제1영역과, 상기 제1영역에서 선택된 엔트리가 드래그앤드롭(drag & drop)되는 제2영역을 포함하고,
    상기 코딩처리부는,
    상기 제2영역에 배치된 복수의 엔트리의 배열 순서에 따라 엔트리를 컴파일하는 컴파일처리모듈과, 상기 컴파일처리모듈에 의해 컴파일된 제어코드를 조립모듈로 전송하는 제어코드전송모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  4. 제 3 항에 있어서, 상기 인터페이스부는
    상기 제1영역에 일상 용어로 엔트리를 표시하도록 하고,
    상기 코딩처리부는,
    상기 일상 용어를 프로그래밍 언어로 변환하여 상기 컴파일처리모듈에 의해 컴파일되도록 하는 변환처리모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  5. 제 3 항에 있어서, 상기 코딩처리부는
    상기 컴파일처리모듈에 의해 컴파일된 제어 코드의 흠결을 분석하는 흠결분석모듈과, 상기 흠결분석모듈에 의한 분석결과 흠결이 존재하면 상기 작업화면에 흠결을 표시하는 흠결표시모듈을 포함하고,
    상기 제어코드전송모듈은 상기 흠결분석모듈에 의해 흠결이 미존재하는 경우 컴파일된 제어코드를 조립모듈에 전송하도록 하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  6. 제 2 항에 있어서, 상기 조립모듈은
    놀이용 블록에 착탈 가능하도록 형성되는 케이스와, 상기 제어모듈로부터 제어 코드를 수신하여 제어 코드에 따른 동작이 수행되도록 하는 실행처리부와, 조립모듈에 전력을 공급하는 배터리를 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  7. 제 6 항에 있어서, 상기 조립모듈은
    각 조립모듈에 대한 식별 정보 저장하며, 저장된 식별정보를 상기 제어모듈로 전송하는 아이디모듈;을 포함하고,
    상기 코딩처리부는 상기 아이디모듈에 의해 전송되는 식별 정보의 선택에 따라 코딩 대상을 특정하는 코딩대상특정모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  8. 제 7 항에 있어서, 상기 코딩대상특정모듈은
    상기 아이디모듈에 의해 전송된 식별 정보를 작업화면 상에 표시하는 식별정보표시모듈과, 상기 식별정보표시모듈에 의해 표시된 식별정보를 엔트리의 객체 항목에 선택되도록 하거나 객체 항목에 드래그앤드롭(drag & drop)되도록 하는 경우 해당 식별 정보가 코딩 대상으로 선택되도록 하는 식별정보선택모듈과, 선택된 식별정보를 엔트리에 대한 코딩 대상으로 지정하는 식별정보지정모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  9. 제 7 항에 있어서, 상기 조립모듈은
    블록에 대한 케이스의 결합에 따라 배터리로부터 조립모듈로 전력의 공급이 이루어지도록 하는 스위칭부를 포함하고,
    상기 아이디모듈은 상기 스위칭부에 의한 배터리로부터의 전력 공급에 따라 자동으로 작동되어 상기 제어모듈로 식별정보를 전송하도록 하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  10. 제 9 항에 있어서, 상기 스위칭부는
    상기 케이스가 블록에 장착되면 물리적으로 가압되어 배터리와의 전기적 연결이 이루어지도록 하고, 상기 케이스가 블록으로부터 이탈하면 원래 상태로 복귀하여 전기적 연결이 해제되도록 하는 가압스위치;를 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  11. 제 6 항에 있어서, 상기 조립모듈은
    다양한 입력 신호를 발생시켜 전송하는 입력블록과, 다양한 출력신호를 표출하는 출력블록과, 다양한 논리 연산에 필요한 제어신호를 발생시켜 전송하는 논리블록을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  12. 제 11 항에 있어서, 상기 조립모듈은
    조립모듈 사이에 페어링을 통한 정보의 송수신이 이루어지도록 하는 페어링모듈과, 특정 기능에 대한 설정이나 수정이 이루어지도록 하는 기능모듈과, 복수의 조립모듈 각각의 작동에 대한 조건, 작동 순서, 반복 여부 관련 시퀀스를 설정하는 시퀀스제어모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
  13. 제 12 항에 있어서, 상기 제어모듈은
    페어링 연결에 관한 제어신호를 조립모듈로 전송하는 페어링제어모듈과, 특정 조립모듈의 기능모듈에 대한 특정 기능을 설정 또는 수정하도록 하는 기능제어모듈을 포함하는 것을 특징으로 하는 코딩 알고리즘 훈련교구.
KR1020210091447A 2021-07-13 2021-07-13 코딩 알고리즘 훈련 교구 KR102579179B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210091447A KR102579179B1 (ko) 2021-07-13 2021-07-13 코딩 알고리즘 훈련 교구

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210091447A KR102579179B1 (ko) 2021-07-13 2021-07-13 코딩 알고리즘 훈련 교구

Publications (2)

Publication Number Publication Date
KR20230010976A true KR20230010976A (ko) 2023-01-20
KR102579179B1 KR102579179B1 (ko) 2023-09-15

Family

ID=85108542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210091447A KR102579179B1 (ko) 2021-07-13 2021-07-13 코딩 알고리즘 훈련 교구

Country Status (1)

Country Link
KR (1) KR102579179B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037631A (ko) * 2016-10-04 2018-04-13 (주)모션블루 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법
KR20180130934A (ko) * 2017-05-30 2018-12-10 (주) 나인원 소프트웨어 코딩 교육이 가능한 무선 통신 기반 스마트 코딩 블록 세트
KR20200013581A (ko) * 2018-07-30 2020-02-07 신재광 모듈형 인공지능 이동 로봇 제어 시스템 및 그 제어 방법
KR20200033637A (ko) * 2018-09-20 2020-03-30 이진식 주행 로봇을 이용한 코딩 교육 제공 시스템
KR20200086834A (ko) * 2019-01-10 2020-07-20 주식회사 럭스로보 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037631A (ko) * 2016-10-04 2018-04-13 (주)모션블루 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법
KR20180130934A (ko) * 2017-05-30 2018-12-10 (주) 나인원 소프트웨어 코딩 교육이 가능한 무선 통신 기반 스마트 코딩 블록 세트
KR20200013581A (ko) * 2018-07-30 2020-02-07 신재광 모듈형 인공지능 이동 로봇 제어 시스템 및 그 제어 방법
KR20200033637A (ko) * 2018-09-20 2020-03-30 이진식 주행 로봇을 이용한 코딩 교육 제공 시스템
KR20200086834A (ko) * 2019-01-10 2020-07-20 주식회사 럭스로보 프로그램 가능한 모듈 어셈블리 및 그에 대한 실행 코드 저작 시스템

Also Published As

Publication number Publication date
KR102579179B1 (ko) 2023-09-15

Similar Documents

Publication Publication Date Title
US20070173974A1 (en) Device and method for interacting with autonomous robot
KR20170053185A (ko) 동작카드를 이용한 블록완구 동작 제어시스템 및 그 제어방법
US11727824B2 (en) System and method for teaching computer programming
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
CN111932985A (zh) 一种编程语言实物化积木编程系统
KR20060088383A (ko) 아이콘 기반 로봇제어 프로그램 작성 교육시스템 및 그 방법
KR102579179B1 (ko) 코딩 알고리즘 훈련 교구
KR102579180B1 (ko) 음성 인식이 가능한 코딩 알고리즘 훈련 교구
CN213159402U (zh) 一种编程语言实物化积木编程系统
CN208819395U (zh) 一种智能互动学习机及其系统
CN105844980A (zh) 智能机器人点读系统
KR20190048185A (ko) 전자 플레이트를 이용한 언플러그드 코딩 시스템
KR102450527B1 (ko) 코딩 알고리즘 훈련 교구
CN101290706A (zh) 无线遥控系统及其无线遥控装置
KR102543159B1 (ko) 전원 공급 및 위치 인식이 가능한 스마트블록 및 이의 제어시스템
KR102488992B1 (ko) 기어와 블록을 이용한 학습 또는 놀이용 교구
CN108961979B (zh) 一种教学机器人系统和组装方法
CN108447324B (zh) 一种智能互动学习方法
CN212044742U (zh) 一种模块化颜色识别机器人
EP3437705B1 (en) Interactive crafting toy system
KR20190048188A (ko) 전자 블록을 이용한 언플러그드 코딩 시스템
KR20220006347A (ko) 블록코딩 장치
Saini et al. Arduino Solutions Handbook: Design interesting DIY projects using Arduino Uno, C and C++ (English Edition)
JP3897018B2 (ja) ペン型ポインティングデバイス
KR20090128631A (ko) 지능로봇실습키트 및 지능로봇을 이용한 지능로봇교육시스템

Legal Events

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