KR20200053271A - 피지컬 소프트웨어 코딩 교육 교재 실행 장치 - Google Patents

피지컬 소프트웨어 코딩 교육 교재 실행 장치 Download PDF

Info

Publication number
KR20200053271A
KR20200053271A KR1020180136695A KR20180136695A KR20200053271A KR 20200053271 A KR20200053271 A KR 20200053271A KR 1020180136695 A KR1020180136695 A KR 1020180136695A KR 20180136695 A KR20180136695 A KR 20180136695A KR 20200053271 A KR20200053271 A KR 20200053271A
Authority
KR
South Korea
Prior art keywords
toy
physical software
coding
processing unit
educational
Prior art date
Application number
KR1020180136695A
Other languages
English (en)
Other versions
KR102198824B1 (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 KR1020180136695A priority Critical patent/KR102198824B1/ko
Priority to US16/678,027 priority patent/US11749134B2/en
Publication of KR20200053271A publication Critical patent/KR20200053271A/ko
Application granted granted Critical
Publication of KR102198824B1 publication Critical patent/KR102198824B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/26Magnetic or electric toys
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H17/00Toy vehicles, e.g. with self-drive; ; Cranes, winches or the like; Accessories therefor
    • A63H17/26Details; Accessories
    • A63H17/36Steering-mechanisms for toy vehicles
    • A63H17/395Steering-mechanisms for toy vehicles steered by program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source 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
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0069Engineering, e.g. mechanical, electrical design
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2666Toy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Toys (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 피지컬 소프트웨어 코딩 교육 교재 실행 장치에 관한 것으로, MCU(Micro Control Unit)와 시리얼 통신을 통해 연결되고 상기 MCU로 완구의 동작을 제어하는 완구 제어부, 상기 완구 제어부와 HTTP(HyperText Transfer Protocol)을 통해 연결되고 상기 완구의 동작 제어 컨트롤을 포함하는 HTML(HyperText Markup Language)로 제작된 교육 컨텐츠를 제공하는 교육 컨텐츠 처리부 및 상기 교육 컨텐츠에 블록 코드 편집기를 임베드하여 블록 코딩 기반의 피지컬 소프트웨어를 직접 작성하고 상기 완구의 제어를 실행할 수 있는 피지컬 소프트웨어 처리부를 포함한다. 따라서, 본 발명은 HTML로 제작된 교육 컨텐츠를 활용한 코딩 교육 과정으로 누구나 쉽고 편리하게 완구(코딩 교구)를 위한 피지컬 소프트웨어의 코딩 교육을 학습할 수 있다.

Description

피지컬 소프트웨어 코딩 교육 교재 실행 장치{APPARATUS FOR PHYSICAL SOFTWARE CODING TRAINING BOOK RUNNING}
본 발명은 피지컬 소프트웨어 코딩 교육 기술에 관한 것으로, 보다 상세하게는 피지컬 소프트웨어의 코딩 교육을 위한 교재를 HTML(HyperText Markup Language)로 제작된 교육 컨텐츠로 제공하여 쉽고 간단하게 코딩 교육을 학습할 수 있는 피지컬 소프트웨어 코딩 교육 교재 실행 장치에 관한 것이다.
최근 소프트웨어 코딩교육은 초등학교의 교과 과정에 포함되어 코딩교육의 중요성이 강조되고 있다. 소프트웨어 코딩교육은 컴퓨터 기반으로 수행되므로 기존 교육과 달리, 교육자의 눈높이에 맞추기 위해 놀이와 게임 등을 접목시킬 수 있다.
피지컬 컴퓨팅은 컴퓨팅 시스템 영역의 핵심 개념 중 하나로 센서를 이용해서 현실 세계의 값을 컴퓨터에게 알려주고, 그 값을 이용해 프로그램을 만드는 활동이다. 현실 세계의 값을 컴퓨터에게 전달해주는 것을 센서(Sensor)라고 부르고, 컴퓨터의 명령대로 현실 세계에서 움직이는 것을 엑추에이터(Actuator)라고 한다. 센서와 엑추에이터를 활용하기 위해서는 전문가 수준의 프로그래밍 언어만 사용 가능했으나, 최근 누구나 사용할 수 있는 센서가 개발되고 보급되면서 보다 쉽게 활용할 수 있게 된다.
한국 공개특허공보 제10-2017-0092000(2017.08.10)호는 소프트웨어 프로그래밍 교육을 위한 학습 교구에 관한 것으로, 학습 교구로서, 보드; 상기 보드에 배치되는 복수의 접속 단자; 및 상기 보드에 배치되고 상기 복수의 접속 단자와 전기적으로 연결되는 회로 구성을 포함하고, 상기 복수의 접속 단자는, 상기 보드의 외곽 텍두리에 배치되는 적어도 하나의 제1 접속 단자와, 상기 보드의 내측으로 배치되는 적어도 하나의 제2 접속 단자를 포함하고, 상기 제1 접속 단자는, 상기 보드를 관통하는 하나의 관통 홀과, 상기 하나의 관통 홀의 내부 측벽에 형성된 전극 패턴을 포함하고, 상기 제2 접속 단자는, 상기 보드를 관통하는 복수의 관통 홀과, 상기 복수의 관통 홀의 내부 측벽에 형성된 전극 패턴을 포함하고, 상기 복수의 접속 단자는 각각 클립 케이블을 통해서 전도성 물체와 전기적으로 연결가능하고, 상기 회로 구성은, 컴퓨터 시스템과 연결되는 통신부와, 상기 복수의 접속 단자에서 정전용량의 변화를 검출하는 제어부를 포함하고, 상기 복수의 접속 단자는, 각각 상기 컴퓨터 시스템의 소정의 기능 또는 소정의 동작의 수행을 위한 명령과 매핑되고, 상기 제어부는, 상기 복수의 접속 단자 중 정전용량이 변화된 적어도 하나의 접속 단자에 매핑된 명령을 상기 컴퓨터 시스템에 전송하고, 상기 컴퓨터 시스템은, 상기 학습 교구로부터 수신된 명령에 의해서 소프트웨어 프로그래밍을 수행한다.
한국 공개특허공보 제10-2009-0128631(2009.12.16)호는 지능로봇실습키트 및 지능로봇을 이용한 지능로봇교육시스템에 관한 것으로, 이동을 위한 구동수단과, 장애물 식별 및 로봇의 위치인식을 위한 다수의 초음파센서와 영상센서로 구성되는 센서수단과, 경고음 또는 안내음등의 음성을 입력받는 마이크 및 출력하는 스피커가 내부 동일평면상의 부재위에서 개방장치된 이동용 수납수단과, 이동용 수납수단 외부 일측에 설치되는 입출력단자에 회로연결되어 상기 각 장치수단을 제어하는 제어수단으로 구성되어 작동함으로써 지능로봇의 구조 및 작동원리를 시각적으로 확인할 수 있도록 구성한 지능로봇실습키트와; 상기 지능로봇실습키트수단과 동일한 구성요소가 통상적인 로봇 형태의 케이스 내외부에 장치되어 작동되는 지능로봇과; 상기 지능로봇의 하부 구동수단과 접하는 조립식 매트수단과; 초음파센서 또는 영상센서의 실습을 위해 상기 매트수단의 상부 임의의 위치에서 하부에 설치되는 지지수단에 끼워져 설치되는 벽체장애물수단과, 영상센서의 실습을 위해 상기 매트수단의 임의의 위치에 높여지는 색상지장애물수단으로 구성되는 실습환경수단과; 상기 지능로봇실습키트 및 지능로봇과 실습자가 제어하는 원격제어수단간을 연결하는 유선랜, 무선랜, RF장치 중에서 선택된 하나의 장치수단으로 구성된 통신수단과; 상기 통신수단을 이용 지능로봇실습키트 및 지능로봇에 실습자가 제어프로그램을 사용하여 작성한 실습용 명령프로그램을 전송하여 작동시키거나 직접조종수단을 사용하여 작동시키도록 구성한 실습자의 원격제어수단을 포함하며, 상기 지능로봇실습키트, 지능로봇 또는 원격제어수단 중 적어도 어느 하나는 내재하는 연산장치를 이용하여 가시적인 심볼들을 조합하여 순서도를 구성하고, 상기 순서도의 논리적 절차에 따라, 상기 지능로봇을 구동시키는 순서도 작성 프로그램이 동작하는 것을 특징으로 한다.
1. 한국 공개특허공보 제10-2017-0092000(2017.08.10)호 2. 한국 공개특허공보 제10-2009-0128631(2009.12.16)호
본 발명의 일 실시예는 피지컬 소프트웨어의 코딩 교육을 위한 교재를 HTML(HyperText Markup Language)로 제작된 교육 컨텐츠로 제공하여 쉽고 간단하게 코딩 교육을 학습할 수 있는 피지컬 소프트웨어 코딩 교육 교재 실행 장치를 제공하고자 한다.
본 발명의 일 실시예는 블록 코드 편집기를 임베드한 교육 컨텐츠를 통해 블록 코딩 기반의 피지컬 소프트웨어를 직접 작성할 수 있도록 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치를 제공하고자 한다.
본 발명의 일 실시예는 교육 컨텐츠를 통해 코딩 교육 교재 실행 과정에서 코딩 교구가 물리적으로 연결되지 않더라도 시뮬레이션으로 대체하여 코딩 성공 여부를 쉽게 확인할 수 있도록 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치를 제공하고자 한다.
실시예들 중에서, 피지컬 소프트웨어 코딩 교육 교재 실행 장치는 MCU(Micro Contro Unit)와 시리얼 통신을 통해 연결되고 상기 MCU로 완구의 동작을 제어하는 완구 제어부, 상기 완구 제어부와 HTTP(HyperText Transfer Protocol)을 통해 연결되고 상기 완구의 동작 제어 컨트롤을 포함하는 HTML(HyperText Markup Language)로 제작된 교육 컨텐츠를 제공하는 교육 컨텐츠 처리부, 및 상기 교육 컨텐츠에 블록 코드 편집기를 임베드하여 블록 코딩 기반의 피지컬 소프트웨어를 직접 작성하고 상기 완구의 제어를 실행할 수 있는 피지컬 소프트웨어 처리부를 포함한다.
상기 완구 제어부는 상기 완구가 물리적으로 연결되지 않더라도 상기 MCU에 의해 미리 설정된 가상 완구를 제어할 수 있다.
상기 교육 컨텐츠 처리부는 상기 완구의 동작 제어 컨트롤에 사용자 입력이 수신되면 HTML 태그가 아닌 특수 태그 기반의 완구 동작 텍스트 명령어를 생성하여 상기 완구 제어부에 제공할 수 있다.
상기 교육 컨텐츠 처리부는 상기 동작 텍스트 명령어가 생성되면 상기 교육 컨텐츠 상에 상기 MCU를 통해 획득되고 텍스트로 표현되는 동작 전후 완구 상태들을 사용자에게 제공하여 상기 완구의 성공적인 제어 여부를 확인할 수 있는 완구 동작 뷰를 팝업 시킬 수 있다.
상기 교육 컨텐츠 처리부는 상기 동작 텍스트 명령어의 생성 과정에서 가상 완구와 연결된 경우에는 상기 완구 동작 뷰에 상기 동작 전후 완구 상태들 및 상기 동작 전후 상태들 간의 변화량을 기초로 가변적으로 보간(interpolation)되는 적어도 하나의 동작 중 완구 상태를 기초로 상기 가상 완구의 변화 과정을 시각화 할 수 있다.
상기 피지컬 소프트웨어 처리부는 상기 완구의 실시간 조정을 수행할 수 있는 완구 매니퓰레이터를 제공하고 상기 완구 매니뮬레이터에 의해 조작된 상기 완구의 동작 과정을 적어도 하나의 블록 코드로 변환할 수 있다.
상기 피지컬 소프트웨어 처리부는 상기 적어도 하나의 블록 코드 간의 순서를 랜덤하게 셔플링 한 후 상기 완구의 동작 과정을 시각적으로 제공하여 사용자가 상기 셔플링된 적어도 하나의 블록 코드를 올바르게 재배치할 수 있도록 할 수 있다.
상기 피지컬 소프트웨어 처리부는 상기 교육 컨텐츠에 상기 완구의 종류를 식별하여 상기 블록 코드 편집기 상에 사용자에 의한 코딩을 통해 작성 가능한 적어도 하나의 완구 동작을 나타내고 상기 사용자의 입력을 수신하여 해당 동작 코드를 상기 블록 코드 편집기에 제공하는 동작 매니퓰레이터를 제공할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예는 블록 코드 편집기를 임베드한 교육 컨텐츠를 통해 코드(명령어)를 직접 입력할 필요 없이 블록코드의 배치만으로도 쉽고 간단하게 코딩할 수 있도록 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치를 제공할 수 있다.
본 발명의 일 실시예는 코딩한 피지컬 소프트웨어에 따른 완구 또는 가상 완구의 동작 상태를 시각적으로 제공하여 완구의 성공적인 제어 여부를 확인할 수 있도록 하는 피지컬 소프트웨어 코딩 교육 교재 실습 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 피지컬 소프트웨어 코딩 교육 교재 실행 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 코딩 교육 교재 실행 장치를 설명하는 블록도이다.
도 3은 도 2에 있는 피지컬 소프트웨어 처리부에서 제공하는 완구 매니퓰레이터의 예를 설명하는 도면이다.
도 4는 도 2에 있는 피지컬 소프트웨어 코딩 교육 교재 실행 과정에서 완구의 동작을 제어하는 과정을 설명하는 순서도이다.
도 5는 도 2에 있는 피지컬 소프트웨어 코딩 교육 교재 실행 과정에서 블록 코딩 기반의 피지컬 소프트웨어를 작성하는 과정을 설명하는 순서도이다.
도 6은 도 2에 있는 교육 컨텐츠 상에 블록 코드 편집기를 임베드하여 블록을 이용하여 동작을 실행하는 프로그램 코딩의 예를 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다 거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 피지컬 소프트웨어 코딩 교육 교재 실행 시스템을 설명하는 도면이다.
도 1을 참조하면, 피지컬 소프트웨어 코딩 교육 교재 실행 시스템(100)은 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110), MCU(Micro Control Unit)(120) 및 완구(130)을 포함하고, 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110)와 MCU(120)는 RS-232C 등의 시리얼(Serial) 통신을 통해 연결될 수 있다.
피지컬 소프트웨어 코딩 교육 장치(110)는 MCU(120)와 연결되어 피지컬 소프트웨어 코딩 교육 교재를 실행할 수 있는 컴퓨터나 스마트폰 등의 컴퓨팅 장치에 해당할 수 있다. 이하, 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110)와 관련한 보다 상세한 설명은 도 2를 참조하여 설명한다.
MCU(120)는 완구(130)에 채용되거나 완구(130)를 연결하여 완구(130)의 다양한 동작을 제어할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, MCU(120)는 완구(130)에 프로그래밍 된 명령을 전달하여 원하는 동작을 하도록 만들 수 있는 메인보드로 구현될 수 있다.
완구(130)는 MCU(120)를 통해 특정 동작을 수행할 수 있는 코딩 교구에 해당할 수 있다. 예를 들어, 완구(130)는 로봇, RC 자동차 등으로 구현할 수 있다.
도 2는 도 1에 있는 피지컬 소프트웨어 코딩 교육 교재 실행 장치를 설명하는 블록도이다.
도 2를 참조하면, 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110)는 완구 제어부(210), 교육 컨텐츠 처리부(220), 피지컬 소프트웨어 처리부(230) 및 가상 완구(240)를 포함한다.
완구 제어부(210)는 MCU(120)와 시리얼 통신을 통해 연결되고 MCU(120)로 완구의 동작을 제어한다. 여기에서, 완구 제어부(210)는 완구(130)가 MCU(120)에 물리적으로 연결되지 않더라도 MCU(120)에 의해 미리 설정된 가상 완구(240)를 제어할 수 있다.
교육 컨텐츠 처리부(220)는 완구 제어부(210)와 HTTP(HyperText Transfer Protocol)을 통해 연결되고 완구(130)가 원하는 동작을 할 수 있도록 프로그래밍하는 소프트웨어 코딩(Software Coding) 교육을 위한 교육 컨텐츠를 제공한다. 여기에서, 교육 컨텐츠는 코딩 교육 교재에 해당할 수 있으며 완구(130)의 동작 제어 컨트롤을 포함하는 HTML(HyperText Markup Language)로 제작되어 웹페이지로 표출될 수 있다.
교육 컨텐츠 처리부(220)는 HTML로 제작된 코딩 교육 컨텐츠에 포함된 완구(130)의 동작 제어 컨트롤에 사용자 입력이 수신되면 HTML 태크가 아닌 특수 태그 기반의 완구 동작 텍스트 명령어를 생성하여 완구 제어부(210)에 제공한다. 여기에서, 특수 태그는 HTML 주석에 해당할 수 있다. 예를 들면, HTML 주석을 사용하려면 "<!-- 와 -->" 사이에 내용을 넣으면 되는 데 이는 수정하거나 태그의 설명 등을 편하게 보기 위해 사용하는 것이다. 교육 컨텐츠 처리부(220)는 사용자 입력에 따른 완구의 동작에 대해서는 완구의 동작 과정을 위한 블록 코드가 아닌 HTML 주석으로 넣어 코딩할 수 있다.
교육 컨텐츠 처리부(220)는 사용자 입력에 의한 특정 태그의 동작 텍스트 명령어가 생성되면 교육 컨텐츠 상에 MCU(120)를 통해 획득되고 텍스트로 표현되는 동작 전후 완구 상태들을 사용자에게 제공하여 완구(130)의 성공적인 제어 여부를 확인할 수 있는 완구 동작 뷰를 팝업시킨다. 동작 텍스트 명령어의 생성 과정에서 가상 완구(240)와 연결된 경우, 교육 컨텐츠 처리부(220)는 완구 동작 뷰에 동작 전후 완구 상태들 및 동작 전후 상태들 간의 변화량을 기초로 가변적으로 보간(interpolation)되는 적어도 하나의 동작 중 완구 상태를 기초로 가상 완구의 변화 과정을 시각화한다. 여기에서, 동작 전후 완구 상태들 간의 보간은 다음의 수학식 1로 계산할 수 있다.
[수학식 1]
Xp = x1 + t(x2-x1)
Yp = y1 + t(y2-y1)
여기에서, Xp 및 Yp는 보간 위치에 해당하는 좌표이고 x1 및 y1은 동작 전 위치에 해당하는 좌표이고 x2 및 y2는 동작 후 위치에 해당하는 좌표이고 t는 이동시간에 해당한다.
피지컬 소프트웨어 처리부(230)는 교육 컨텐츠에 블록 코드 편집기를 임베드(Embed)하여 블록 코딩 기반의 피지컬 소프트웨어를 직접 작성하고 완구(130)의 제어를 실행한다. 여기에서, 블록 코딩 화면의 예를 도 6 도시하였다.
도 6은 도 2에 있는 교육 컨텐츠 상에 블록 코드 편집기를 임베드하여 블록을 이용하여 동작을 실행하는 프로그램 코딩의 예를 설명하는 도면이다.
도 6에서, 블록 코딩 화면(600)에는 각각의 기능들이 블록으로 정의되어 있으며, 각 블록 안에는 실제 프로그램 코드가 들어 있다. 일 실시예에서, 블록 코딩 화면(600) 상단에는 실행, 멈추기, 소스보기, 닫기 등의 메뉴 버튼이 위치하고 각각의 기능 블록들이 목록 형태로 위치하게 된다. 사용자는 원하는 동작에 따른 기능 블록들을 조합하여 쉽고 간단하게 코딩할 수 있다. 소스보기 버튼을 클릭하면 코드 내용을 확인할 수 있고 [실행하기] 버튼을 클릭하면 완구(130)의 동작 과정을 시각적으로 볼 수 있다
다시 도 2를 참조하면, 피지컬 소프트웨어 처리부(230)는 완구(130)의 실시간 조정을 수행할 수 있는 완구 매니퓰레이터(300)를 제공하고 완구 매니퓰레이터에 의해 조작된 완구(130)의 동작 과정을 적어도 하나의 블록 코드로 변환한다.
피지컬 소프트웨어 처리부(230)는 적어도 하나의 블록 코드 간의 순서를 랜덤하게 셔플링 한 후 완구(130)의 동작 과정을 시각적으로 제공하여 사용자가 셔플링된 적어도 하나의 블록 코드를 올바르게 재배치할 수 있도록 한다. 이를 통해, 사용자는 완구(130)의 원하는 동작들에 대해 코딩 교육을 받고 실습해볼 수 있다. 여기에서, 블록코드 순서 셔플링은 다음의 수학식 1에 따라 이루어질 수 있다.
[수학식 2]
Figure pat00001
여기에서, (p1,p2,…,pk)는 기능 블록들의 수에 해당하고 Sh()는 전순서 집합의 분할에 대한 셔플 순열에 해당한다.
피지컬 소프트웨어 처리부(230)는 교육 컨텐츠에 완구(130)의 종류를 식별하여 블록 코드 편집기 상에 사용자에 의한 코딩을 통해 작성 가능한 적어도 하나의 완구 동작을 나타내고 사용자의 입력을 수신하여 해당 동작 코드를 블록 코드 편집기에 제공하는 동작 매니퓰레이터를 제공할 수 있다.
도 3은 도 2에 있는 피지컬 소프트웨어 처리부(230)에 의해 제공되는 완구 매니퓰레이터(300)를 나타내는 예시도이다.
도 3을 보면, 완구 매니퓰레이터(300)는 완구(130)를 조정하는 조이스틱에 해당하는 소프트웨어 조정기에 해당할 수 있다. 완구 매니퓰레이터(300)는 기본 동작이 저장된 12개 번호키(310)와 전후좌우의 4측 방향 이동이 저장된 방향키(320)를 포함할 수 있다. 번호키(310)에 저장된 기본 동작은 도 6에서 보여진 블록코딩화면에서 피지컬 소프트웨어를 직접 작성하여 새로운 동작으로 저장하여 사용할 수 있다.
도 4는 도 2에 있는 피지컬 소프트웨어 코딩 교육 교재 실행 과정에서 완구의 동작을 제어하는 과정을 설명하는 순서도이다.
도 4를 참조하면, 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110)는 교육 컨텐츠 처리부(220)에서 피지컬 소프트웨어 코딩 교육 교재로 HTML로 제작된 교육 컨텐츠를 제공할 수 있도록 한다(단계 S410). 일 실시예에서, 교육 컨텐츠는 피지컬 컴퓨팅 전반의 코딩을 체험할 수 있도록 입문과정과 입문확장, 활용과정과 활용확장의 4개 카테고리로 교육 프로그램을 구성하고 각 카테고리의 교육 프로그램마다 웹브라우저 연결을 통해 필요한 기능들을 익힐 수 있는 기능 블록학습 및 기능 블록들을 조합하여 코딩하고 코딩된 프로그램 코드를 확인하고 실행해볼 수 있다.
교육 컨텐츠 처리부(220)는 제공하는 교육 컨텐츠에 포함된 완구(130)의 동작 제어 컨트롤에 사용자 입력이 수신되면 완구 동작 텍스트 명령어를 생성하여 완구 제어부(210)에 제공할 수 있다(단계 S420). 일 실시예에서, 완구 동작 텍스트 명령어는 HTML 주석으로 포함할 수 있다.
완구 제어부(210)는 MCU(120)를 통해 완구(130)의 물리적 연결을 확인하고(단계 S430), 연결이 확인되면 교육 컨텐츠 처리부(220)에서 제공하는 완구 동작 텍스트 명령어에 따라 연결된 MCU(120)로 완구(130)의 동작을 제어할 수 있다(단계 S430).
완구 제어부(210)는 완구(130)가 물리적으로 연결되지 않은 경우에는 완구(130)를 대체하는 가상 완구(240)를 제어하여 완구 동작을 시뮬레이션할 수 있다(단계 S440). 가상 완구(240)는 MCU(120)에 의해 미리 설정된 로봇이나 RC 자동차 등 다양한 형태의 코딩 교구일 수 있다.
교육 컨텐츠 처리부(220)는 완구 동작 텍스트 명령어에 따른 완구(130)의 동작 전후 상태를 보여주는 완구 동작 뷰를 교육 컨텐츠 상에 팝업 형태로 제공할 수 있다(단계 S450).
교육 컨텐츠 처리부(220)는 가상 완구(240) 제어를 통한 시뮬레이션의 경우에는 동작 전과 후 사이를 보간하여 가상 완구(240)의 변화 과정을 교육 컨텐츠 상에 제공할 수 있다(단계 S460).
사용자는 완구 동작 뷰로 시각화된 완구의 동작 전후 상태들을 통해 완구의 성공적인 제어 여부를 확인할 수 있다.
도 5는 도 2에 있는 피지컬 소프트웨어 코딩 교육 교재 실행 과정에서 블록 코딩 기반의 피지컬 소프트웨어를 작성하는 과정을 설명하는 순서도이다.
도 5에서, 피지컬 소프트웨어 코딩 교육 교재 실행 장치(110)는 사용자가 완구(130)의 조정을 위해 완구 매니퓰레이터(300) 상에 방향키(320) 및 번호키(310)를 조작하면 이를 기반으로 피지컬 소프트웨어 처리부(230)에서 블록코드를 생성한다(단계 S510). 피지컬 소프트웨어 처리부(230)는 완구 매니퓰레이터(300)에 의해 조작된 완구의 동작 과정을 블록코드로 변환할 수 있다.
피지컬 소프트웨어 처리부(230)는 조정 시퀀스 대로 생성된 블록코드를 순차 저장한 후(단계 S520), 블록코드 순서를 셔플링하여 블록 코딩 화면(600)에 제공한다(단계 S530).
피지컬 소프트웨어 처리부(230)는 사용자가 블록 코딩 화면(600)에 순서가 섞여 있는 블록코드들을 재배치하는 것을 통해 코딩을 할 수 있게 한다(단계 S540).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 피지컬 소프트웨어 코딩 교육 교재 실행 시스템
110: 피지컬 소프트웨어 코딩 교육 교재 실행 장치
120: MCU 130: 완구(코딩교구)
210: 완구 제어부 220: 교육 컨텐츠 처리부
230: 피지컬 소프트웨어 처리부 240: 가상 완구
300: 완구 매니퓰레이터

Claims (8)

  1. MCU(Micro Control Unit)와 시리얼 통신을 통해 연결되고 상기 MCU로 완구의 동작을 제어하는 완구 제어부;
    상기 완구 제어부와 HTTP(HyperText Transfer Protocol)을 통해 연결되고 상기 완구의 동작 제어 컨트롤을 포함하는 HTML(HyperText Markup Language)로 제작된 교육 컨텐츠를 제공하는 교육 컨텐츠 처리부; 및
    상기 교육 컨텐츠에 블록 코드 편집기를 임베드하여 블록 코딩 기반의 피지컬 소프트웨어를 직접 작성하고 상기 완구의 제어를 실행할 수 있는 피지컬 소프트웨어 처리부를 포함하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  2. 제1항에 있어서, 상기 완구 제어부는
    상기 완구가 물리적으로 연결되지 않더라도 상기 MCU에 의해 미리 설정된 가상 완구를 제어하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  3. 제1항에 있어서, 상기 교육 컨텐츠 처리부는
    상기 완구의 동작 제어 컨트롤에 사용자 입력이 수신되면 HTML 태그가 아닌 특수 태그 기반의 완구 동작 텍스트 명령어를 생성하여 상기 완구 제어부에 제공하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  4. 제3항에 있어서, 상기 교육 컨텐츠 처리부는
    상기 동작 텍스트 명령어가 생성되면 상기 교육 컨텐츠 상에 상기 MCU를 통해 획득되고 텍스트로 표현되는 동작 전후 완구 상태들을 사용자에게 제공하여 상기 완구의 성공적인 제어 여부를 확인할 수 있는 완구 동작 뷰를 팝업 시키는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  5. 제4항에 있어서, 상기 교육 컨텐츠 처리부는
    상기 동작 텍스트 명령어의 생성 과정에서 가상 완구와 연결된 경우에는 상기 완구 동작 뷰에 상기 동작 전후 완구 상태들 및 상기 동작 전후 상태들 간의 변화량을 기초로 가변적으로 보간(interpolation)되는 적어도 하나의 동작 중 완구 상태를 기초로 상기 가상 완구의 변화 과정을 시각화 하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  6. 제1항에 있어서, 상기 피지컬 소프트웨어 처리부는
    상기 완구의 실시간 조정을 수행할 수 있는 완구 매니퓰레이터를 제공하고 상기 완구 매니퓰레이터에 의해 조작된 상기 완구의 동작 과정을 적어도 하나의 블록 코드로 변환하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  7. 제6항에 있어서, 상기 피지컬 소프트웨어 처리부는
    상기 적어도 하나의 블록 코드 간의 순서를 랜덤하게 셔플링 한 후 상기 완구의 동작 과정을 시각적으로 제공하여 사용자가 상기 셔플링된 적어도 하나의 블록 코드를 올바르게 재배치할 수 있도록 하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
  8. 제1항에 있어서, 상기 피지컬 소프트웨어 처리부는
    상기 교육 컨텐츠에 상기 완구의 종류를 식별하여 상기 블록 코드 편집기 상에 사용자에 의한 코딩을 통해 작성 가능한 적어도 하나의 완구 동작을 나타내고 상기 사용자의 입력을 수신하여 해당 동작 코드를 상기 블록 코드 편집기에 제공하는 동작 매니퓰레이터를 제공하는 것을 특징으로 하는 피지컬 소프트웨어 코딩 교육 교재 실행 장치.
KR1020180136695A 2018-11-08 2018-11-08 피지컬 소프트웨어 코딩 교육 교재 실행 장치 KR102198824B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180136695A KR102198824B1 (ko) 2018-11-08 2018-11-08 피지컬 소프트웨어 코딩 교육 교재 실행 장치
US16/678,027 US11749134B2 (en) 2018-11-08 2019-11-08 Apparatus for physical software coding training book running

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180136695A KR102198824B1 (ko) 2018-11-08 2018-11-08 피지컬 소프트웨어 코딩 교육 교재 실행 장치

Publications (2)

Publication Number Publication Date
KR20200053271A true KR20200053271A (ko) 2020-05-18
KR102198824B1 KR102198824B1 (ko) 2021-01-05

Family

ID=70550641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180136695A KR102198824B1 (ko) 2018-11-08 2018-11-08 피지컬 소프트웨어 코딩 교육 교재 실행 장치

Country Status (2)

Country Link
US (1) US11749134B2 (ko)
KR (1) KR102198824B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012488A (ko) * 2001-08-01 2003-02-12 주식회사 마이크로로보트 마이크로로봇 제어프로그램 교육 시스템 및 그 방법
KR20060088383A (ko) * 2005-02-01 2006-08-04 한국과학기술원 아이콘 기반 로봇제어 프로그램 작성 교육시스템 및 그 방법
KR20090128631A (ko) 2008-06-11 2009-12-16 주식회사 한울로보틱스 지능로봇실습키트 및 지능로봇을 이용한 지능로봇교육시스템
KR20170092000A (ko) 2016-02-02 2017-08-10 주식회사 헬로긱스 소프트웨어 프로그래밍 교육을 위한 학습 교구
KR20170122493A (ko) * 2016-04-27 2017-11-06 김규동 컨트롤러 장치 및 상기 컨트롤러 장치를 포함하는 제어 알고리즘 작성 시스템
JP2017215577A (ja) * 2016-04-27 2017-12-07 劉錦銘 バーチャルロボットを用いた教育システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3925140B2 (ja) * 2001-10-09 2007-06-06 ソニー株式会社 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム
US9370862B2 (en) * 2014-06-12 2016-06-21 Play-i, Inc. System and method for reinforcing programming education through robotic feedback
US10143913B2 (en) * 2015-11-03 2018-12-04 Polytangle Ip Limited Electronic multimedia puzzle
KR101988282B1 (ko) * 2018-01-24 2019-06-12 주식회사 헬로긱스 프로그래밍 가능한 입력모듈을 포함하는 이동 로봇

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012488A (ko) * 2001-08-01 2003-02-12 주식회사 마이크로로보트 마이크로로봇 제어프로그램 교육 시스템 및 그 방법
KR20060088383A (ko) * 2005-02-01 2006-08-04 한국과학기술원 아이콘 기반 로봇제어 프로그램 작성 교육시스템 및 그 방법
KR20090128631A (ko) 2008-06-11 2009-12-16 주식회사 한울로보틱스 지능로봇실습키트 및 지능로봇을 이용한 지능로봇교육시스템
KR20170092000A (ko) 2016-02-02 2017-08-10 주식회사 헬로긱스 소프트웨어 프로그래밍 교육을 위한 학습 교구
KR20170122493A (ko) * 2016-04-27 2017-11-06 김규동 컨트롤러 장치 및 상기 컨트롤러 장치를 포함하는 제어 알고리즘 작성 시스템
JP2017215577A (ja) * 2016-04-27 2017-12-07 劉錦銘 バーチャルロボットを用いた教育システム

Also Published As

Publication number Publication date
US20200152079A1 (en) 2020-05-14
US11749134B2 (en) 2023-09-05
KR102198824B1 (ko) 2021-01-05

Similar Documents

Publication Publication Date Title
KR102069096B1 (ko) 피지컬 디바이스의 직접적 원격 제어 장치
Behrens et al. MATLAB meets LEGO Mindstorms—A freshman introduction course into practical engineering
Howard et al. Using haptic and auditory interaction tools to engage students with visual impairments in robot programming activities
JP2017215577A (ja) バーチャルロボットを用いた教育システム
KR20200033637A (ko) 주행 로봇을 이용한 코딩 교육 제공 시스템
CN110544399A (zh) 图形化远程教学系统以及图形化远程教学方法
CN108762878A (zh) 一种应用程序互动界面生成方法、装置、设备及存储介质
KR101091820B1 (ko) 이벤트 편집기능을 가지는 교육용 이동로봇
KR102198824B1 (ko) 피지컬 소프트웨어 코딩 교육 교재 실행 장치
KR101505598B1 (ko) 로봇 교육 장치
Christensen et al. Playte, a tangible interface for engaging human-robot interaction
Shapi’i et al. Model for educational game using natural user interface
Yuen et al. Mobile app controlled modular combat robot for STEM education
Kuc et al. Teaching introductory autonomous robotics with JavaScript simulations and actual robots
Poppvici et al. Educative distributed virtual environments for children
KR20210142305A (ko) 인공지능 기반 코딩 코칭 서비스 시스템
Lund et al. Educational robotics: manipulative technologies for cognitive rehabilitation
Brageul et al. An intuitive interface for a cognitive programming by demonstration system
Smaili et al. Effective integration of mechatronics into the mechanical engineering curriculum: A cooperative, project-based learning model with seamless lab/lecture implementation
Zhang et al. Building and Understanding Robotics---a Practical Course for Different Levels Education
KR102245064B1 (ko) 교육용 프로그램 코딩 방법
Noordin et al. UMP STEM Bot as educational kit for robotics and computer programming
Czakóová et al. Ozobot coding challenges in elementary school informatics
KR102251102B1 (ko) 프로그램의 가상 구현 장치
CN114683280B (zh) 对象控制方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant