KR102245064B1 - 교육용 프로그램 코딩 방법 - Google Patents

교육용 프로그램 코딩 방법 Download PDF

Info

Publication number
KR102245064B1
KR102245064B1 KR1020190167811A KR20190167811A KR102245064B1 KR 102245064 B1 KR102245064 B1 KR 102245064B1 KR 1020190167811 A KR1020190167811 A KR 1020190167811A KR 20190167811 A KR20190167811 A KR 20190167811A KR 102245064 B1 KR102245064 B1 KR 102245064B1
Authority
KR
South Korea
Prior art keywords
block
command
event
program
user
Prior art date
Application number
KR1020190167811A
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 KR1020190167811A priority Critical patent/KR102245064B1/ko
Application granted granted Critical
Publication of KR102245064B1 publication Critical patent/KR102245064B1/ko

Links

Images

Classifications

    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 교육에 사용될 수 있는 프로그램의 코딩 방법에 관한 것으로, 보다 구체적으로 단위 프로그램 명령어에 해당하는 블록을 사용자 인터페이스 화면에 활성화하며 활성화한 블록 중 사용자에 의해 선택된 블록을 편집 영역으로 드래그 앤 드랍 방식으로 순차적으로 배열함으로써 어린이도 용이하게 원하는 프로그램을 코딩할 수 있으며, 사용자 스스로 블록들을 배열하여 코딩한 프로그램을 실행하여 결과물을 즉각적으로 사용자에게 제공함으로써 사용자는 코딩한 프로그램의 논리적 순서를 용이하고 직관적으로 이해할 수 있는 프로그램의 코딩 방법에 관한 것이다.

Description

교육용 프로그램 코딩 방법{Method for educating program coding}
본 발명은 교육에 사용될 수 있는 프로그램의 코딩 방법에 관한 것으로, 보다 구체적으로 단위 프로그램 명령어에 해당하는 블록을 사용자 인터페이스 화면에 활성화하며 활성화한 블록 중 사용자에 의해 선택된 블록을 편집 영역으로 드래그 앤 드랍 방식으로 순차적으로 배열함으로써 어린이도 용이하게 원하는 프로그램을 코딩할 수 있으며, 사용자 스스로 블록들을 배열하여 코딩한 프로그램을 실행하여 결과물을 즉각적으로 사용자에게 제공함으로써 코딩한 프로그램의 논리적 순서를 용이하고 직관적으로 이해하며 사용자에 프로그램 코딩을 교육할 수 있는 프로그램의 코딩 방법에 관한 것이다.
최근 들어 인공 지능, 로봇 기술, 생명 과학 등을 기반으로 하는 4차 산업혁명에 대한 관심이 증폭되면서, 4차 산업혁명 관련 기술의 기본이 되는 코딩 교육에 대한 수요가 증가하고 있다.
코딩 교육에 대한 관심 증가, 교육 수요 증가 추세와 달리, 종래 코딩 교육은 특정 컴퓨터 언어와 관련된 강의를 학습자의 현재 수준, 상태, 창의성, 독창성 등을 고려하지 않고, 일방적으로 학습자에게 제공하는 주입식 교육으로 일관함으로써, 학습자의 학습 의욕을 저하시키고 있는 실정이다.
특히 어린 아이들에게 컴퓨터 프로그래밍 언어를 교육할 때, 컴퓨터 프로그래밍 언어 자체보다는 창작하려는 응용 프로그램이 어떠한 논리적 흐름으로 전개되는지를 스스로 파악할 수 있도록 교육하는게 우선순위에 있어야 함에도 불구하고, 코딩 교육을 담당하는 강사 역시 전문성이 떨어져 어린 아이들에 특화된 컴퓨터 프로그램의 교육이 불가능하며, 아동의 눈높이에 맞춘 코딩교육 솔루션이 부족한 것이 현실이다.
어린이를 위한 코딩 교육은 어린이의 눈높이에 맞춰서 진행되어야 하기 때문에 알고리즘 원리를 놀이와 게임 등으로 자연스럽게 이해할 수 있는 다양한 코딩 교육용 프로그램이 요구된다.
본 발명의 배경기술로 한국공개특허 제10-2018-0128196호가 있다.
본 발명은 위에서 언급한 종래 프로그램의 코딩 교육 방법이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 단위 프로그램 명령어에 해당하는 블록을 사용자 인터페이스 화면에 활성화하며 활성화한 블록 중 사용자에 의해 선택된 블록을 편집 영역으로 드래그 앤 드랍 방식으로 순차적으로 배열하여 프로그램을 코딩할 수 있는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 목적은 사용자 스스로 블록들을 배열하여 코딩한 프로그램을 실행하여 결과물을 즉각적으로 아이들에게 제공하여 사용자가 코딩한 프로그램의 논리적 순서를 이해할 수 있는 프로그램의 코딩 방법을 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 목적은 단위 프로그램 명령어에 해당하는 블록을 명령 블록과 이벤트 블록으로 구분하여 사용자가 제어 흐름을 다양하게 구상할 수 있는 프로그램의 코딩 방법을 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 목적은 기준 명령 블록의 종단 식별자 또는 기준 이벤트 블록의 종단 식별자를 이용하여 기준 명령 블록과 종단 식별자, 기준 이벤트 블록과 종단 식별자로 이루어진 명령어 그룹을 용이하게 코딩하거나 직관적으로 구별하도록 프로그램을 코딩할 수 있는 방법을 제공하는 것이다.
본 발명의 목적을 달성하기 위하여, 본 발명에 따른 프로그램의 코딩 방법은 프로그램을 코딩하는 사용자 인터페이스 화면의 편집 창에 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 명령 블록이 입력되는 단계와, 사용자 인터페이스 화면의 편집 창에 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 이벤트 블록이 입력되는 단계와, 명령 블록과 이벤트 블록의 순차적인 배치 위치에 기초하여 명령 블록과 이벤트 블록으로부터 프로그램을 코딩하는 단계를 포함하는 것을 특징으로 한다.
여기서 명령 블록은 단독 명령 블록과 복합 명령 블록 중 어느 하나이며, 복합 명령 블록은 기준 명령 블록과 기준 명령 블록에 종속되는 종속 명령 블록으로 구성되는 것을 특징으로 한다.
여기서 이벤트 블록은 기준 이벤트 블록과 기준 이벤트 블록에 종속되는 종속 이벤트 블록으로 구성되는 것을 특징으로 한다.
본 발명에 따른 프로그램의 코딩 방법은 기준 명령 블록과 기준 명령 블록에 연결된 기준 명령 블록의 종단 식별자를 판단하여 기준 명령 블록과 기준 명령 블록의 종단 식별자 사이에 위치하는 명령 블록을 종속 명령 블록으로 판단하며, 기준 이벤트 블록과 기준 이벤트 블록에 연결된 기준 이벤트 블록의 종단 식별자를 판단하여 기준 이벤트 블록과 기준 이벤트 블록의 종단 식별자 사이에 위치하는 이벤트 블록을 종속 이벤트 블록으로 판단하는 것을 특징으로 한다.
본 발명에 따른 프로그램의 코딩 방법은 명령 블록을 구성하는 단독 명령 블록 또는 복합 명령 블록의 순차적인 배치 위치에 따라 명령 블록에 매핑된 동작이 수행되며, 이벤트 블록을 구성하는 기준 이벤트 블록과 종속 이벤트 블록의 순차적인 배치 위치에 따라 이벤트 블록에 매핑된 동작이 수행되는데, 이벤트 블록에 매핑된 동작이 명령 블록에 매핑된 동작에 우선하는 것을 특징으로 한다.
본 발명에 따른 프로그램의 코딩 방법에서 사용자 인터페이스 화면의 선택 창에 다수의 명령 블록이 디스플레이되며 선택 영역에 디스플레이되는 다수의 명령 블록 중 사용자 명령에 의해 선택된 명령 블록이 편집 영역에 순차적으로 배치되거나, 사용자 인터페이스 화면의 선택 창에 다수의 이벤트 블록이 디스플레이되며 선택 영역에 디스플레이되는 다수의 이벤트 블록 중 사용자 명령에 의해 선택된 이벤트 블록이 편집 영역에 순차적으로 배치되는 것을 특징으로 한다.
여기서 선택 창에 디스플레이되는 명령 블록은 아이템 등장하기, 기다리기, 반복하기, 종료하기, 소리 재생하기, 텍스트 보여주기, 이미지 보여주기, 변수 설정하기 중 적어도 어느 하나이며, 선택 창에 디스플레이되는 이벤트 블록은 버튼을 누르면, 아이템과 충돌하면, 만약, 만약 그렇지 않으면 중 적어도 어느 하나인 것을 특징으로 한다.
본 발명에 따른 프로그램의 코딩 방법은 다음과 같은 효과를 가진다.
첫째, 본 발명에 따른 프로그램의 코딩 방법은 단위 프로그램 명령어에 해당하는 블록을 사용자 인터페이스 화면에 활성화하며 활성화한 블록 중 사용자에 의해 선택된 블록을 편집 영역으로 드래그 앤 드랍 방식으로 순차적으로 배열함으로써, 어린이도 용이하게 원하는 프로그램을 코딩할 수 있다.
둘째, 본 발명에 따른 프로그램의 코딩 방법은 사용자 스스로 블록들을 배열하여 코딩한 프로그램을 실행하여 결과물을 즉각적으로 사용자에게 제공함으로써, 사용자는 코딩한 프로그램의 논리적 순서를 용이하고 직관적으로 이해할 수 있다.
셋째, 본 발명에 따른 프로그램의 코딩 방법은 단위 프로그램 명령어에 해당하는 블록을 명령 블록과 이벤트 블록으로 구분함으로써, 명령 블록과 이벤트 블록을 이용하여 사용자가 제어 흐름을 다양하게 구상할 수 있다.
넷째, 본 발명에 따른 프로그램의 코딩 방법은 기준 명령 블록의 종단 식별자 또는 기준 이벤트 블록의 종단 식별자를 이용함으로써, 기준 명령 블록과 종단 식별자 또는 기준 이벤트 블록과 종단 식별자로 이루어진 명령어 그룹을 용이하게 코딩하거나 직관적으로 구별할 수 있다.
도 1은 본 발명에 따른 프로그램 코딩 시스템을 설명하기 위한 도면이다.
도 2는 본 발명에 따라 사용자 단말기에서 구현되는 프로그램의 코딩 장치를 설명하기 위한 기능 블록도이다.
도 3은 본 발명에 따른 코딩 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 동작 엔진 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 5는 본 발명에 따른 프로그램의 코딩 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명에 따라 명령 블록 또는 이벤트 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면을 도시하고 있다.
도 7은 선택창에 활성화되는 블록의 일 예를 도시하고 있다.
도 8은 테마만 선택되고 편집창에 아무런 명령 블록이나 이벤트 블록이 배치되지 않은 경우 배경 화면의 일 예를 도시하고 있다.
도 9는 본 발명에 따라 명령 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면의 일 예를 도시하고 있다.
도 10은 코딩된 프로그램에 따라 재생되는 화면의 일 예를 도시하고 있다.
도 11은 본 발명에 따라 명령 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면의 다른 예를 도시하고 있다.
도 12는 코딩된 프로그램에 따라 재생되는 화면의 다른 예를 도시하고 있다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
이하 첨부한 도면을 참고로 본 발명에 따른 프로그램의 코딩 방법에 대해 보다 구체적으로 살펴본다.
도 1은 본 발명에 따른 프로그램 코딩 시스템을 설명하기 위한 도면이다.
도 1을 참고로 보다 구체적으로 살펴보면, 네트워크(30)에는 사용자 단말기(10)와 관리 서버(50)가 접속되어 있다. 여기서 네트워크(30)는 사용자 단말기(10)와 관리 서버(50) 사이에서 데이터를 송수신하는 다양한 종류의 유선 또는 무선 네트워크가 사용될 수 있다.
사용자 단말기(10)는 관리 서버(50)에서 제공하는 프로그램 코딩 애플리케이션을 다운로드받아 실행할 수 있으며 생성된 프로그램을 구현하여 사용자에 출력하는 디스플레이부를 구비하는 개인용 컴퓨터, 노트북, PDA, 스마트폰 등이 사용될 수 있다.
관리 서버(50)는 사용자 단말기(10)로부터 수신한 회원 정보에 기초하여 사용자를 회원으로 등록하며, 사용자 단말기로 프로그램 코딩 애플리케이션을 제공하거나 프로그램 코딩 애플리케이션을 구현하는데 필요한 추가 컨텐츠를 제공하고, 사용자 단말기(10)에서 작성된 프로그램을 저장하는 서버를 의미한다.
도 2는 본 발명에 따라 사용자 단말기에서 구현되는 프로그램의 코딩 장치를 설명하기 위한 기능 블록도이다.
도 2를 참고로 보다 구체적으로 살펴보면, 사용자 인터페이스부(110)는 사용자 명령을 입력하는 수단으로 사용자 인터페이스부(110)를 통해 사용자는 메뉴를 선택하거나 테마를 선택하기 위한 사용자 명령, 사용자 인터페이스 화면의 선택 창에 활성화된 다수의 명령 블록 또는 이벤트 블록을 선택하기 위한 사용자 명령, 게임 기능을 설정하기 위한 사용자 명령을 입력한다.
코딩 모듈(150)은 사용자 명령에 의해 선택된 테마에 해당하는 배경화면, 선택된 테마에 매핑되어 있는 아이템 정보, 캐릭터 정보 등을 데이터베이스에서 추출하며 사용자 명령에 의해 사용자 인터페이스 화면의 편집 창에 배열된 블록을 이용하여 프로그램을 코딩한다. 바람직하게, 동작 엔진 모듈(170)은 기저장되어 있는 다수의 테마 배경화면 중 사용자 명령에 의해 선택된 테마 배경화면에 코딩된 프로그램에 따라 아이템이나 캐릭터를 디스플레이(190)에 출력 제어한다.
여기서 선택 창에 활성화되는 블록은 명령 블록과 이벤트 블록으로 구분되며 명령 블록 또는 이벤트 블록은 자연어로 이루어지는데, 코딩 모듈(150)은 명령 블록 또는 이벤트 블록에 해당하는 프로그램 명령어를 추출하며 추출한 프로그램 명령어를 컴파일하여 프로그램을 생성한다. 이와 같이 명령 블록 또는 이벤트 블록을 자연어로 구성함으로써, 사용자가 프로그램 명령어를 모르거나 익숙하지 않더라도 자연어에 기반하여 명령 블록 또는 이벤트 블록을 순차적으로 배치하는 것만으로도 용이하고 직관적으로 프로그램을 생성할 수 있으며, 코딩 모듈(150)은 명령 블록 또는 이벤트 블록에 해당하는 프로그램 명령어를 추출하여 추출한 프로그램 명령어를 컴파일하여 프로그램을 생성한다.
동작 엔진 모듈(170)은 코딩 모듈(150)로부터 제공받은 프로그램 및 사용자 인터페이스부(110)를 통해 입력된 사용자 명령에 따라 배경화면에서 아이템 또는 캐릭터의 동작을 제어하기 위한 제어 신호를 생성하며 제어 신호에 따라 배경화면에 존재하는 아이템 또는 캐릭터를 동작시키며, 배경화면과 객체의 동작은 디스플레이부(190)를 통해 사용자에 디스플레이된다.
도 3은 본 발명에 따른 코딩 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 3을 참고로 보다 구체적으로 살펴보면, 블록 식별부(151)는 선택 창에 활성화된 블록들 중 사용자에 의해 선택되어 편집 창에 배치되는 블록의 식별자 또는 종단 식별자에 기초하여 블록 종류를 식별한다.
여기서 블록은 명령 블록과 이벤트 블록으로 구분된다. 명령 블록은 단독 명령 블록과 복합 명령 블록으로 구분되는데, 복합 명령 블록은 기준 명령 블록과 기준 명령 블록에 종속되는 종속 명령 블록으로 구분된다. 한편, 이벤트 블록은 기준 이벤트 블록과 기준 이벤트 블록에 종속되는 종속 이벤트 블록으로 구분된다.
한편, 실행조건 판단부(155)는 선택된 테마에 따라 선택된 블록별 실행 조건을 판단한다. 여기서 실행 조건은 각 테마별 그리고 블록별 선택할 수 있는 아이템 종류, 캐릭터 종류, 블록의 실행 조건 등을 의미한다.
코딩부(151)는 편집 창에 배치된 블록의 종류, 배치된 블록의 순서 및 실행 조건에 기초하여 해당하는 프로그램 명령어를 추출하며, 추출한 프로그램 명령어로 이루어진 프로그램을 코딩한다. 여기서 코딩부(151)는 기준 명령 블록과 기준 명령 블록에 연결된 기준 명령 블록의 종단 식별자를 판단하여 기준 명령 블록과 기준 명령 블록의 종단 식별자 사이에 위치하는 명령 블록을 종속 명령 블록으로 판단하거나, 기준 이벤트 블록과 기준 이벤트 블록에 연결된 기준 이벤트 블록의 종단 식별자를 판단하여 기준 이벤트 블록과 기준 이벤트 블록의 종단 식별자 사이에 위치하는 이벤트 블록을 종속 이벤트 블록으로 판단한다.
여기서 코딩부(151)는 명령 블록을 구성하는 단독 명령 블록 또는 복합 명령 블록의 순차적인 배치 위치에 따라 명령 블록에 매핑된 동작이 수행되거나 이벤트 블록을 구성하는 기준 이벤트 블록과 종속 이벤트 블록의 순차적인 배치 위치에 따라 이벤트 블록에 매핑된 동작이 수행되도록 프로그램을 코딩하는데, 이벤트 블록에 매핑된 동작이 명령 블록에 매핑된 동작에 우선되도록 코딩한다.
도 4는 본 발명에 따른 동작 엔진 모듈의 일 예를 설명하기 위한 기능 블록도이다.
도 4를 참고로 보다 구체적으로 살펴보면, 동작 제어부(171)는 사용자 명령에 따라 선택된 테마에 해당하는 배경화면, 캐릭터를 추출하여 추출한 배경화면과 캐릭터를 디스플레이부에 디스플레이 제어한다.
동작 제어부(171)는 코딩한 프로그램에 의해 생성되는 제어 신호 또는 입력된 사용자 명령에 따라 배경화면에 존재하는 객체(175)를 동작시킨다. 여기서 배경화면에 존재하는 객체(175)는 자동 객체, 조작 객체, 고정 객체 및 제어 객체를 포함하는데, 본 발명이 적용되는 분야에 따라 다양한 종류의 객체가 포함될 수 있다.
여기서 자동 객체는 배경화면에서 기설정된 동작을 수행하는 객체로 별도의 사용자 제어 명령이 없더라도 기설정된 이동 패턴과 속도로 계속해서 움직이는 객체일 수 있다. 조작 객체는 디스플레이부에 디스플레이된 조이스틱, 버튼 등을 통해 입력되는 사용자 명령에 따라 동작하는 객체로 예를 들어 사용자 명령에 따라 이동하는 캐릭터일 수 있다. 고정 객체는 배경화면에서 움직이거나 동작하지 않고 고정 배치되어 있는 객체일 수 있다. 제어 객체는 배경화면에서 사용자 명령과 프로그램에 따라 동작하는 객체로 예를 들어 프로그램에 따라 등장하거나 이동하는 아이템일 수 있다.
도 5는 본 발명에 따른 프로그램의 코딩 방법을 설명하기 위한 흐름도이다.
도 5를 참고로 보다 구체적으로 살펴보면, 프로그램을 코딩하는 사용자 인터페이스 화면의 편집 창에 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 명령 블록이 입력된다(S110). 사용자 인터페이스 화면의 선택 창에는 다수의 명령 블록이 활성화되어 디스플레이되는데, 사용자는 선택 창에 디스플레이된 명령 블록 중 적어도 1개의 명령 블록을 선택하여 드래드 앤 드롭(drag-and-drop)의 방식으로 편집 창에 배치하는 방식으로 명령 블록을 입력할 수 있다.
사용자 인터페이스 화면의 편집 창에 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 이벤트 블록이 입력된다(S130). 사용자 인터페이스 화면의 선택 창에는 다수의 이벤트 블록이 활성화되어 디스플레이되는데, 사용자는 선택 창에 디스플레이된 이벤트 블록 중 적어도 1개의 이벤트 블록을 선택하여 드래드 앤 드롭(drag-and-drop)의 방식으로 편집 창에 배치하는 방식으로 이벤트 블록을 입력할 수 있다.
편집 창에 배치된 명령 블록 또는 이벤트 블록의 종류, 명령 블록과 이벤트 블록의 순차적인 배치 위치, 기준 명령 블록의 종단 식별자 또는 기준 이벤트 블록의 종단 식별자에 기초하여 명령 블록과 이벤트 블록에 해당하는 프로그램 명령어를 추출하여 프로그램을 코딩한다(S150).
코딩한 프로그램을 실행하여 프로그램의 제어 신호 또는 프로그램의 아이템 또는 캐릭터를 제어하기 위한 사용자 명령에 따라 프로그램을 실행 제어한다(S170).
도 6은 본 발명에 따라 명령 블록 또는 이벤트 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면을 도시하고 있다.
도 6을 참고로 살펴보면, 인터페이스 화면은 선택 창(S1), 편집 창(S2) 및 설정 창(S3)으로 구분되어 있다.
선택창(S1)에는 다수의 명령 블록과 다수의 이벤트 블록이 활성화되어 디스플레이되는데, 사용자는 선택 스크롤 버튼을 통해 다수의 명령 블록 또는 다수의 이벤트 블록 중 적어도 1개의 블록을 선택할 수 있다.
한편 편집창(S2)에는 선택창(S1)에서 사용자에 의해 선택된 명령 블록 또는 이벤트 블록이 순차적으로 배열되는데 편집창(S2)은 명령 블록이 배열되는 명령 영역과 이벤트 블록이 배열되는 이벤트 영역으로 구분된다. 여기서 명령 영역은 시작 블록과 시작 블록에 연결된 시작 블록의 종단 식별자(E1)로 구분되며, 이벤트 영역은 이벤트 블록과 이벤트 블록에 연결된 이벤트 블록의 종단 식별자(E3)로 구분된다.
여기서 명령 영역에는 적어도 1개 이상의 단독 명령 블록 또는 복합 명령 블록이 배치되는데, 단독 명령 블록은 1개의 명령 블록으로 소정 명령 동작을 수행하는 명령 블록을 의미하며 복합 명령 블록은 기준 명령 블록과 기준 명령 블록에 연결된 기준 명령 블록의 종단 식별자 사이에 배치되는 종속 명령 블록으로 소정 명령 동작을 수행하는 명령 블록을 의미한다.
여기서 이벤트 영역에는 기준 이벤트 블록과 기준 이벤트 블록에 연결된 기준 이벤트 블록의 종단 식별자 사이에 배치된 종속 이벤트 블록이 배치되어, 기준 이벤트 블록과 종속 이벤트 블록을 통해 소정 이벤트 동작을 수행하도록 구성된다.
한편, 설정창(S3)에는 게임 기능을 설정하거나, 명령 블록 또는 이벤트 블록을 통해 선택된 캐릭터 또는 아이템 등이 디스플레이된다.
도 7은 선택창에 활성화되는 블록의 일 예를 도시하고 있는데, 도 7(a)에 도시되어 있는 바와 같이 명령 블록에는 아이템 등장하기, 기다리기 등의 다수의 명령 블록이 활성화되어 디스플레이되며, 도 7(b)에 도시되어 있는 바와 같이 이벤트 블록에는 버튼을 누르면, 아이템과 반응하면 등의 다수의 이벤트 블록이 활성화되어 디스플레이된다.
도 8은 테마만 선택되고 편집창에 아무런 명령 블록이나 이벤트 블록이 배치되지 않은 경우 배경 화면의 일 예를 도시하고 있다. 편집창에 아무런 명령 블록이나 이벤트 블록이 배치되지 않았기 때문에, 배경화면만이 디스플레이된다.
도 9는 본 발명에 따라 명령 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면의 일 예를 도시하고 있다.
도 9에 도시되어 있는 바와 같이, 명령 영역은 시작 블록과 시작 블록의 종단 식별자 사이에 배치된 블록으로 구성되는데, 명령 영역에는 명령 블록 중 "캐릭터 등장하기", "반복하기", "아이템 등장하기", "기다리기", "기다리기" 및 "종료하기"의 명령 블록이 선택되어 순차적으로 배치된다. 여기서 각각의 명령 블록에는 선택된 테마에 해당하는 객체를 선택하기 위한 세부 선택창이 활성화된다. 예를 들어 우주여행 테마를 선택하는 경우, "캐릭터 등장하기"라는 명령 블록에는 우주여행 테마에 할당된 캐릭터 중 1개의 캐릭터를 선택하기 위하 세부 선택창이 활성화된다.
여기서 "캐릭터 등장하기", "10초 기다리기" 및 "종료하기"는 단독 명령 블록이다. 한편 "8번 반복하기"와 이에 연속된 종단 식별자에 기초하여, "8번 반복하기", "아이템 등장하기" 및 "1초 기다리기"는 복합 명령 블록을 구성한다.
코딩 모듈은 순차적으로 배치된 명령 블록 순서, 명령 블록의 종류, 실행 조건에 해당하는 프로그램 명령어를 추출하여 프로그램을 코딩하며, 동작 엔진 모듈은 코딩된 프로그램 또는 입력된 사용자 명령에 따라 제어 신호를 생성하여 캐릭터 또는 아이템의 동작을 디스플레이부에 출력 제어한다.
도 9에서 설명한 인터페이스 화면에서 시작 명령이 입력되는 경우, 도 10과 같은 동영상이 재생된다.
도 11은 본 발명에 따라 명령 블록을 이용하여 프로그램을 코딩하는 인터페이스 화면의 다른 예를 도시하고 있다.
도 11에 도시되어 있는 바와 같이, 명령 영역은 시작 블록과 시작 블록의 종단 식별자 사이에 배치된 블록으로 구성되는데, 명령 영역에는 명령 블록 중 "캐릭터 등장하기", "반복하기", "아이템 등장하기", "기다리기", "기다리기" 및 "종료하기"의 명령 블록이 선택되어 순차적으로 배치된다.
여기서 "캐릭터 등장하기", "10초 기다리기" 및 "종료하기"는 단독 명령 블록이다. 한편 "8번 반복하기"와 이에 연속된 종단 식별자에 기초하여, "8번 반복하기", "아이템 등장하기" 및 "1초 기다리기"는 복합 명령 블록을 구성한다.
한편 명령 영역에 포함되지 않은 블록은 이벤트 블록으로 인식되는데, "아이템과 반응하면"이라는 기준 이벤트 블록과 기준 이벤트 블록의 종단 식별자 사이에 배치된 "소리 재생하기" 및 "종료하기"라는 종속 이벤트 블록으로 이벤트 블록을 구성한다.
여기서 각각의 이벤트 블록에는 선택된 테마에 해당하는 객체를 선택하기 위한 세부 선택창이 활성화된다. 예를 들어 우주여행 테마를 선택하는 경우, "아이템과 반응하면"라는 이베트 블록에는 우주여행 테마에 할당된 아이템 중 1개의 아이템를 선택하기 위하 세부 선택창이 활성화되며, 우주여행 테마에 할당된 반응 중 1개의 반응을 선택하기 위한 세부 선택창이 활성화된다.
도 11에서 설명한 인터페이스 화면에서 시작 명령이 입력되는 경우, 도 12과 같은 동영상이 재생된다.
도 10과 도 12에 도시되어 있는 바와 같이, "아이템 등장하기"라는 블록이 선택되는 경우, 우주여행 테마에 할당된 모든 아이템이 디스플레이되며 디스플레이된 아이템에서 1개의 아이템이 선택될 수 있다. 아이템이 선택되는 경우 다수의 레인 중 랜덤하게 선택된 레인으로 선택된 아이템이 등장하는 방식으로 재생된다. 즉 도 10에 도시되어 있는 바와 같이 1개의 "아이템 등장하기" 블록이 별도의 "기다리기" 블록없이 배치되는 경우 다수의 레인에서 랜덤하게 선택된 레인에 아이템이 계속해서 등장하도록 재생되며, 도 12에 도시되어 있는 바와 같이 1개의 "아이템 등장하기" 블록이 "1초 기다리기" 블록과 연속하여 배치되는 경우 다수의 레인에서 랜덤하게 선택된 레인에 1초 간격으로 아이템이 계속해서 등장하도록 재생된다.
한편, 상술한 본 발명의 실시 예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 사용자 단말기 30: 네트워크
50: 관리 서버 110: 사용자 인터페이스부
150: 코딩 모듈 170: 화면 엔진 모듈
190: 디스플레이 151: 코딩부
153: 블록 식별부 155: 실행 조건 판단부
171: 동작 제어부 175: 객체

Claims (7)

  1. 테마를 선택하기 위한 사용자 명령이 입력되는 단계;
    선택한 테마에 따라 실행 조건을 판단하며 판단한 실행 조건에 따라 선택한 테마에 매핑되어 있는 아이템 또는 캐릭터를 선택하기 위한 사용자 명령이 입력되는 단계;
    프로그램을 코딩하는 사용자 인터페이스 화면의 편집 창에 선택한 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 명령 블록이 입력되는 단계;
    상기 사용자 인터페이스 화면의 편집 창에 선택한 캐릭터 또는 아이템의 동작을 제어하기 위해 자연어로 구성된 이벤트 블록이 입력되는 단계;
    상기 명령 블록과 상기 이벤트 블록의 순차적인 배치 위치에 기초하여 상기 명령 블록과 상기 이벤트 블록으로부터 프로그램을 코딩하는 단계; 및
    선택한 테마에 선택한 아이템 또는 캐릭터를 코딩한 프로그램에 따라 제어되도록 디스플레이하는 단계를 포함하며,
    상기 명령 블록은 단독 명령 블록과 복합 명령 블록 중 어느 하나로, 상기 복합 명령 블록은 기준 명령 블록과 상기 기준 명령 블록에 종속되는 종송 명령 블록으로 구성되며,
    상기 이벤트 블록은 기준 이벤트 블록과 상기 기준 이벤트 블록에 종속되는 종속 이벤트 블록으로 구성되며,
    상기 기준 명령 블록과 상기 기준 명령 블록에 연결된 상기 기준 명령 블록의 종단 식별자를 판단하여 상기 기준 명령 블록과 상기 기준 명령 블록의 종단 식별자 사이에 위치하는 명령 블록을 종속 명령 블록으로 판단하며,
    상기 기준 이벤트 블록과 상기 기준 이벤트 블록에 연결된 상기 기준 이벤트 블록의 종단 식별자를 판단하여 상기 기준 이벤트 블록과 상기 기준 이벤트 블록의 종단 식별자 사이에 위치하는 이벤트 블록을 종속 이벤트 블록으로 판단하며,
    여기서 실행 조건은 테마별 또는 블록별 선택할 수 있는 아이템의 종류, 캐릭터 및 블록인 것을 특징으로 하는 프로그램의 코딩 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 명령 블록을 구성하는 단독 명령 블록 또는 복합 명령 블록의 순차적인 배치 위치에 따라 상기 명령 블록에 매핑된 동작이 수행되며,
    상기 이벤트 블록을 구성하는 기준 이벤트 블록과 종속 이벤트 블록의 순차적인 배치 위치에 따라 상기 이벤트 블록에 매핑된 동작이 수행되는데,
    상기 이벤트 블록에 매핑된 동작이 상기 명령 블록에 매핑된 동작에 우선하는 것을 특징으로 하는 프로그램의 코딩 방법.
  6. 제 5 항에 있어서,
    상기 사용자 인터페이스 화면의 선택 창에 다수의 명령 블록이 디스플레이되며 선택 영역에 디스플레이되는 다수의 명령 블록 중 사용자 명령에 의해 선택된 명령 블록이 편집 영역에 순차적으로 배치되거나,
    상기 사용자 인터페이스 화면의 선택 창에 다수의 이벤트 블록이 디스플레이되며 선택 영역에 디스플레이되는 다수의 이벤트 블록 중 사용자 명령에 의해 선택된 이벤트 블록이 편집 영역에 순차적으로 배치되는 것을 특징으로 하는 프로그램의 코딩 방법.
  7. 제 6 항에 있어서,
    상기 선택 창에 디스플레이되는 명령 블록은 아이템 등장하기, 기다리기, 반복하기, 종료하기, 소리 재생하기, 텍스트 보여주기, 이미지 보여주기, 변수 설정하기 중 적어도 어느 하나이며,
    상기 선택 창에 디스플레이되는 이벤트 블록은 버튼을 누르면, 아이템과 충돌하면, 만약, 만약 그렇지 않으면 중 적어도 어느 하나인 것을 특징으로 하는 프로그램의 코딩 방법.
KR1020190167811A 2019-12-16 2019-12-16 교육용 프로그램 코딩 방법 KR102245064B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190167811A KR102245064B1 (ko) 2019-12-16 2019-12-16 교육용 프로그램 코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190167811A KR102245064B1 (ko) 2019-12-16 2019-12-16 교육용 프로그램 코딩 방법

Publications (1)

Publication Number Publication Date
KR102245064B1 true KR102245064B1 (ko) 2021-04-28

Family

ID=75721154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190167811A KR102245064B1 (ko) 2019-12-16 2019-12-16 교육용 프로그램 코딩 방법

Country Status (1)

Country Link
KR (1) KR102245064B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069035A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 장치
KR20190069036A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069035A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 장치
KR20190069036A (ko) * 2017-12-11 2019-06-19 김진욱 알고리즘 생성 방법

Similar Documents

Publication Publication Date Title
Flannery et al. Designing ScratchJr: Support for early childhood learning through computer programming
US8177639B2 (en) Controlling an interactive story through manipulation of simulated character mental state
Hirst et al. What is the best programming environment/language for teaching robotics using Lego Mindstorms?
Cross et al. A visual robot-programming environment for multidisciplinary education
Csapó Placing event-action-based visual programming in the process of computer science education
US11727824B2 (en) System and method for teaching computer programming
KR102095951B1 (ko) 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
KR20200099428A (ko) 모바일에서 연동 가능한 코딩 교육 서비스 제공 방법 및 장치
Banerjee et al. Empowering children to rapidly author games and animations without writing code
US20220076587A1 (en) A computer program product and method for teaching computer programming
Utesch et al. Pic2Program-An educational android application teaching computational thinking
CN108762878A (zh) 一种应用程序互动界面生成方法、装置、设备及存储介质
KR102245064B1 (ko) 교육용 프로그램 코딩 방법
KR20050031525A (ko) 지능형 로봇의 컨텐츠 제작용 저작툴 및 이를 이용한지능형 로봇의 컨텐츠 제작 방법
Good Novice programming environments: Lowering the barriers, supporting the progression
KR20200003437A (ko) 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
US5678013A (en) Multi-type subroutines for graphical rewrite rules
Tsur Scratch Microworlds: introducing novices to scratch using an interest-based, open-ended, scaffolded experience
Federici et al. A constructionist approach to computer science
Vlieg Scratch by Example: Programming for All Ages
KR102198824B1 (ko) 피지컬 소프트웨어 코딩 교육 교재 실행 장치
Beer et al. Hello app inventor!: Android programming for kids and the rest of us
Shokouhi et al. Children programming analysis; Kodu and story-telling
McCue Getting started with coding: get creative with code!
Mayerová et al. The programming environment for the lego wedo robotic construction set

Legal Events

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