KR20210142305A - 인공지능 기반 코딩 코칭 서비스 시스템 - Google Patents

인공지능 기반 코딩 코칭 서비스 시스템 Download PDF

Info

Publication number
KR20210142305A
KR20210142305A KR1020200058977A KR20200058977A KR20210142305A KR 20210142305 A KR20210142305 A KR 20210142305A KR 1020200058977 A KR1020200058977 A KR 1020200058977A KR 20200058977 A KR20200058977 A KR 20200058977A KR 20210142305 A KR20210142305 A KR 20210142305A
Authority
KR
South Korea
Prior art keywords
coding
block
coaching
information
real
Prior art date
Application number
KR1020200058977A
Other languages
English (en)
Inventor
한덕수
Original Assignee
주식회사 씨앤알테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 씨앤알테크 filed Critical 주식회사 씨앤알테크
Priority to KR1020200058977A priority Critical patent/KR20210142305A/ko
Publication of KR20210142305A publication Critical patent/KR20210142305A/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
    • 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/16Sound input; Sound output
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Educational Technology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 코드 플레이 블록과 통신하는 코딩 코칭 제어기와 통신적으로 연결되는 인공지능 기반 코딩 코칭 서비스 시스템으로서, 회원의 코딩결과 정보, 회원의 코딩 레벨 정보, 회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 데이터베이스부; 회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기를 통해 제공하고, 상기 코딩 코칭 제어기를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 서버를 포함한다. 본 발명의 실시예에서는, 사용자의 레벨에 맞추어 코딩을 코칭해줄 수 있고, 음성인식을 이용하여 쉽게 사용자의 레벨에 맞추어 코딩을 코칭해줄 수 있다.

Description

인공지능 기반 코딩 코칭 서비스 시스템 {AI-based coding coaching service system}
본 발명은 인공지능 기반 코딩 코칭 서비스 시스템에 관한 것으로, 특히, 사용자의 레벨에 맞추어 코딩을 코칭해주는 인공지능 기반 코딩 코칭 서비스 시스템에 관한 것이다.
일반적으로, 컴퓨터나 스마트폰에 사용되는 다양한 프로그램 개발을 위해서 C언어 등의 프로그래밍 언어에 대한 교육이 필요한데, 프로그래밍 언어를 사용하여 응용 프로그램을 어떠한 토대와 규칙으로 코딩해야 하는지를 논리적으로 만들어 줄 수 있는 알고리즘에 대한 교육도 필요하다.
그러나 알고리즘에 대한 교육은 일종의 논리적 언어를 배우는 과정이며, 어떤 것을 픽업해서 연결시킬 것인지를 아는 과정이다.
그러므로, 이런 논리적 언어가 가지고 있는 기초적인 개념(예를 들어, 루프가 어떻게 동작하고, 판단을 어떻게 하며, 계산을 어떻게 하는지, 어떻게 컴퓨터가 우리에게 주는 정보를 획득하고, 컴퓨터에게 일을
시키는지 등)을 알게 하고, 창조적인 경험과 사용자가 만들어낸 것에 대한 성취감을 느끼도록 하는 것이 중요하다.
이러한 알고리즘 교육을 통해 자연스럽게 어린이의 논리적 사고를 향상시킬 수 있으며, 창의적인 사고가 가능하도록 도와준다.
그러나 응용 프로그램 언어는 대부분 외국어로 되어 있기 때문에 어린이에게 교육하기 다소 어려우며, 콜론 또는 세미콜론 등의 혼용 또는 누락과 같이 프로그램의 작성 과정에서 발생할 수 있는 단순한 실수로 인하여 반복활성화되는 에러 메시지는 어린이들의 알고리즘 교육에 대한 관심을 희석시키며 알고리즘 교육을 포기하는 원인이 되고 있다.
그리고 종래 소프트웨어 교육은 소트프웨어를 활용하는데 중점을 둔 것으로, 이러한 소프트웨어 교육은 어린이가 스스로 자신이 필요한 소트프웨어의 알고리즘을 작성하는데 도움을 주지 못한다는 문제점을 가진다.
따라서 어린이들에게 알고리즘을 쉽고 흥미롭게 교육시킬 수 있는 장치에 대한 요구가 절실하다.
이에 따라 블록을 이용한 코딩 기술이 개발되고 있다.
그런데, 기존 제품은 흥미 유발 및 코딩 개념 교육에 치중되어 명령어 API 위주의 블록을 제공할 뿐이고, 기존 제품은 명령어 보드에 명령어 블록을 배치하는 형태인데, 이는 명령어 보드가 물리적으로 제한되어 있어 명령어 블록 배치가 제한적이고, 이를 극복하기 위해서는 서로 다른 기능의 명령어 API 블록을 계속적으로 제공해야 하는 한계가 있다.
그리고 코딩 교육에서 디버깅은 기존 알고리즘에서 문제를 찾아 해결하거나 더 효율적인 알고리즘을 개발하는게 매우 효과적인데 언플러그드 기반의 기존 교구에서는 명령어 API 블록이라는 한계로 인해 디버깅을 통한 학습이 불가능하였다.
이러한 문제를 해결하기 위해 본 출원인에 의해 국내등록특허 1,843,831호가 개시되어 있다.
이러한 선행기술은 실제 코딩문(제어문, 변수, 이벤트, 디버깅 등)과 유사한 구조의 블록을 제공하여 흥미 유발과 코딩 개념의 학습뿐만 아니라 실제 코딩문과의 연계를 강화하는 코드 플레이 블록을 제공한다.
한편, 이러한 선행기술외에도 사용자들은 좀 더 사용하기 편리한 코딩 블록을 원한다.
본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하기 위한 것으로, 사용자의 레벨에 맞추어 코딩을 코칭해주는 인공지능 기반 코딩 코칭 서비스 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하기 위한 것으로, 음성인식을 이용하여 쉽게 사용자의 레벨에 맞추어 코딩을 코칭해주는 인공지능 기반 코딩 코칭 서비스 시스템을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하기 위한 것으로, 삽입 방향에 따라 다른 값으로 인식되는 변수블록 및 숫자 블록을 가진 인공지능 기반 코딩 코칭 서비스 시스템을 제공하는 것이다.
이러한 기술적 과제를 해결하기 위한 본 발명의 특징에 따른 인공지능 기반 코딩 코칭 서비스 시스템은,
코드 플레이 블록과 통신하는 코딩 코칭 제어기와 통신적으로 연결되는 인공지능 기반 코딩 코칭 서비스 시스템으로서,
회원의 코딩결과 정보, 회원의 코딩 레벨 정보, 회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 데이터베이스부;
회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기를 통해 제공하고, 상기 코딩 코칭 제어기를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 서버를 포함한다.
상기 코딩 코칭 제어기는,
상기 서버 또는 회원의 단말기와 통신하기 위한 제1 통신부;
상기 코드 플레이 블록과 통신하기 위한 제2 통신부;
음성에 대응하는 명령어 정보를 저장하는 저장부;
음성을 수신하여 인식하는 음성 인식부;
상기 음성 인식부로부터 회원의 음성을 인식하고, 인식된 음성에 대응하여 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시하도록 제어하는 코칭 제어부를 포함한다.
상기 단말기는 상기 제어부의 제어에 따라 화면에 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시한다.
상기 데이터베이스부는,
회원 정보를 저장하는 회원 정보 DB;
회원의 코딩 결과 정보를 저장하는 코딩결과 정보 DB;
회원의 코딩 레벨을 저장하는 코딩 레벨 정보DB;
회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 코딩 정보 DB를 포함한다.
상기 서버는,
회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기를 통해 제공하는 코딩 코칭부;
상기 코딩 코칭 제어기를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 코딩 결과 처리부를 포함한다.
상기 코드 플레이 블록은,
고유아이디를 내장하고, 적어도 하나의 커넥터를 구비하며, 실제 코드의 생성 역할을 하는 적어도 하나의 리얼코딩블록;
고유 아이디를 내장하고, 상기 리얼코딩 블록과 접속되며, 변수값을 입력하기 위한 적어도 하나의 변수 블록;
상기 리얼코딩블록과 접속되어 상기 리얼코딩블록에서 수신되는 아이디에 대응되는 코드를 순차적으로 실행하며, 상기 인공지능 기반 코딩 코칭 제어기에 코딩 결과를 송신하는 메인 블록을 포함하며,
상기 변수블록은 0도, 90도, 180도 및 270도 회전된 상태중 하나로 상기 리얼코딩블록과 결합이 가능하고,
상기 리얼코딩블록은 상기 변수블록이 결합될때의 상태에 대응하여 각기 다른 값으로 인식하는 것을 특징으로 한다.
상기 변수 블록은
고유아이디를 내장하는 변수 메모리;
상기 리얼코딩블록과 접속하기 위한 변수커넥터;
상기 변수 메모리에 저장된 아이디를 상기 변수커넥터를 통해 상기 리얼코딩블록으로 전송하는 변수 제어부를 포함한다.
상기 리얼코딩블록은,
고유아이디를 내장하는 코딩 메모리;
상부에 위치한 리얼코딩블록과 접속되어 통신을 하기 위한 제1 코딩 커넥터;
하부에 위치한 리얼코딩블블록과 접속되어 통신을 하기 위한 제2 코딩 커넥터;
상기 넘버링 블록과 접속되기 위한 적어도 하나의 제3 코딩 커넥터
상기 변수 블록과 접속되기 위한 적어도 하나의 제4 코딩 커넥터;
가운데에 위치한 리얼코딩블블록과 접속되어 통신을 하기 위한 제5 코딩 커넥터;
상기 제1 코딩 커넥터, 제5 코딩 커넥터, 제3 코딩 커넥터, 제4 코딩 커넥터의 입력 및 자신의 아이디를 제2 코딩 커넥터로 출력하도록 제어하는 코딩 제어부를 포함하고,
상기 변수 커넥터는 제1 내지 제4 변수접촉단자를 가지고,
상기 리얼코딩블록의 제4 코딩 커넥터는, 상기 제1 내지 제4 변수접촉단자에 삽입되는 제1 내지 제4 변수핀을 구비한다.
상기 변수 메모리는, 상기 변수블록의 결합 상태에 대응하는 고유아이디를 저장하는 것을 특징으로 한다.
고유아이디를 내장하고 상기 리얼코딩 블록과 접속되며, 숫자값을 입력하기 위한 적어도 하나의 넘버링 블록을 더 포함한다.
상기 메인 블록의 제어신호에 따라 소정 동작을 실행하는 실행 장치를 더 포함한다.
상기 실행장치는, 드론, 로봇, 스마트폰 또는 디스플레이이다.
상기 넘버링 블록은,
숫자를 선택하기 위한 버튼부;
상기 리얼코딩블록과 접속하기 위한 숫자커넥터;
상기 버튼부에서 선택된 숫자를 표시하기 위한 숫자 표시부;
상기 버튼부에서 선택된 숫자를 상기 숫자 표시부에 표시하고, 상기 숫자커넥터를 통해 상기 리얼코딩블록으로 전송하는 숫자 제어부를 포함한다.
상기 메인 블록은,
상기 리얼코딩블록 및 변수블록의 고유아이디에 대응되는 명령어 및 변수를 저장하는 메인 메모리;
상기 리얼코딩블록과 접속하기 위한 적어도 하나의 메인커넥터;
상기 리얼코딩블록에서 입력되는 입력값을 상기 메인 메모리를 참조하여 실행하는 메인 제어부를 포함한다.
상기 메인 블록은 외부의 실행장치와 통신하기 위한 제1 무선 통신부를 더 포함하고, 상기 메인 제어부는 상기 제1 무선 통신부를 통해 상기 실행장치를 실행하는 제어신호를 출력하는 것을 특징으로 한다.
상기 메인 블록은 상기 코딩 코칭 제어기와 통신하기 위한 제2 무선 통신부를 더 포함하고, 상기 메인 제어부는 상기 제2 무선 통신부를 통해 코딩 결과를 상기 코딩 코칭 제어기로 송신하는 것을 특징으로 한다.
상기 코드 플레이 블록은,
고유아이디를 내장하고, 적어도 하나의 커넥터를 구비하며, 실제 코드의 생성 역할을 하는 적어도 하나의 리얼코딩블록;
고유아이디를 내장하고 상기 리얼코딩 블록과 접속되며, 숫자값을 입력하기 위한 적어도 하나의 넘버링 블록;
상기 리얼코딩블록과 접속되어 상기 리얼코딩블록에서 수신되는 아이디에 대응되는 코드를 순차적으로 실행하고, 상기 코딩 코칭 제어기에 코딩 결과를 송신하는 메인 블록을 포함하고,
상기 넘버링 블록은 0도, 90도, 180도 및 270도 회전된 상태중 하나로 상기 리얼코딩블록과 결합이 가능하고,
상기 리얼코딩블록은 상기 넘버링 블록이 결합될때의 상태에 관계없이 같은 값으로 인식하는 것을 특징으로 한다.
상기 넘버링 블록은,
상기 리얼코딩블록과 접속하기 위한 숫자 커넥터;
소정의 숫자를 표시하기 위한 숫자 표시부;
상기 숫자를 저장하는 숫자 메모리;
상기 숫자 메모리에 저장된 숫자를 상기 숫자커넥터를 통해 상기 리얼코딩블록으로 전송하는 숫자 제어부를 포함한다.
상기 리얼코딩블록은,
고유아이디를 내장하는 코딩 메모리;
상부에 위치한 리얼코딩블록과 접속되어 통신을 하기 위한 제1 코딩 커넥터;
하부에 위치한 리얼코딩블블록과 접속되어 통신을 하기 위한 제2 코딩 커넥터;
상기 넘버링 블록과 접속되기 위한 적어도 하나의 제3 코딩 커넥터
상기 변수 블록과 접속되기 위한 적어도 하나의 제4 코딩 커넥터;
가운데에 위치한 리얼코딩블블록과 접속되어 통신을 하기 위한 제5 코딩 커넥터;
상기 제1 코딩 커넥터, 제5 코딩 커넥터, 제3 코딩 커넥터, 제4 코딩 커넥터의 입력 및 자신의 아이디를 제2 코딩 커넥터로 출력하도록 제어하는 코딩 제어부를 포함하고,
상기 숫자 커넥터는 제1 내지 제4 숫자접촉단자를 가지고,
상기 리얼코딩블록의 제3 코딩 커넥터는, 상기 제1 내지 제4 숫자 접촉단자에 삽입되는 제1 내지 제4 숫자핀을 구비한다.
상기 제3 코딩 커넥터 및 제4 코딩 커넥터는 동일한 커넥터를 공용으로 사용할 수 있다.
본 발명의 실시예에서는, 사용자의 레벨에 맞추어 코딩을 코칭해주는 인공지능 기반 코딩 코칭 서비스 시스템을 제공할 수 있다.
또한, 본 발명의 실시예에서는, 음성인식을 이용하여 쉽게 사용자의 레벨에 맞추어 코딩을 코칭해주는 인공지능 기반 코딩 코칭 서비스 시스템을 제공할 수 있다.
또한, 본 발명의 실시예에서는, 삽입 방향에 따라 다른 값으로 인식되는 변수블록 및 숫자 블록을 가진 인공지능 기반 코딩 코칭 서비스 시스템을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 인공지능 기반 코딩 코칭 서비스 시스템의 구성도이다.
도 2는 도 1의 코딩 코칭 제어기의 구성도이다.
도 3은 도 1의 코드 플레이 블록의 구성도이다.
도 4는 도 3의 리얼코딩 블록의 구성도이다.
도 5은 도 3의 넘버링 블록의 구성도이다.
도 6은 도 3의 넘버링 블록의 다른 구성도이다.
도 7는 도 3의 변수 블록의 구성도이다.
도 8는 넘버링 블록 또는 변수 블록의 회로 구성예를 보인 도면이다.
도 9는 넘버링 블록의 출력값 구현의 예를 보인 도면이다.
도 10은 변수블록의 출력값 구현의 예를 보인 도면이다.
도 11 내지 도 17은 변수블록, 넘버링블록 및 리얼코딩블록의 예를 나타낸 도면이다.
도 18은 도 3의 메인 블록의 구성도이다.
도 19 내지 도 28은 본 발명의 실시예에 따른 코드 플레이 블록을 설명하기 위한 참조도면이다.
도 29 내지 32는 본 발명의 실시예에 따른 인공지능 기반 코딩 코칭 서비스 시스템의 동작을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그리고 아래의 서버는 프로세서와 램이나 롬 등의 메모리를 구비하고, 소프트웨어를 수행하는 장치일 수 있다.
도 1은 본 발명의 실시예에 따른 인공지능 기반 코딩 코칭 서비스 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 인공지능 기반 코딩 코칭 서비스 시스템은,
코드 플레이 블록(100)과 통신하는 코딩 코칭 제어기(800)와 통신적으로 연결되는 인공지능 기반 코딩 코칭 서비스 시스템으로서,
회원의 코딩결과 정보, 회원의 코딩 레벨 정보, 회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 데이터베이스부(720);
회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기(800)를 통해 제공하고, 상기 코딩 코칭 제어기(800)를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 서버(710)를 포함한다.
상기 데이터베이스부(720)는,
회원 정보를 저장하는 회원 정보 DB(721);
회원의 코딩 결과 정보를 저장하는 코딩결과 정보 DB(722);
회원의 코딩 레벨을 저장하는 코딩 레벨 정보DB(723);
회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 코딩 정보 DB(724)를 포함한다.
상기 서버(710)는,
회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기(800)를 통해 제공하는 코딩 코칭부(711);
상기 코딩 코칭 제어기(800)를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 코딩 결과 처리부(712)를 포함한다.
필요에 따라 서버(710)는 단말기(900)를 통해 코딩 코칭 제어기(800)(800)와 통신할 수도 있고, 직접 통신도 가능하다.
도 2는 도 1의 코딩 코칭 제어기(800)의 구성도이다.
상기 코딩 코칭 제어기(800)(800)는,
4g, 5g 또는 근거리 통신 방식으로 상기 서버(710) 또는 회원의 단말기와 통신하기 위한 제1 통신부(860);
상기 코드 플레이 블록과 통신하기 위한 제2 통신부(870);
음성에 대응하는 명령어 정보를 저장하는 저장부(830);
음성을 수신하여 인식하는 음성 인식부(820);
상기 음성 인식부(820)로부터 회원의 음성을 인식하고, 인식된 음성에 대응하여 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시하도록 제어하는 코칭 제어부(840)를 포함한다.
상기 코딩 코칭 제어기(800)는,
코칭을 안내하는 음성을 출력하는 스피커(850);
키패드 또는 버튼 등으로 회원의 선택을 입력받는 입력부(810)를 더 포함한다.
상기 단말기(900)는 상기 코칭 제어부(840)의 제어에 따라 화면에 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시한다.
도 3은 본 발명의 실시예에 따른 코드 플레이 블록의 구성도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 코드 플레이 블록은,
고유아이디를 내장하고, 적어도 하나의 커넥터를 구비하며, 실제 코드의 생성 역할을 하는 적어도 하나의 리얼코딩블록(101, 102, 103, 104, 105, 106, 107);
고유아이디를 내장하고 상기 리얼코딩 블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록과 접속되며, 숫자값을 입력하기 위한 적어도 하나의 넘버링 블록(201, 202, 203, 204);
고유 아이디를 내장하고, 상기 리얼코딩 블록(101, 102, 103, 104, 105, 106, 107), 넘버링블록 또는 서로 접속되며, 변수값을 입력하기 위한 적어도 하나의 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310);
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 접속되어 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)에서 수신되는 아이디에 대응되는 코드를 순차적으로 실행하고, 상기 인공지능 기반 코딩 코칭 제어기(800)에 코딩 결과를 송신하는 메인 블록(400);
상기 메인 블록(400)의 제어신호에 따라 소정 동작을 실행하는 실행 장치(500)를 포함한다.
리얼코딩블록(101, 102, 103, 104, 105, 106)에서는 제1 코딩 커넥터(110), 제5 코딩 커넥터(150), 제3 코딩 커넥터(130), 제4 코딩 커넥터(140)의 입력 및 자신의 아이디를 제2 코딩 커넥터(120)로 출력하여 하단의 다른 리얼코딩블록 (102, 103, 104, 105, 106, 107)으로 정보를 전달한다. 즉, 상단의 리얼코딩블록(101, 102, 103, 104, 105, 106)에서 수신된 정보, 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310) 및 넘버링 블록(201, 202, 203, 204)에서 수신된 정보를 먼저 하단의 리얼코딩블록(102, 103, 104, 105, 106, 107)으로 전달하고, 자신의 아이디도 하단의 리얼코딩블록(102, 103, 104, 105, 106, 107)으로 전달한다.
상기 실행장치(500)는, 드론, 로봇 또는 디스플레이중 하나일 수 있고, 실행 보드 위에서 소정 동작을 실행할 수 있다.
필요에 따라 실행장치(500)가 로봇인 경우, 보드(600)위에서 주행, 좌회전, 정지, 출발 등의 해당 동작을 수행한다.
도 4는 도 3의 리얼코딩 블록의 구성도이다.
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 각각은,
고유아이디를 내장하는 코딩 메모리(160);
상부에 위치한 리얼코딩블록(101, 102, 103, 104, 105, 106)과 접속되어 통신을 하기 위한 제1 코딩 커넥터(110);
하부에 위치한 리얼코딩블록(102, 103, 104, 105, 106, 107)과 접속되어 통신을 하기 위한 제2 코딩 커넥터(120);
상기 넘버링 블록(201, 202, 203, 204)과 접속되기 위한 적어도 하나의 제3 코딩 커넥터(130);
상기 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)과 접속되기 위한 적어도 하나의 제4 코딩 커넥터(140);
가운데에 위치한 리얼코딩블록(103)과 접속되어 통신을 하기 위한 제5 코딩 커넥터(150);
상기 제1 코딩 커넥터(110), 제5 코딩 커넥터(150), 제3 코딩 커넥터(130), 제4 코딩 커넥터(140)의 입력 및 자신의 아이디를 제2 코딩 커넥터(120)로 출력하도록 제어하는 코딩 제어부(170);
동작 상태를 나타내는 LED부(180)를 포함한다.
상기 제1 내지 제5 코딩 커넥터(110~150)는 적어도 하나이며, 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 용도에 따라 개수가 달라질 수 있다.
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제3 코딩 커넥터는, 상기 제1 내지 제4 숫자 접촉단자(221, 222, 223, 224)에 삽입되는 제1 내지 제4 숫자핀(131, 132, 133, 134)을 구비한다.
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제4 코딩 커넥터는, 상기 제1 내지 제4 변수접촉단자(331, 332, 333, 334)에 삽입되는 제1 내지 제4 변수핀(141, 142, 143, 144))을 구비한다.
도 5은 도 3의 넘버링 블록의 구성도이다.
상기 넘버링 블록(201, 202, 203, 204)은,
숫자를 선택하기 위한 버튼부(240);
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)과 접속하기 위한 숫자커넥터(220);
상기 버튼부(240)에서 선택된 숫자를 표시하기 위한 숫자 표시부(210);
상기 버튼부(240)에서 선택된 숫자를 상기 숫자 표시부(210)에 표시하고, 상기 숫자커넥터(220)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)으로 전송하는 숫자 제어부(230)를 포함한다.
넘버링 블록(201, 202, 203, 204)은 사용자의 버튼부(240) 누름에 따라 숫자가 증감되며, 숫자제어부(230)가 선택된 숫자를 상기 숫자 표시부(210)에 표시하고, 상기 숫자커넥터(220)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)으로 선택된 숫자정보를 전달한다.
필요에 따라서는 숫자블록에서 버튼부(240)를 생략하고, 숫자메모리(241)를 부가하여 일정한 숫자를 나타낼 수도 있다.
도 6은 도 3의 넘버링 블록의 다른 구성도이다.
상기 넘버링 블록(201, 202, 203, 204)은,
숫자 정보를 저장하는 숫자 메모리(241);
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)과 접속하기 위한 숫자커넥터(220);
상기 숫자 메모리(241)에 저장된 숫자를 표시하는 숫자 표시부(210);
상기 숫자 메모리(241)에 저장된 숫자 정보를 상기 숫자커넥터(220)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)으로 전송하는 숫자 제어부(230)를 포함한다.
상기 넘버링 블록(201, 202, 203, 204)은 0도, 90도, 180도 및 270도 회전된 상태중 하나로 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 결합이 가능하고,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)은 상기 넘버링 블록(201, 202, 203, 204)이 결합될때의 상태에 관계없이 같은 값으로 인식하는 것을 특징으로 한다.
상기 숫자 커넥터(220)는 제1 내지 제4 숫자접촉단자(221, 222, 223, 224)를 가지고,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제3 코딩 커넥터는, 상기 제1 내지 제4 숫자 접촉단자(221, 222, 223, 224)에 삽입되는 제1 내지 제4 숫자핀(131, 132, 133, 134)을 구비한다.
도 7은 도 3의 변수 블록의 구성도이다.
상기 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)은,
접속 방향에 대응되는 고유아이디를 내장하는 변수 메모리(320);
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 접속하기 위한 변수커넥터(330);
상기 변수 메모리에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)으로 전송하는 변수 제어부(340)를 포함한다.
변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)에서는 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 접속되면, 변수 제어부(340)가 상기 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)으로 전송한다.
또한, 상기 변수 커넥터(330)는 제1 내지 제4 변수접촉단자(331, 332, 333, 334)를 가지고,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제4 코딩 커넥터는, 상기 제1 내지 제4 변수접촉단자(331, 332, 333, 334)에 삽입되는 제1 내지 제4 변수핀(141, 142, 143, 144))을 구비한다.
제1 내지 제4 변수접촉단자(331, 332, 333, 334)와 상기 제1 내지 제4 변수핀(141, 142, 143, 144)의 결합에 대응하여 각각 다른 출력값이 출력된다.
특히, 변수 블록이 0도, 90도, 180도, 270도 회전한 상태로 리얼코딩블록과 접속하게 되면, 변수블록은 각기 다른값을 출력하고, 이에 따라 리얼 코딩 블록은 각기 다른 값으로 인식한다.
예를 들어 변수블록이 방향 블록인 경우, 결합 방향에 따라 상, 하, 좌, 우의 각기 다른값으로 인식할 수 있다.
이러한 변수블록은 도 21과 같이 변형하는 것도 가능하며,
도 21을 참조하면, 상기 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)은,
고유아이디를 내장하는 변수 메모리(320);
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 접속하기 위한 변수커넥터(330);
상기 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 다른 변수블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)으로 전송하는 변수 제어부(340)를 포함한다.
변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)에서는 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 다른 변수블록과 접속되면, 변수 제어부(340)가 상기 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)으로 전송한다.
또한, 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)에서는 한쪽이 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 다른 변수블록과 접속되고, 다른쪽이 변수블록 또는 넘버링블록과 접속된 경우, 변수 제어부(340)가 상기 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 도는 변수블록으로 전송하고나서, 넘버링블록 또는 변수블록(별도의 정보 입력 커넥터(350)에 연결된 변수블록)에서 입력되는 정보를 변수커넥터(330)를 통해 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 또는 자신보다 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 가까운 변수블록(변수커넥터(330)에 연결된 변수블록)으로 전송한다.
한편, 본 발명의 넘버링 블록(201, 202, 203, 204) 또는 변수 블록은 도 8과 같이 저항을 이용하여 간단하게 구성이 가능하다.
도 8을 참조하면, 숫자 제어부 또는 변수 제어부에 커네터 칩(C1)을 연결하여 커넥터의 접속방향에 따라 각기 다른값을 출력하도록 하거나 같은 값을 출력하도록 할 수 있다.
예를 들어 넘버링 블록(201, 202, 203, 204)의 경우 도 6과 같이 0도, 90도, 180도, 270도 회전한 상태로 접속하더라도 항상 같은 값이 출력된다.
즉, 숫자접촉단자에 대응하는 a1, a2, a3, a4가 각각 다르게 접속하더라도 P1과 P2의 값을 항상 일정하게 출력되므로 항상 같은 값이 출력되는 결과가 된다.
따라서 리얼 코딩블록에서는 동일한 숫자값을 인식하게 된다.
또한, 변수 블록의 경우, 도 10과 같이 0도, 90도, 180도, 270도 회전한 상태로 접속하게 되면, 각기 다른 값이 출력된다.
즉, 변수접촉단자에 대응하는 a1, a2, a3, a4가 각각 다르게 접속되면 P1과 P2의 값이 다르게 출력되므로 결합 방향에 대응하여 다른 값이 출력되는 결과가 된다.
따라서 리얼 코딩블록에서는 각기 다른 값을 인식하게 된다.
예를 들어 방향 블록의 경우, 상, 하, 좌, 우의 각기 다른값으로 인식할 수 있다.
실제로 넘버링 블록(201, 202, 203, 204)과 변수블록을 제작하면 도 11 및 도 12와 같은 형태를 가질 수 있다.
도 6, 도 7, 도 11 또는 도 12, 도 13을 참조하면, 넘버링 블록(201, 202, 203, 204) 또는 변수블록에서,
상기 숫자 커넥터(220)는 제1 내지 제4 숫자접촉단자(221, 222, 223, 224)를 가지고,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제3 코딩 커넥터는, 상기 제1 내지 제4 숫자 접촉단자(221, 222, 223, 224)에 삽입되는 제1 내지 제4 숫자핀(131, 132, 133, 134)을 구비한다.
또한, 상기 변수 커넥터(330)는 제1 내지 제4 변수접촉단자(331, 332, 333, 334)를 가지고,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)의 제4 코딩 커넥터는, 상기 제1 내지 제4 변수접촉단자(331, 332, 333, 334)에 삽입되는 제1 내지 제4 변수핀(141, 142, 143, 144))을 구비한다.
도 14 및 도 15를 참조하면, 넘버링 블록(201, 202, 203, 204)은 0도 도는 90도 회전한 상태에서 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)에 결합되더라도 도 6과 같이 같은 값으로 인식되어 동일한 숫자값을 나타낸다.
한편, 도 16 또는 도 17을 참조하면 방향을 나타내는 변수블록의 경우, 0도 도는 90도 회전한 상태의 출력값이 도 10과 같이 달라 다른값으로 인식되어 각기 다른 방향으로 인식될 수 있다.
도 18은 도 3의 메인 블록의 구성도이다.
상기 메인 블록(400)은,
상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 및 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)의 고유아이디에 대응되는 명령어 및 변수를 저장하는 메인 메모리(420);
상기 리얼코딩블록(107)과 접속하기 위한 적어도 하나의 메인커넥터(410);
상기 리얼코딩블록(107)에서 입력되는 입력값을 상기 메인 메모리(410)를 참조하여 실행하는 메인 제어부(430)를 포함한다.
상기 메인 블록은 외부의 실행장치와 통신하기 위한 제1 무선 통신부(440)를 더 포함하고, 상기 메인 제어부(430)는 상기 제1 무선 통신부(440)를 통해 상기 실행장치를 실행하는 제어신호를 출력하는 것을 특징으로 한다.
상기 메인 블록(430)은 상기 코딩 코칭 제어기(800)와 통신하기 위한 제2 무선 통신부(460)를 더 포함하고, 상기 메인 제어부(430)는 상기 제2 무선 통신부(460)를 통해 코딩 결과를 상기 코딩 코칭 제어기(800)로 송신하는 것을 특징으로 한다.
메인 제어부(430)는 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)에서 입력되는 입력값을 상기 메인 메모리(420)를 참조하여 순차적으로 실행한다.
또한, 메인 제어부(430)는 상기 통신부(440)를 통해 상기 실행장치(500)를 실행하는 제어신호를 출력한다.
정보를 표시하는 메인 표시부(450)를 더 포함하며, 메인표시부(450)는 7세그먼트 2개 또는 액정표시장치일 수 있다.
필요에 따라 상기 넘버링 블록(201, 202, 203, 204) 또는 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)은 저항으로 이루어져 저항값을 출력할 수 있으며, 상기 메인 블록(400)은 전압값에 대응되는 숫자 또는 변수를 인식하는 것을 특징으로 한다.
그러면 이러한 구성을 가진 본 발명의 실시예에 따른 코드 플레이 블록의 동작에 대해 설명하면 다음과 같다.
사용자는 교육자로부터 코딩을 해보라는 지시를 받거나 스스로 원하는 코딩을 하기 위하여 다양한 블록을 결합시킨다.
도 1을 참조하면, 결합된 구조는, 7개의 리얼코딩블록(101, 102, 103, 104, 105, 106, 107) 과 하나의 메인 블록(400)이 결합되어 있으며, 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)에는 넘버링 블록(201, 202, 203, 204) 또는 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)이 결합되어 있는 구조이다.
이러한 구조의 코딩 결과물의 동작은 다음과 같다.
먼저, 7개의 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)은 각각 제1 코딩 커넥터(110), 제5 코딩 커넥터(150), 제3 코딩 커넥터(130), 제4 코딩 커넥터(140)의 입력 및 자신의 아이디를 제2 코딩 커넥터(120)로 출력하여 하단의 다른 리얼코딩블록(102, 103, 104, 105, 106, 107)으로 정보를 전달한다. 즉, 상단의 리얼코딩블록(101, 102, 103, 104, 105, 106)에서 수신된 정보와 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310) 및 넘버링 블록(201, 202, 203, 204)에서 수신된 정보를 먼저 하단의 리얼코딩블록(102, 103, 104, 105, 106, 107)으로 전달하고, 자신의 아이디도 하단의 리얼코딩블록(102, 103, 104, 105, 106, 107)으로 전달한다.
모든 리얼코딩 블록(101, 102, 103, 104, 105, 106, 107)은 이러한 동작을 하므로 메인 블록(400)은 제일 상단의 리얼코딩블록(101)부터 자신과 결합된 리얼코딩블록(107)까지 순차적으로 정보를 전달받게 된다.
그리고 나서, 메인 제어부(430)는 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)에서 입력되는 정보의 입력값을 상기 메인 메모리(420)를 참조하여 순차적으로 실행한다.
먼저, 첫 번째 리얼코딩블록(101)이 실행되는데, 이 블록은 시작을 알리는 블록으로서 이 블록 이하부터 명령을 실행하게 된다.
다음, 두 번째 리얼코딩블록(102)이 실행되며, 이 블록은 A=3이라는 명령이 실행된다. 변수에 대응되는 아이디를 메인제어부(430)가 입력받은후, 메인메모리(420)에서 변수를 가져와 대응시킨다. 그리고, 리얼코딩 블록(102)의 아이디에 대응하는 명령어인 등호를 대응시키고, 숫자 3을 대응시킨다. 이를 위해 메인메모리(420)에 미리 아이디에 대응되는 변수, 명령어 등을 저장해둔다.
이하에서는 해당 블록의 명령어 실행과정이 위 과정과 동일하게 각 블록 내부의 구성요소에 의하여 실행되므로 설명의 편의상 간단히 설명하기로 한다.
다음, 세 번째 리얼코딩블록(103)이 실행된다. 이때, 상단 다음으로 옆에 결합된 코딩 블록이 먼저 실행되므로, 세 번째 블록은 A=A+3이 된다.
따라서 A=6이 된다.
이때, 4번째 리얼코딩블록(104)의 명령어가 반복하기 2회이므로 A=6+3=9가 된다.
다음, 5번째 리얼코딩블록(105)의 명령어는 B=A+5이므로, B=14가 된다.
다음, 6번째 리얼코딩블럭(106)의 명령어는 B 보여주기이므로, 메인제어부(430)는 메인블록(400)의 메인표시부(450)에 결과값 14를 표시한다. 경우에 따라서 A, B 보여주기인 경우, A=9, B=14를 메인표시부 양쪽에 각각 표시할 수도 있다.
그리고 7번째 리얼코딩 블록(107)의 명령어는 끝이므로 더 이상 명령어를 실행하지 않는다.
이러한 과정에서 명령어가 실행장치(500)인 별도의 디스플레이에 결과 표시인 경우, 디스플레이에 결과가 표시될 수도 있다.
그리고, 실행장치(500)인 로봇이 직사각형의 코스를 따라 움직이도록 하는 명령어인 경우, 메인제어부(430)의 제어신호가 제1 무선 통신부(440)를 통해 실행로봇으로 전송된다.
그리고, 상기 메인 제어부(430)는 상기 제2 무선 통신부(460)를 통해 코딩 결과를 상기 코딩 코칭 제어기(800)로 송신한다.
그러면, 실행보드(600)위에서 실행로봇이 코스를 따라 움직이게 된다.
이외에도 실행보드(600)는 다양한 형태일 수 있고 이러한 예를 도 19에 도시하였다.
한편, 메인 제어부(430)는 명령어 실행 순서에 따라 해당 리얼코딩블럭의 LED부(180)에 불이 들어오도록 제어신호를 출력하여 현재 실행중인 명령어에 대응되는 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)을 표시할 수도 있다.
이에 따라 학습효과가 더욱 커질 수 잇다.
이외에도 다양한 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)이 존재 가능하며, 필요에 따라 다양하게 추가나 수정 및 삭제가 가능하다.
도 20을 참조하면, 리얼코딩 블록의 모양도 다양하게 변형할 수 있다.
그리고, 형태와 색상도 도 18과 같이 다양화할 수 있다.
도 21을 참조하면, 같은 형태의 리얼코딩블록도 색상에 다라 기능이 달라질 수 있다.
예를 들어, 주황색의 시작 이벤트를 알리는 리얼코딩블록은, 노랑색인 경우에는 기다리기 또는 아니면 등의 기능일 수 있다. 또한, 리얼코딩블록이 파랑색인 경우, 이동, 회전, 읽어오기, 표시하기, 소래내기, 시동걸기, 멈추기, 움직이기 등의 기능일 수 있다.
이외에도 같은 모양의 리얼코딩 블록이라도 색상에 따라 다른 기능을 수행할 수 있고, 리얼코딩블록의 외부에 이를 표시하여 아이들이 쉽게 코딩을 할 수 있도록 한다.
또한, 도 22에는 리얼코딩블록이 넘버링 블록(201, 202, 203, 204)이나 변수블록과 함께 사용되어 제어를 할 수 있는 예를 나타낸다.
도 19를 참조하면, 만약, ~~라면 1초 기다리기, 10번 반복하기 등의 리얼코딩블록이 넘버링블록 및 변수블록과 함께 제어기능으로 실행될 수 있다.
그리고, 도 23에는 이벤트의 예를 도시하였다.
도 23을 참조하면, 클릭했을때, 방송하고 기다리기, 이 스프라이트를 클릭했을 때 등의 이벤트를 리얼코딩블럭으로 구현할 수 있다.
도 24에는 동작을 표현하는 리얼코딩블록의 예를 나타내었다.
도 24를 참조하면, 10만큼 움직이기 등의 동작을 수행하는 리얼코딩블록이 실행될 수 있다.
또한, 연산의 경우에도 동작과 같이 10더하기 등의 연산이 수행될 수 있다.
그리고 도 3의 실시예는 다양하게 변형이 가능하며, 다른 동작을 실시하도록 다양한 코딩이 수행될 수 있다.
이러한 변형예를 설명하면 다음과 같다.
도 25의 변형예를 도 3과 동작이 유사하며, 결과를 스마트폰에 보여주는 동작만 다르다.
따라서 스마트폰에 결과 보여주기를 하는 리얼코딩블럭만이 차이가 있고, 나머지 블록은 동일하다.
도 26에는 로봇을 움직이도록 하는 변형예가 도시되었다.
도 26을 참조하면, 동작이 시작되고 나서 메인제어부가 제어신호를 출력하여 로봇의 시동을 건다.
그리고 메인제어부가 제어신호를 출력하여 로봇이 1만큼 이동하도록 하고, 센서1의 값이 50보다 큰 경우, 로봇을 1초 멈춘다.
그리고 나서 반복회수가 5회될 때까지 이동하고, 센서1의 값이 50보다 큰 경우, 1초 멈추는 동작을 반복한다.
반복 동작이 완료되면, 로봇을 멈춘다,
이러한 로봇의 동작을 제어하는 코딩의 실시예는 다양하게 변형이 가능하다.
한편, 변수블록이 리얼코딩블록과 결합되는 형태도 다양하게 변형이 가능하며, 도 27과 같이 리얼코딩블록 측면에 변수블록이 연결되고, 그 옆에 넘버링 블록(201, 202, 203, 204)이 결합될 수도 있다.
이 경우, 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310)에서는 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)과 접속되면, 변수 제어부(340)가 상기 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록(101, 102, 103, 104, 105, 106, 107)으로 먼저 전송하고, 이후 자신과 결합된 다른 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310); 또는 넘버링 블록(201, 202, 203, 204)에서 입력되는 정보를 전달하게 된다.
또한 다른 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310); 또는 넘버링 블록(201, 202, 203, 204)과의 결합을 위해 별도의 결합 커넥터(도면 미도시)를 추가로 구비할 수 있다.
또한, 변수블록이 양쪽의 변수블록과 결합되는 경우에는 별도의 커넥터를 2개 구비할 수도 있고, 필요에 따라 변수커넥터(330)를 이용하여 리얼코딩 블록이 아니라 다른 변수블럭으로 정보를 전달할 수도 있다.
이 경우에도 변수블록은 변수 메모리(320)에 저장된 아이디를 상기 변수커넥터(330)를 통해 상기 리얼코딩블록에 가까운 변수블록으로 먼저 전송하고, 이후 자신과 결합된 다른 변수 블록(301, 302, 303, 304, 305, 306, 307, 308, 309, 310); 또는 넘버링 블록(201, 202, 203, 204)에서 입력되는 정보를 전달하게 된다.
즉, 도 27을 참조하면, 메인블록에서는 변수블록A=, 변수블록, A, 변수블록 +, 넘버링블록 3의 결합에 대해 A=A+3으로 인식하게 된다.
이러한 구성을 가진 본 발명의 실시예에 따른 인공지능 기반 코딩 코칭 서비스 시스템의 동작을 설명하면 다음과 같다.
도 29를 참조하면, 먼저 회원이 코딩 코칭 제어기(800)에 말을 건다.
그러면 음성 인식부(820)가 음성을 인식하고, 코칭 제어부(840)에 전달한다.
그러면, 코칭 제어부(840)가 코딩 플레이 여부를 스피커(850)로 문의한다.
회원이 음성으로 오케이 응답을 하면, 코칭 제어부(840)는 서버(710)로 미션 정보 및 코딩 코칭 정보를 요청한다.
이때 도 29를 참조하면 다양한 예가 도시되어 있으면, 이러한 시나리오는 미리 저장부(830)에 저장해둔다.
그러면 서버(710)의 코딩 코칭부(711)가 회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기(800)를 통해 제공한다.
이때, 코딩 코칭부(711)는 회원정보 DB(721) 및 코딩레벨 정보 DB(723)를 참조하여 해당 회원의 레벨이 초보인지, 중급인지, 고급인지 등에 따라 단계별 미션 정보 및 코딩 코칭 정보를 제공한다.
그리고 나서, 코딩 코칭 제어기(800)가 단말기(900)의 화면에 미션 정보 및 코딩 코칭 정보를 표시하고, 코딩 플레이를 시작하라는 안내를 한다.
예를 들어 쪼코는 집에서 출발해서 공원으로 가려고 해요라는 미션을 제공한 후, 도 30과 같은 코칭 화면을 제공하고, 이동하기 블록을 이용하여 도착하게 해주세요라는 코칭 정보를 제공한다.
이후 사용자는 이동하기 블록으로 도 31과 같이 코딩을 한다.
코딩이 완료되면 메인 블록의 메인 제어부가 코딩 결과 정보를 단말기(900)에 표시하고, 코딩 코칭 제어기(800)로 송신한다.
즉, 코딩 결과 정보는 코딩을 올바르게 했는데, 잘 못 했는지 등을 나타낸다.
그리고 필요에 따라 도 32와 같이 결과를 예측할 수도 있다.
이후 서버(710)의 코딩 결과 처리부(712)는 상기 코딩 코칭 제어기(800)를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트한다. 즉, 코딩을 제대로 한 경우, 레벨업을 시키고, 코딩을 제대로 못한 경우, 원래의 레벨을 유지한다.
그리고, 필요에 따라서는 3회 이상 코딩에 실패한 경우, 회원의 레벨을 한단계 다운시킬 수도 있다.
이후, 서버(710)는 회원이 다시 접속한 경우, 업데이트된 레벨에 대응되는 미션 정보 및 코칭 정보를 제공하게 된다.
본 발명의 실시예에서는, 사용자의 레벨에 맞추어 코딩을 코칭해줄 수 있다.
또한, 본 발명의 실시예에서는, 음성인식을 이용하여 쉽게 사용자의 레벨에 맞추어 코딩을 코칭해줄 수 있다.
또한, 본 발명의 실시예에서는 삽입 방향에 따라 다른 값으로 인식되는 변수블록을 적용한, 다방향 삽입이 가능한 변수 블록을 가진 코드 플레이 블록을 제공할 수 있다.
또한, 본 발명의 실시예에서는, 삽입 방향이 다르더라도 같은 값으로 인식되는 숫자 블록을 적용한, 다방향 삽입이 가능한 블록을 가진 코드 플레이 블록을 제공할 수 있다.
또한, 본 발명의 실시예에서는 실제 코딩문(제어문, 변수, 이벤트, 디버깅 등)과 유사한 구조의 블록을 제공할 수도 있고, 이로부터 흥미 유발과 코딩 개념의 학습뿐만 아니라 실제 코딩문과의 연계를 강화할 수 있다.
또한, 본 발명의 실시예에서는 언플러그드(Unplugged) 교구임에도 불구하고 실제 코딩문을 기반으로 하기 때문에 명령어 블록 배치가 유연하고 명령어 API 블록을 최소화할 수 있다.
또한, 본 발명의 실시예에서는 다양한 문제를 다양한 방법으로 해결 하기 위해 퍼즐형태의 미션보드를 제공하여 어린이들이 창의력을 발휘하여 새로운 미션(새로운 동선, 장애물 배치 등)을 개발할 수도 있고 이에 따른 다양한 해법을 체득하도록 할 수도 있다.
또한, 본 발명의 실시예에서는 코딩 블록에 LED 등을 장착하여 디버깅이 가능하다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (7)

  1. 코드 플레이 블록과 통신하는 코딩 코칭 제어기와 통신적으로 연결되는 인공지능 기반 코딩 코칭 서비스 시스템으로서,
    회원의 코딩결과 정보, 회원의 코딩 레벨 정보, 회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 데이터베이스부;
    회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기를 통해 제공하고, 상기 코딩 코칭 제어기를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 서버를 포함하는 인공지능 기반 코딩 코칭 서비스 시스템.
  2. 제1항에 있어서,
    상기 코딩 코칭 제어기는,
    상기 서버 또는 회원의 단말기와 통신하기 위한 제1 통신부;
    상기 코드 플레이 블록과 통신하기 위한 제2 통신부;
    음성에 대응하는 명령어 정보를 저장하는 저장부;
    음성을 수신하여 인식하는 음성 인식부;
    상기 음성 인식부로부터 회원의 음성을 인식하고, 인식된 음성에 대응하여 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시하도록 제어하는 코칭 제어부를 포함하는 인공지능 기반 코딩 코칭 서비스 시스템.
  3. 제2항에 있어서,
    상기 단말기는 상기 제어부의 제어에 따라 화면에 미션 정보, 코딩 코칭 정보 또는 코딩 결과 정보를 표시하는 인공지능 기반 코딩 코칭 서비스 시스템.
  4. 제3항에 있어서,
    상기 데이터베이스부는,
    회원 정보를 저장하는 회원 정보 DB;
    회원의 코딩 결과 정보를 저장하는 코딩결과 정보 DB;
    회원의 코딩 레벨을 저장하는 코딩 레벨 정보DB;
    회원의 레벨에 대응되는 미션 정보 및 미션에 대한 코딩 코칭 정보를 저장하는 코딩 정보 DB를 포함하는 인공지능 기반 코딩 코칭 서비스 시스템.
  5. 제4항에 있어서,
    상기 서버는,
    회원의 레벨에 대응하여 미션 정보 및 코딩 코칭 정보를 코딩 코칭 제어기를 통해 제공하는 코딩 코칭부;
    상기 코딩 코칭 제어기를 통해 코딩결과 정보를 수신하고, 상기 코딩 결과 정보에 따라 회원의 레벨 정보를 업데이트하는 코딩 결과 처리부를 포함하는 인공지능 기반 코딩 코칭 서비스 시스템.
  6. 제5항에 있어서,
    상기 코드 플레이 블록은,
    고유아이디를 내장하고, 적어도 하나의 커넥터를 구비하며, 실제 코드의 생성 역할을 하는 적어도 하나의 리얼코딩블록;
    고유 아이디를 내장하고, 상기 리얼코딩 블록과 접속되며, 변수값을 입력하기 위한 적어도 하나의 변수 블록;
    상기 리얼코딩블록과 접속되어 상기 리얼코딩블록에서 수신되는 아이디에 대응되는 코드를 순차적으로 실행하며, 상기 인공지능 기반 코딩 코칭 제어기에 코딩 결과를 송신하는 메인 블록을 포함하며,
    상기 변수블록은 0도, 90도, 180도 및 270도 회전된 상태중 하나로 상기 리얼코딩블록과 결합이 가능하고,
    상기 리얼코딩블록은 상기 변수블록이 결합될때의 상태에 대응하여 각기 다른 값으로 인식하는 것을 특징으로 하는 인공지능 기반 코딩 코칭 서비스 시스템.
  7. 제6항에 있어서,
    상기 메인 블록은,
    상기 리얼코딩블록 및 변수블록의 고유아이디에 대응되는 명령어 및 변수를 저장하는 메인 메모리;
    상기 리얼코딩블록과 접속하기 위한 적어도 하나의 메인커넥터;
    상기 리얼코딩블록에서 입력되는 입력값을 상기 메인 메모리를 참조하여 실행하는 메인 제어부를 포함하고,
    상기 메인 블록은 외부의 실행장치와 통신하기 위한 제1 무선 통신부를 더 포함하고, 상기 메인 제어부는 상기 제1 무선 통신부를 통해 상기 실행장치를 실행하는 제어신호를 출력하는 것을 특징으로 하고,
    상기 메인 블록은 상기 코딩 코칭 제어기와 통신하기 위한 제2 무선 통신부를 더 포함하고, 상기 메인 제어부는 상기 제2 무선 통신부를 통해 코딩 결과를 상기 코딩 코칭 제어기로 송신하는 것을 특징으로 하는 인공지능 기반 코딩 코칭 서비스 시스템.
KR1020200058977A 2020-05-18 2020-05-18 인공지능 기반 코딩 코칭 서비스 시스템 KR20210142305A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200058977A KR20210142305A (ko) 2020-05-18 2020-05-18 인공지능 기반 코딩 코칭 서비스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200058977A KR20210142305A (ko) 2020-05-18 2020-05-18 인공지능 기반 코딩 코칭 서비스 시스템

Publications (1)

Publication Number Publication Date
KR20210142305A true KR20210142305A (ko) 2021-11-25

Family

ID=78745870

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200058977A KR20210142305A (ko) 2020-05-18 2020-05-18 인공지능 기반 코딩 코칭 서비스 시스템

Country Status (1)

Country Link
KR (1) KR20210142305A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102625220B1 (ko) * 2022-08-17 2024-01-15 공주대학교 산학협력단 마이크로컨트롤러 교육용 키트

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102625220B1 (ko) * 2022-08-17 2024-01-15 공주대학교 산학협력단 마이크로컨트롤러 교육용 키트

Similar Documents

Publication Publication Date Title
KR102069096B1 (ko) 피지컬 디바이스의 직접적 원격 제어 장치
KR101843831B1 (ko) 쪼물락 코딩 블록
JP4617322B2 (ja) 自律型ロボットとの相互作用の装置と方法
KR102370502B1 (ko) 텐저블 블록 기반 증강현실 코딩 학습 시스템
KR102061786B1 (ko) 코딩블록을 이용한 코딩교육 방법
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
KR20210142305A (ko) 인공지능 기반 코딩 코칭 서비스 시스템
KR20150093584A (ko) 교육용 보드 게임 제공 방법 및 장치
KR102186719B1 (ko) 블록형 무선 코딩 명령어 입력 장치 및 방법
KR102268888B1 (ko) 다방향 삽입이 가능한 블록을 가진 쪼물락 코딩 블록
US11727819B2 (en) Interactive system for teaching sequencing and programming
CN108961979B (zh) 一种教学机器人系统和组装方法
KR20190134496A (ko) 코딩 테이블
KR20190120855A (ko) 피지컬 소프트웨어 코딩교육장치
KR102229422B1 (ko) Led 블록을 통한 코딩 학습 방법 및 시스템
Alimisis Technologies for an inclusive robotics education
KR102251867B1 (ko) 사물인터넷의 스타네트워크를 이용하여 코딩 교육을 제공하는 시스템 및 방법
CN112598970A (zh) 一种图形编程块套件系统
US11749134B2 (en) Apparatus for physical software coding training book running
KR20200077664A (ko) Rfid 태그를 이용한 코딩 교육용 스마트 토이 시스템
Dias et al. Teaching computational reasoning without a computer
Qian et al. A Block-Based Arduino Programming Platform for Developing Computational Thinking Skills for K-12 Students
Van Schoors et al. Design and Development of a Digital Personalized Learning Track: Bridging the Gap between Textual and Visual Programming.
KR102124100B1 (ko) 코딩 교육 시스템
KR102245064B1 (ko) 교육용 프로그램 코딩 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application