KR101966597B1 - 놀이형 코딩교육 방법 - Google Patents
놀이형 코딩교육 방법 Download PDFInfo
- Publication number
- KR101966597B1 KR101966597B1 KR1020180115374A KR20180115374A KR101966597B1 KR 101966597 B1 KR101966597 B1 KR 101966597B1 KR 1020180115374 A KR1020180115374 A KR 1020180115374A KR 20180115374 A KR20180115374 A KR 20180115374A KR 101966597 B1 KR101966597 B1 KR 101966597B1
- Authority
- KR
- South Korea
- Prior art keywords
- objects
- coding
- code
- user
- probability
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000003993 interaction Effects 0.000 claims abstract description 31
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000004088 simulation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
- G06Q50/2057—Career enhancement or continuing education service
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
컴퓨터에 의하여 수행되는 놀이형 코딩교육 방법에 있어서, 하나 이상의 코딩요소에 각각 대응하는 복수의 객체를 획득하는 단계, 상기 복수의 객체에 대한 사용자의 인터렉션을 획득하는 단계, 상기 인터렉션에 기초하여, 상기 복수의 객체 중 하나 이상의 객체를 선택하는 단계, 상기 선택된 객체를 배치하는 단계, 상기 배치된 객체에 대응하는 코딩요소를 포함하는 코드를 획득하는 단계, 상기 획득된 코드를 실행하는 단계 및 상기 실행 결과에 대응하는 피드백을 제공하는 단계를 포함하는, 놀이형 코딩교육 방법이 개시된다.
Description
본 발명은 놀이형 코딩교육 방법에 관한 것이다.
4차 산업혁명을 포함하는 기술동향의 변화에 따라 기존보다 코딩(프로그래밍) 기술의 중요성이 더 강조되면서, 엔지니어뿐 아니라 다양한 분야의 사람들에게도 기초적인 코딩 지식의 필요성이 인정되고 있다. 나아가, 아이들의 사고력 증진을 위해서도 논리적인 코딩 교육이 다양하게 제공되고 있다.
하지만, 코딩을 처음 배우는 학생들에게는 코딩이 어렵게 느껴지거나 쉽게 흥미를 잃을 수 있어, 놀이와 같이 흥미를 유발할 수 있는 다양한 교육방법의 제공이 요구되고 있다.
본 발명이 해결하고자 하는 과제는 놀이형 코딩교육 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 놀이형 코딩교육 방법은, 하나 이상의 코딩요소에 각각 대응하는 복수의 객체를 획득하는 단계, 상기 복수의 객체에 대한 사용자의 인터렉션을 획득하는 단계, 상기 인터렉션에 기초하여, 상기 복수의 객체 중 하나 이상의 객체를 선택하는 단계, 상기 선택된 객체를 배치하는 단계, 상기 배치된 객체에 대응하는 코딩요소를 포함하는 코드를 획득하는 단계, 상기 획득된 코드를 실행하는 단계 및 상기 실행 결과에 대응하는 피드백을 제공하는 단계를 포함한다.
또한, 상기 인터렉션을 획득하는 단계는, 상기 복수의 객체를 이용하는 게임을 실행하는 단계 및 상기 게임에 포함된 단계들에 대한 상기 사용자의 인터렉션을 획득하는 단계를 포함하고, 상기 게임에 포함된 단계들은, 배치형 게임 단계, 탐색형 게임 단계 및 확률형 게임 단계를 포함할 수 있다.
또한, 상기 배치형 게임 단계는, 상기 복수의 객체 및 상기 복수의 객체를 배치할 수 있는 배치영역을 표시하는 단계, 상기 복수의 객체 중 하나 이상의 제1 객체를 상기 배치영역의 적어도 일부에 배치하는 사용자 입력을 수신하는 단계, 상기 사용자 입력에 기초하여 상기 하나 이상의 제1 객체를 상기 배치영역에 배치하는 단계, 상기 하나 이상의 제1 객체에 각각 대응하는 하나 이상의 제1 코딩요소를 획득하는 단계 및 상기 하나 이상의 제1 객체가 배치된 위치에 기초하여 상기 코드에 상기 하나 이상의 제1 코딩요소를 배치하는 단계를 포함할 수 있다.
또한, 상기 배치영역은 기 설정된 위치에 배치된 복수의 제2 객체를 더 포함하고, 상기 탐색형 게임 단계는, 상기 제1 객체 및 상기 제2 객체가 배치된 상기 배치영역에서, 상기 배치영역에 배치된 하나 이상의 객체에 대한 상기 사용자의 선택 입력을 수신하는 단계, 상기 선택된 하나 이상의 객체에 각각 대응하는 하나 이상의 제2 코딩요소를 획득하는 단계 및 상기 선택된 하나 이상의 객체가 선택된 순서에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치하는 단계를 포함하고, 상기 배치하는 단계는, 상기 선택된 하나 이상의 객체에 적어도 하나의 상기 제1 객체가 포함되어 있는 경우, 상기 코드에서 상기 적어도 하나의 제1 객체에 대응하는 제1 코딩요소가 배치된 위치에 대한 정보를 포함하는, 기준 위치 정보를 획득하는 단계 및 상기 적어도 하나의 제1 객체와 상기 제2 객체의 선택 순서 및 상기 기준 위치 정보에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치하는 단계를 포함할 수 있다.
또한, 상기 확률형 게임단계는, 상기 복수의 객체 중 적어도 일부를 포함하는 복수의 제3 객체가 포함된 확률형 아이템을 생성하되, 상기 확률형 아이템은, 상기 사용자의 인터렉션에 기초하여 상기 복수의 제3 객체 중 하나를 기 설정된 확률로 선택하는 것인, 단계, 상기 사용자의 인터렉션에 기초하여, 상기 확률형 아이템의 이용여부를 결정하는 단계, 상기 확률형 아이템을 이용하는 경우, 상기 확률형 아이템에 기 설정된 확률에 기초하여 상기 복수의 제3 객체 중 하나를 선택하는, 단계, 상기 선택된 제3 객체에 대응하는 제3 코딩요소를 획득하는 단계, 상기 제3 코딩요소를 상기 코드에 배치하되, 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하고, 상기 사용자의 인터렉션에 기초하여, 상기 하나 이상의 후보 위치 중 하나를 기 설정된 확률로 선택하는, 단계 및 상기 제3 코딩요소를 상기 선택된 위치에 배치하는 단계를 포함할 수 있다.
또한, 상기 복수의 제3 객체 중 하나를 선택하는 단계는, 상기 사용자가 이용할 수 있는 하나 이상의 아이템을 표시하되, 상기 하나 이상의 아이템은, 상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템을 포함하는, 단계 및 상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템이 선택되는 경우, 상기 복수의 제3 객체 중 제거할 하나의 제3 객체를 선택할 수 있는 인터페이스를 표시하고, 상기 시용자의 인터렉션에 기초하여 상기 복수의 제3 객체 중 하나를 제거하고, 상기 제거된 제3 객체가 선택될 확률은 나머지 제3 객체에 균등하게 분배되는, 단계를 포함하고, 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하는 단계는, 상기 사용자의 선택 입력에 기초하여 상기 코드에서 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하는 단계 및 상기 사용자의 선택 입력에 기초하여 결정된 하나 이상의 후보 위치에 대한 선택 확률을 결정하는 단계를 포함하고, 상기 선택 확률을 결정하는 단계는, 상기 제3 코딩요소가 상기 하나 이상의 후보 위치에 배치된 결과에 따른 상기 코드의 실행 결과를 시뮬레이션하는 단계, 상기 시뮬레이션 결과에 기초하여, 상기 하나 이상의 후보 위치를 평가하는 단계, 상기 평가 결과에 기초하여 상기 하나 이상의 후보 위치에 대한 선택 확률을 결정하되, 상기 선택 확률을 결정하는 제1 모드 및 제2 모드 중 하나를 선택하도록 하는 인터페이스를 표시하고, 상기 사용자의 선택 입력에 기초하여 상기 제1 모드 및 상기 제2 모드 중 하나를 선택하고, 상기 제1 모드가 선택된 경우, 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 비례하도록 하고, 상기 제2 모드가 선택된 경우, 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 반비례하도록 하는, 단계, 상기 제3 코딩요소가 배치된 코드를 실행하는 단계, 상기 제3 코딩요소가 배치된 코드의 실행 결과를 평가하고, 평가 결과에 따른 점수를 부여하되, 상기 제1 모드가 선택된 경우에 상기 점수에 상기 제1 모드에 대응하는 제1 가중치를 부여하고, 상기 제2 모드가 선택된 경우에 상기 점수에 상기 제2 모드에 대응하는 제2 가중치를 부여하는, 단계 및 상기 점수에 기초하여 상기 사용자에게 포인트를 부여하되, 상기 포인트는 상기 확률형 아이템을 선택하는 데 이용되는, 단계를 포함하고, 상기 복수의 제3 객체는, 상기 복수의 제3 객체 각각에 대응하는 제3 코딩요소를 상기 코드에 배치하는 경우, 상기 코드가 올바른 값을 출력하도록 하는 제3 객체, 상기 코드가 잘못된 값을 출력하도록 하는 제3 객체 및 상기 코드가 실행될 수 없도록 하는 논리 오류를 발생시키는 제3 객체를 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
개시된 실시 예에 따르면, 사용자의 흥미를 유발할 수 있는 다양한 놀이형 코딩교육 방법을 제공할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 시스템을 도시한 도면이다.
도 2는 일 실시 예에 따른 놀이형 코딩교육 방법을 도시한 흐름도이다.
도 3은 배치형 게임 단계의 일 예를 도시한 도면이다.
도 4는 탐색형 게임 단계의 일 예를 도시한 도면이다.
도 5는 확률형 게임단계의 일 예를 도시한 도면이다.
도 6은 일 실시 예에 따른 확률형 아이템의 전개도이다.
도 7은 일 실시 예에 따른 실제 게임화면을 도시한 도면이다.
도 8은 일 실시 예에 따른 객체들을 도시한 도면이다.
도 9를 참조하면, 복수의 요소를 포함하는 객체들이 도시되어 있다.
도 10은 일 실시 예에 따른 객체 배치방법을 도시한 도면이다.
도 11은 일 실시 예에 따른 탐색형 게임을 도시한 도면이다.
도 12 내지 도 29는 본 발명에 따른 코딩 및 코딩지식 교육방법의 일 예를 도시한 도면들이다.
도 2는 일 실시 예에 따른 놀이형 코딩교육 방법을 도시한 흐름도이다.
도 3은 배치형 게임 단계의 일 예를 도시한 도면이다.
도 4는 탐색형 게임 단계의 일 예를 도시한 도면이다.
도 5는 확률형 게임단계의 일 예를 도시한 도면이다.
도 6은 일 실시 예에 따른 확률형 아이템의 전개도이다.
도 7은 일 실시 예에 따른 실제 게임화면을 도시한 도면이다.
도 8은 일 실시 예에 따른 객체들을 도시한 도면이다.
도 9를 참조하면, 복수의 요소를 포함하는 객체들이 도시되어 있다.
도 10은 일 실시 예에 따른 객체 배치방법을 도시한 도면이다.
도 11은 일 실시 예에 따른 탐색형 게임을 도시한 도면이다.
도 12 내지 도 29는 본 발명에 따른 코딩 및 코딩지식 교육방법의 일 예를 도시한 도면들이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 일 실시 예에 따른 시스템을 도시한 도면이다.
도 1을 참조하면, 시스템은 하나 이상의 사용자 단말(10 및 20)과 서버(100)를 포함할 수 있으나, 이에 제한되는 것은 아니다.
하나 이상의 사용자 단말(10 및 20)과 서버(100)는 상술한 컴퓨터의 일종일 수 있으며, 실시 예에 따라 서버(100)는 클라우드 서버일 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 사용자 단말(10 및 20)은 개시되는 실시 예에 따른 놀이형 코딩교육을 수행하는 학생이 이용하는 단말일 수 있고, 또한 개시되는 실시 예에 따른 놀이형 코딩교육 정보를 서버(100)에 업로드하거나, 서버(100)에서 제공되는 놀이형 코딩교육을 관리하는 교사 혹은 관리자의 단말일 수 있다.
이하 본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
예를 들어, 이하에서 개시되는 놀이형 코딩교육 방법은, 사용자 단말(10 및 20)에 의하여 수행될 수 있으나, 이하에서 개시되는 단계들 중 적어도 일부가 서버(100)에 의하여 수행되거나, 서버(100)로부터 제공되는 정보에 의하여 수행될 수 있으며, 이는 특정 주체 혹은 형태로 제한되지 않는다.
도 2는 일 실시 예에 따른 놀이형 코딩교육 방법을 도시한 흐름도이다.
단계 S100에서, 컴퓨터는 하나 이상의 코딩요소에 각각 대응하는 복수의 객체를 획득한다.
본 명세서에서, 코딩요소는 프로그램, 알고리즘 혹은 논리구조를 구성하는 구성요소를 의미한다. 예를 들어, 코딩요소는 특정 프로그래밍 언어의 프로그래밍 문장, 함수, 클래스 등을 의미할 수도 있고, 특정 동작을 수행할 수 있도록 하는 논리구조 혹은 문장을 의미할 수도 있으며, 이는 제한되지 않는다. 즉, 복수의 코딩요소를 모으면 특정 동작을 수행하는 프로그램, 논리구조 혹은 알고리즘을 완성할 수 있다.
예를 들어, 코딩요소는 특정 변수를 연산하는 동작을 나타낼 수도 있고, 로봇을 특정 위치로 이동하거나, 특정 행동을 하도록 하는 명령어를 의미할 수도 있으며, 이는 제한되지 않는다.
일 실시 예에서, 객체는 게임에서 제공되는 카드, 주사위, 블록, 캐릭터 등을 의미할 수 있으며, 이는 제한되지 않는다.
즉, 개시된 실시 예에 따른 놀이형 코딩 교육방법에서는 복수의 객체가 포함되는 게임이 제공되고, 각각의 객체는 하나 이상의 코딩요소와 연관된다.
단계 S110에서, 컴퓨터는 상기 복수의 객체에 대한 사용자의 인터렉션을 획득한다.
즉, 컴퓨터는 게임에서 제공되는 복수의 객체와 사용자와의 인터렉션을 획득할 수 있으며, 예를 들어 사용자의 인터렉션은 객체를 선택하거나 이동시키는 동작을 포함할 수 있고, 이는 사용자 입력부에 의하여 수행될 수 있다. 예를 들어, 사용자 입력은 터치, 마우스 클릭, 또는 키보드의 키 입력 등에 의하여 수행될 수 있다.
단계 S120에서, 컴퓨터는 상기 인터렉션에 기초하여, 상기 복수의 객체 중 하나 이상의 객체를 선택한다.
단계 S130에서, 컴퓨터는 상기 선택된 객체를 배치한다.
예를 들어, 컴퓨터는 게임에서 제공되는 객체들 중 사용자가 선택한 객체에 대한 정보를 획득하고, 해당 객체를 특정 위치에 배치할 수 있다. 예를 들어, 카드게임과 같이 사용자가 선택한 카드 객체를 사용자가 선택한 위치에 배치하도록 할 수 있으며, 실시 예에 따라 사용자가 선택한 캐릭터 객체를, 사용자의 입력에 따라 특정 위치로 이동하도록 할 수도 있으며, 캐릭터 객체가 특정 위치로 이동하는 과정에서 적 캐릭터나 몬스터가 등장하도록 할 수도 있고, 이 경우 캐릭터가 적 캐릭터나 몬스터를 물리쳐야 해당 위치로 이동할 수 있도록 설정될 수도 있다.
단계 S140에서, 컴퓨터는 상기 배치된 객체에 대응하는 코딩요소를 포함하는 코드를 획득한다.
예를 들어, 객체가 특정 위치에 배치되면, 컴퓨터는 해당 객체에 대응하는 코딩요소를 획득하고, 객체가 배치된 위치에 기초하여 해당 코딩요소를 코드 내에 배치한다.
단계 S150에서, 컴퓨터는 상기 획득된 코드를 실행한다.
단계 S160에서, 컴퓨터는 상기 실행 결과에 대응하는 피드백을 제공한다.
예를 들어, 사용자가 올바른 코딩요소를 선택하여 올바른 위치에 배치한 경우, 코드는 정상적으로 동작하며, 올바른 값을 출력하거나 올바른 동작을 제어할 것이다. 하지만 코딩요소가 잘못 선택되거나 잘못된 위치에 배치되는 경우, 논리 오류가 발생하거나(혹은 컴파일, 빌드 에러가 발생하거나) 잘못된 값을 출력하거나, 잘못된 동작을 제어할 수 있다.
컴퓨터는 코드의 실행 결과를 평가하고, 피드백을 제공하여 사용자의 학습을 도울 수 있다. 실시 예에 따라, 컴퓨터는 사용자가 올바른 결과를 얻도록 하는 가이드나 힌트를 제공할 수도 있다.
상술한 바와 같이, 컴퓨터는 사용자와의 인터렉션을 획득함에 있어 상기 복수의 객체를 이용하는 게임을 실행하고, 게임에 기초한 코딩교육을 제공할 수 있다.
즉, 컴퓨터는 게임에 포함된 단계들에 대한 사용자의 인터렉션을 획득할 수 있다. 게임에 포함된 단계들은 계층적으로 설정될 수 있으며, 예를 들어 크게 서로 다른 종류의 게임단계를 포함하는 대분류로 나뉘고, 이후 각각의 게임단계를 수행하기 위한 복수의 단계들로 추가로 분류될 수 있다.
예를 들어, 게임은 배치형 게임 단계, 탐색형 게임 단계 및 확률형 게임 단계로 분류될 수 있고, 각각의 게임 단계는 독립적으로 수행될 수도 있고, 순차적으로 수행될 수도 있다.
도 3은 배치형 게임 단계의 일 예를 도시한 도면이다.
도 3에 도시된 게임의 형태는 설명을 위한 예시로서 제공된 것이며, 이에 제한되는 것은 아니다.
도 3을 참조하면, 복수의 객체(200) 및 복수의 객체(200)를 배치할 수 있는 배치영역(300)이 도시되어 있다. 컴퓨터는 복수의 객체(200) 및 복수의 객체(200)를 배치할 수 있는 배치영역(300)을 표시할 수 있다.
컴퓨터는 복수의 객체 중 하나 이상의 제1 객체(210)를 상기 배치영역(300)의 적어도 일부(310)에 배치하는 사용자 입력을 수신할 수 있다.
일 실시 예에서, 배치영역(300)은 하나 이상의 배치포인트(310)를 포함할 수 있으며, 각각의 배치포인트(310)에는 순서대로 번호가 부여될 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 컴퓨터는 사용자 입력에 기초하여 상기 하나 이상의 제1 객체(210)를 상기 배치영역(300)에 배치할 수 있다.
컴퓨터는 배치된 하나 이상의 제1 객체(210)에 각각 대응하는 하나 이상의 제1 코딩요소를 획득하며, 배치영역(300) 상에서 하나 이상의 제1 객체(210)가 배치된 위치에 기초하여 코드에 하나 이상의 제1 코딩요소를 배치할 수 있다.
예를 들어, 도 3에 도시된 바와 같이 각각의 배치포인트(310)에는 번호가 부여되어 있을 수 있고, 컴퓨터는 각각의 번호에 대응하는 순서대로 각각의 제1 객체(210)에 대응하는 코딩요소들을 배치하여 코드를 완성할 수 있다.
일 실시 예에서, 코드는 제1 객체(210)에 대응하는 코딩요소들의 배열만으로 완성될 수도 있으나, 실시 예에 따라 전체 코드의 일부가 빈 상태로 제공되고, 해당 일부에 제1 코딩요소들을 배치함으로써 전체 코드를 완성하는 형태로 구성될 수도 있다.
또한, 배치영역(300)에는 제1 객체(210) 외에도 다른 객체들이 미리 배치되어 있을 수 있으며, 배치된 다른 객체들 또한 각각의 코딩요소에 대응하여, 이들을 모두 포함하는 코딩요소를 배열하여 코드를 완성할 수도 있다. 예를 들어, 도 3에 도시된 배치포인트(310)들에 각각 부여된 번호에 따라, 1번부터 16번까지 배치된 객체들에 각각 대응하는 코딩요소들을 번호에 따라 배열하여 코드를 완성할 수 있으며, 이는 자체로서 하나의 코드를 구성할 수도 있으나, 이 또한 전체 코드의 일부일 수도 있다.
도 4는 탐색형 게임 단계의 일 예를 도시한 도면이다.
도 4에 도시된 탐색형 게임 단계는 독립적으로 제공될 수도 있으며, 도 3에 도시된 배치형 게임 단계의 결과에 이어서 제공될 수도 있다.
예를 들어, 도 4에 도시된 배치영역(300)은 도 3에 도시된 배치형 게임 결과에 따라 배치영역(300)에 하나 이상의 제1 객체(210 내지 230)가 배치된 결과를 나타낸다.
일 실시 예에서, 배치영역(300)은 기 설정된 위치에 배치된 복수의 제2 객체(410 내지 450)를 더 포함할 수 있다.
탐색형 게임 단계에서, 컴퓨터는 상기 제1 객체(210 내지 230) 및 상기 제2 객체(410 내지 450)가 배치된 상기 배치영역에서, 상기 배치영역에 배치된 하나 이상의 객체에 대한 상기 사용자의 선택 입력을 수신한다.
예를 들어, 도 4에 도시된 바와 같이 객체(210, 410, 420, 430, 220, 440)가 순차적으로 선택된 경우를 가정할 수 있다.
컴퓨터는 상기 선택된 하나 이상의 객체에 각각 대응하는 하나 이상의 제2 코딩요소를 획득할 수 있다.
컴퓨터는 상기 선택된 하나 이상의 객체가 선택된 순서에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치할 수 있다.
일 실시 예에서, 상기 선택된 하나 이상의 객체(210, 410, 420, 430, 220, 440)에 적어도 하나의 상기 제1 객체(210 및 220)가 포함되어 있는 경우, 상기 코드에서 상기 적어도 하나의 제1 객체(210 및 220)에 대응하는 제1 코딩요소가 배치된 위치에 대한 정보를 포함하는, 기준 위치 정보를 획득할 수 있다.
예를 들어, 도 3에 도시된 배치형 게임 단계에서 적어도 하나의 제1 객체에 대응하는 제1 코딩요소가 코드에 이미 배치되어 있는 바, 컴퓨터는 해당 위치들에 대한 정보를 획득하고, 이를 기준 위치로 설정할 수 있다.
컴퓨터는 상기 적어도 하나의 제1 객체(210 및 220)와 상기 제2 객체(410, 420, 430 및 440)의 선택 순서 및 상기 기준 위치 정보에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치할 수 있다.
예를 들어, 컴퓨터는 코드 상에서 제1 객체(210)에 대응하는 코딩요소와, 제1 객체(220)에 대응하는 코딩요소가 배치된 사이에 제2 객체(410, 420 및 430)에 대응하는 제2 코딩요소를 배치하고, 제1 객체(220)가 배치된 위치의 다음에 제2 객체(440)에 대응하는 제2 코딩요소를 배치할 수 있다.
도 5는 확률형 게임단계의 일 예를 도시한 도면이다.
도 5에 도시된 탐색형 게임 단계는 독립적으로 제공될 수도 있으며, 도 4에 도시된 탐색형 게임 단계의 결과에 이어서 제공될 수도 있다.
확률형 게임단계에서, 컴퓨터는 상기 복수의 객체 중 적어도 일부를 포함하는 복수의 제3 객체(510 내지 560)가 포함된 확률형 아이템(500)을 생성하되, 상기 확률형 아이템(500)은, 상기 사용자의 인터렉션에 기초하여 상기 복수의 제3 객체(510 내지 560) 중 하나를 기 설정된 확률로 선택할수 있다.
예를 들어, 확률형 아이템(500)은 도 5에 도시된 바와 같은 주사위 형태일 수도 있으나, 사다리타기, 뽑기상자, 보물상자 등 다양한 형태 및 구성으로 생성될 수 있으며, 특정한 형식에 제한되는 것은 아니다.
일 실시 예에서, 컴퓨터는 상기 사용자의 인터렉션에 기초하여, 상기 확률형 아이템(500)의 이용여부를 결정할 수 있다.
또한, 상기 확률형 아이템을 이용하는 경우, 컴퓨터는 상기 확률형 아이템(500)에 기 설정된 확률에 기초하여 상기 복수의 제3 객체(510 내지 560) 중 하나를 선택할 수 있다. 예를 들어, 주사위(500)를 던져서 나온 면에 대응하는 제3 객체를 선택할 수 있다.
컴퓨터는 상기 선택된 제3 객체에 대응하는 제3 코딩요소를 획득할 수 있다.
컴퓨터는 상기 제3 코딩요소를 코드에 배치하되, 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하고, 상기 사용자의 인터렉션에 기초하여, 상기 하나 이상의 후보 위치 중 하나를 기 설정된 확률로 선택할 수 있다.
예를 들어, 사용자가 확률형 아이템(500)인 주사위를 던지는 경우 나온 주사위의 면에 대응하는 제3 코딩요소를 획득하여, 코드에 삽입할 수 있다. 이 경우, 코드가 삽입되는 위치는 기 설정되어 있을 수도 있으나, 복수의 후보 위치 중 하나에 특정 확률로 삽입될 수도 있다.
일 실시 예에서, 복수의 후보 위치는 사용자에 의하여 선택될 수도 있고, 자동으로 선택될 수도 있다.
예를 들어, 후보 위치는 도 5에 도시된 배치영역(300)에서 제1 객체(210 내지 230) 또는 제2 객체(410 내지 450)가 배치되지 아니한 위치 중에서 선택될 수 있으나, 이에 제한되는 것은 아니며, 배치영역(300) 외에 코드 자체에서 복수의 후보 위치가 결정될 수도 있다.
실시 예에 따라서, 후보 위치 또는 코딩요소를 삽입할 위치를 선택하는 과정이 각 후보 위치에 삽입할 코딩요소를 확률형 아이템(500)을 이용하여 획득하는 과정보다 선행될 수도 있다.
예를 들어, 총 6개의 후보 위치가 결정되고, 컴퓨터는 사용자와 인터렉션을 통해 다시 확률형 아이템(500)을 이용하여 하나의 위치를 결정할 수 있다.
컴퓨터는 제3 코딩요소를 결정된 위치에 배치할 수 있다.
일 실시 예에서, 컴퓨터가 확률형 아이템(500)을 이용하여 복수의 제3 객체 중 하나를 선택하는 단계에서, 컴퓨터는 상기 사용자가 이용할 수 있는 하나 이상의 아이템을 표시하되, 상기 하나 이상의 아이템은, 상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템을 포함할 수 있다.
예를 들어, 사용자는 확률형 아이템(500)에 표시된 복수의 제3 객체에 대응하는 코딩요소를 확인하고, 코드의 특정 위치에 삽입될 경우 논리 오류를 발생시키거나, 잘못된 결과를 도출할 것으로 판단되는 코딩요소를 하나 이상 선택할 수 있다. 이 경우, 사용자는 해당 코딩요소에 대응하는 제3 객체를 확률형 아이템(500)에서 제거함으로써, 올바른 코딩요소를 배치할 확률을 높일 수 있다.
이에 따라, 상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템이 선택되는 경우, 컴퓨터는 상기 복수의 제3 객체 중 제거할 하나의 제3 객체를 선택할 수 있는 인터페이스를 표시하고, 상기 시용자의 인터렉션에 기초하여 상기 복수의 제3 객체 중 하나를 제거하고, 상기 제거된 제3 객체가 선택될 확률은 나머지 제3 객체에 균등하게 분배되도록 할 수 있다.
또한, 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하는 단계에서, 컴퓨터는 상기 사용자의 선택 입력에 기초하여 상기 코드에서 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정할 수 있으며, 상기 사용자의 선택 입력에 기초하여 결정된 하나 이상의 후보 위치에 대한 선택 확률을 결정할 수 있다.
예를 들어, 상기 선택 확률을 결정하는 단계는, 컴퓨터가 상기 제3 코딩요소가 상기 하나 이상의 후보 위치에 배치된 결과에 따른 상기 코드의 실행 결과를 시뮬레이션하고, 상기 시뮬레이션 결과에 기초하여, 상기 하나 이상의 후보 위치를 평가할 수 있다.
예를 들어, 컴퓨터는 해당 코딩요소가 코드의 특정 위치에 배치되는 경우 코드의 실행가능성 및 실행결과를 미리 시뮬레이션하여 평가할 수 있다.
컴퓨터는 상기 평가 결과에 기초하여 상기 하나 이상의 후보 위치에 대한 선택 확률을 결정하되, 상기 선택 확률을 결정하는 제1 모드 및 제2 모드 중 하나를 선택하도록 하는 인터페이스를 표시할 수 있다.
컴퓨터는 상기 사용자의 선택 입력에 기초하여 상기 제1 모드 및 상기 제2 모드 중 하나를 선택할 수 있다.
일 실시 예에서, 컴퓨터는 상기 제1 모드가 선택된 경우, 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 비례하도록 할 수 있다. 반면에, 상기 제2 모드가 선택된 경우, 컴퓨터는 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 반비례하도록 할 수 있다.
즉, 컴퓨터는 시뮬레이션 결과 코드가 올바르게 실행될 것으로 판단되는 후보 위치에 대하여 더 높은 점수를 부여할 수 있는데, 제1 모드가 선택된 경우 더 높은 점수를 받은 후보 위치가 선택될 확률을 더 높일 수 있고, 제2 모드가 선택된 경우 더 높은 점수를 받은 후보 위치가 선택될 확률을 더 낮출 수 있다.
일 실시 예에서, 제3 코딩요소의 선택 자체가 잘못되어 어떤 후보 위치에 놓이더라도 올바르게 코드가 동작할 수 없는 경우가 있을 수 있다. 이 경우, 컴퓨터는 사용자에게 추가 찬스를 부여할 수 있다. 예를 들어, 컴퓨터는 제3 코딩요소의 적어도 일부를 수정할 수 있는 인터페이스를 표시하고, 사용자로 하여금 제3 코딩요소의 적어도 일부를 직접 수정하도록 할 수 있다.
또한, 컴퓨터는 제3 코딩요소가 배치된 코드를 실행하고, 상기 제3 코딩요소가 배치된 코드의 실행 결과를 평가하고, 평가 결과에 따른 점수를 부여할 수 있다.
일 실시 예에서, 컴퓨터는 상기 제1 모드가 선택된 경우에 상기 점수에 상기 제1 모드에 대응하는 제1 가중치를 부여하고, 상기 제2 모드가 선택된 경우에 상기 점수에 상기 제2 모드에 대응하는 제2 가중치를 부여할 수 있다.
예를 들어, 제2 가중치는 제1 가중치보다 높게 설정될 수 있다. 제2 모드의 경우 더 높은 점수를 받을 수 있는 후보 위치가 더 낮은 확률로 선택되는 것이므로, 이에 따른 가점을 부여하도록 제2 가중치가 제1 가중치보다 더 크게 설정될 수 있다.
컴퓨터는 상기 점수에 기초하여 상기 사용자에게 포인트를 부여하되, 상기 포인트는 상기 확률형 아이템을 선택하는 데 이용될 수 있다.
즉, 사용자는 포인트를 이용하여 확률형 아이템을 선택할 수 있고, 나아가 확률형 아이템의 선택지를 일부 제거할 수 있는 아이템 또한 선택하여 이용할 수 있게 된다.
일 실시 예에서, 상기 복수의 제3 객체는, 상기 복수의 제3 객체 각각에 대응하는 제3 코딩요소를 상기 코드에 배치하는 경우, 상기 코드가 올바른 값을 출력하도록 하는 제3 객체와, 상기 코드가 잘못된 값을 출력하도록 하는 제3 객체 및 상기 코드가 실행될 수 없도록 하는 논리 오류를 발생시키는 제3 객체를 각각 하나 이상 포함할 수 있다.
이러한 코딩요소의 배치는 난이도에 따라 다르게 설정될 수 있으며, 예를 들어 낮은 난이도의 게임에서는 논리 오류를 발생시키는 객체는 포함되지 않거나, 반대로 잘못된 값을 출력하도록 하는 객체는 포함되지 않도록 할 수 있다.
높은 난이도의 게임에서는, 잘못된 값을 출력하도록 하는 객체와, 논리 오류를 발생시키는 객체, 그리고 프로그래밍 문법에 맞지 않는 객체 등이 모두 포함될 수 있다.
일 실시 예에서, 컴퓨터는 사용자로 하여금 하나 이상의 제3 객체에 대응하는 코딩요소를 입력하도록 할 수도 있다. 즉, 사용자는 직접 코딩요소를 입력하지만, 이는 확률에 의하여 선택될 수도 있고, 선택되지 않을 수도 있다.
도 6은 일 실시 예에 따른 확률형 아이템의 전개도이다.
도 6을 참조하면, 도 5에 도시된 확률형 아이템(500)인 주사위가 전개된 모습이 도시되어 있다.
확률형 아이템(500)에 포함되는 제3 객체(510 내지 560), 즉 주사위의 각각의 면은 하나 이상의 서로 다른 코딩요소에 대응할 수 있으며, 코딩요소는 각각의 면 안의 특정 공간(512 내지 562)에 표시되거나, 링크가 제공될 수 있다.
사용자는 특정 공간(512 내지 562)에 표시된 코딩요소를 수정하거나, 위치를 변경하거나, 각각의 제3 객체(510 내지 560)가 선택될 확률을 수정할 수 있다.
또한, 사용자는 특정 공간(512 내지 562)에 표시되는 인터페이스를 이용하여, 아이템을 활용함으로써 특정 객체를 제거할 수 있다. 예를 들어, 사용자가 특정 객체를 제거할 수 있는 아이템을 특정 공간(512)에 부착하는 경우, 제3 객체(510)는 확률형 아이템(500)에서 제거될 수 있다.
도 7은 일 실시 예에 따른 실제 게임화면을 도시한 도면이다.
도 7을 참조하면, 배치영역(300)과 확률형 아이템(500)이 도시되며, 확률형 아이템(500)의 결과로 획득되는 객체는 배치영역(300)에 배치될 수 있다.
도 8은 일 실시 예에 따른 객체들을 도시한 도면이다.
도 8을 참조하면, 복수의 객체(600)가 표시되며, 각각의 객체(610 내지 640)는 카드 형태로 표현될 수 있으나, 이에 제한되는 것은 아니다. 각각의 객체(610 내지 640)는 서로 다른 코딩요소 혹은 내용을 포함할 수 있으며, 이러한 내용들은 다시 다른 객체에서 조합되거나 분리될 수 있다.
도 9를 참조하면, 복수의 요소를 포함하는 객체들이 도시되어 있다.
도 9에 도시된 객체들(700)을 참조하면, 각각 복수의 요소가 포함되어 있는 것을 확인할 수 있다.
예를 들어, 사용자의 선택에 따라 하나의 객체(710 내지 740)가 선택될 수 있으며, 각각의 객체가 복수의 코딩요소와 연관될 수 있고, 이 경우 확률형 아이템(500)을 이용하여 복수의 코딩요소 중 하나를 선택할 수 있다.
예를 들어, 확률형 아이템(500)은 0 또는 1을 출력으로 할 수 있고, 확률형 아이템의 출력에 기초하여 선택된 객체(710 내지 740) 에 포함된 코딩요소들 중 하나가 선택될 수 있다.
도 10은 일 실시 예에 따른 객체 배치방법을 도시한 도면이다.
도 10을 참조하면, 배치영역(800)에 포함된 제1 배치영역(800) 및 제2 배치영역(810)이 도시되어 있다.
도 10에 도시된 일 예는 배치형 게임단계에 대응할 수 있으며, 서로 다른 코딩요소에 대응하는 객체들이 배치된 모습을 의미할 수 있다.
각각의 객체는 서로 다른 배치영역에 배치될 수 있으며, 배치된 순서 및 각각의 객체가 의미하는 바 혹은 연관된 코딩요소에 기초하여 코드가 완성되고, 시뮬레이션 혹은 테스트될 수 있다.
도 11은 일 실시 예에 따른 탐색형 게임을 도시한 도면이다.
도 11을 참조하면, 서로 다른 객체들이 나열된 배치영역(900)이 도시되어 있다.
사용자는 서로 다른 객체들을 연결함으로써 특정 그림을 그릴 수 있으며, 예를 들어 도 11에 포함된 서로 다른 숫자를 포함하는 객체들 중 1을 포함하는 객체만을 연결하면 행성(예를 들어, 토성) 모양이 그려질 수 있다.
이 때, 행성 모양을 구성하는 객체들 각각에 대응하는 코딩요소를 모아서 코드를 완성할 수 있으며, 행성 모양을 구성하지 않는 객체들에 포함된 코딩요소가 코드에 추가되면 오류를 일으키도록 설정될 수 있다.
즉, 사용자는 올바른 그림을 그림으로써 올바른 코드를 완성시킬 수 있고, 이에 따른 코드의 실행결과에 따른 피드백을 획득할 수 있다.
도 12 내지 도 29는 본 발명에 따른 코딩 및 코딩지식 교육방법의 일 예를 도시한 도면들이다.
도 12 내지 도 29에 도시된 교육방법은 프로그래밍되어 컴퓨터에 의하여 제공될 수 있으며, 실시 예에 따라 그 자체로서 교재로 제공될 수도 있다.
도 12 내지 도 29에 도시된 게임방법은 상술한 게임을 이용한 코딩교육 방법과 함께 제공될 수 있으나, 그 형태는 제한되지 않는다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10 및 20 : 사용자 단말
100 : 서버
100 : 서버
Claims (6)
- 컴퓨터에 의하여 수행되는 놀이형 코딩교육 방법에 있어서,
복수의 객체를 이용하는 게임을 실행하는 단계;
상기 게임에 포함된 배치형 게임 단계, 탐색형 게임 단계, 확률형 게임 단계, 중 적어도 하나에 대한 사용자의 인터렉션을 획득하는 단계;
상기 게임에 포함된 단계들에 대한 사용자의 인터렉션에 대응되는 게임 단계를 실행하는 단계;
상기 실행된 게임 단계에서, 하나 이상의 코딩요소에 각각 대응하는 복수의 객체를 획득하는 단계;
상기 복수의 객체에 대한 사용자의 인터렉션을 획득하는 단계;
상기 인터렉션에 기초하여, 상기 복수의 객체 중 하나 이상의 객체를 선택하는 단계;
상기 선택된 객체를 게임 화면 상에 배치하는 단계;
상기 배치된 객체에 대응하는 코딩요소를 포함하는 코드를 획득하는 단계;
상기 획득된 코드를 실행하는 단계; 및
상기 실행 결과에 대응하는 피드백을 제공하는 단계; 를 포함하는,
놀이형 코딩교육 방법. - 삭제
- 제1 항에 있어서,
상기 놀이형 코딩교육 방법은,
상기 복수의 객체 및 상기 복수의 객체를 배치할 수 있는 배치영역을 표시하는 단계;를 더 포함하고,
상기 게임 단계가 상기 배치형 게임 단계인 경우,
상기 인터렉션을 획득하는 단계는,
상기 복수의 객체 중 하나 이상의 제1 객체를 상기 배치영역의 적어도 일부에 배치하는 사용자 입력을 수신하는 단계;를 포함하고
상기 배치하는 단계는,
상기 사용자 입력에 기초하여 상기 하나 이상의 제1 객체를 상기 배치영역에 배치하는 단계;를 포함하고,
상기 코딩요소를 포함하는 코드를 획득하는 단계는,
상기 하나 이상의 제1 객체에 각각 대응하는 하나 이상의 제1 코딩요소를 획득하는 단계;를 포함하고,
상기 놀이형 코딩교육 방법은,
상기 하나 이상의 제1 객체가 배치된 위치에 기초하여 상기 코드에 상기 하나 이상의 제1 코딩요소를 배치하는 단계; 를 더 포함하는,
놀이형 코딩교육 방법. - 제3 항에 있어서,
상기 배치영역은 기 설정된 위치에 배치된 복수의 제2 객체를 더 포함하고,
상기 게임 단계가 상기 탐색형 게임 단계인 경우,
상기 인터렉션을 획득하는 단계는,
상기 제1 객체 및 상기 제2 객체가 배치된 상기 배치영역에서, 상기 배치영역에 배치된 하나 이상의 객체에 대한 상기 사용자의 선택 입력을 수신하는 단계;를 포함하고,
상기 코딩요소를 포함하는 코드를 획득하는 단계는,
상기 선택된 하나 이상의 객체에 각각 대응하는 하나 이상의 제2 코딩요소를 획득하는 단계; 를 포함하고
상기 놀이형 코딩교육 방법은,
상기 선택된 하나 이상의 객체가 선택된 순서에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치하는 단계; 를 더 포함하고,
상기 코드에 배치하는 단계는,
상기 선택된 하나 이상의 객체에 적어도 하나의 상기 제1 객체가 포함되어 있는 경우, 상기 코드에서 상기 적어도 하나의 제1 객체에 대응하는 제1 코딩요소가 배치된 위치에 대한 정보를 포함하는, 기준 위치 정보를 획득하는 단계; 및
상기 적어도 하나의 제1 객체와 상기 제2 객체의 선택 순서 및 상기 기준 위치 정보에 기초하여 상기 하나 이상의 제2 코딩요소를 상기 코드에 배치하는 단계; 를 포함하는,
놀이형 코딩교육 방법. - 제4 항에 있어서,
상기 게임 단계가 상기 확률형 게임단계인 경우,
상기 놀이형 코딩교육 방법은,
상기 복수의 객체 중 적어도 일부를 포함하는 복수의 제3 객체가 포함된 확률형 아이템을 생성하되, 상기 확률형 아이템은, 상기 사용자의 인터렉션에 기초하여 상기 복수의 제3 객체 중 하나를 기 설정된 확률로 선택하는 것인, 단계;
상기 사용자의 인터렉션에 기초하여, 상기 확률형 아이템의 이용여부를 결정하는 단계;
상기 확률형 아이템을 이용하는 경우, 상기 확률형 아이템에 기 설정된 확률에 기초하여 상기 복수의 제3 객체 중 하나를 선택하는, 단계;
상기 선택된 제3 객체에 대응하는 제3 코딩요소를 획득하는 단계; 및
상기 제3 코딩요소를 상기 코드에 배치하되, 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하고, 상기 사용자의 인터렉션에 기초하여, 상기 하나 이상의 후보 위치 중 하나를 기 설정된 확률로 선택하는, 단계; 및
상기 제3 코딩요소를 상기 선택된 위치에 배치하는 단계; 를 더 포함하는,
놀이형 코딩교육 방법. - 제5 항에 있어서,
상기 복수의 제3 객체 중 하나를 선택하는 단계는,
상기 사용자가 이용할 수 있는 하나 이상의 아이템을 표시하되, 상기 하나 이상의 아이템은, 상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템을 포함하는, 단계; 및
상기 복수의 제3 객체 중 하나를 제거할 수 있는 아이템이 선택되는 경우, 상기 복수의 제3 객체 중 제거할 하나의 제3 객체를 선택할 수 있는 인터페이스를 표시하고, 상기 사용자의 인터렉션에 기초하여 상기 복수의 제3 객체 중 하나를 제거하고, 상기 제거된 제3 객체가 선택될 확률은 나머지 제3 객체에 균등하게 분배되는, 단계; 를 포함하고,
상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하는 단계는,
상기 사용자의 선택 입력에 기초하여 상기 코드에서 상기 제3 코딩요소를 배치할 하나 이상의 후보 위치를 결정하는 단계; 및
상기 사용자의 선택 입력에 기초하여 결정된 하나 이상의 후보 위치에 대한 선택 확률을 결정하는 단계; 를 포함하고,
상기 선택 확률을 결정하는 단계는,
상기 제3 코딩요소가 상기 하나 이상의 후보 위치에 배치된 결과에 따른 상기 코드의 실행 결과를 시뮬레이션하는 단계;
상기 시뮬레이션 결과에 기초하여, 상기 하나 이상의 후보 위치를 평가하는 단계;
상기 평가 결과에 기초하여 상기 하나 이상의 후보 위치에 대한 선택 확률을 결정하되, 상기 선택 확률을 결정하는 제1 모드 및 제2 모드 중 하나를 선택하도록 하는 인터페이스를 표시하고, 상기 사용자의 선택 입력에 기초하여 상기 제1 모드 및 상기 제2 모드 중 하나를 선택하고, 상기 제1 모드가 선택된 경우, 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 비례하도록 하고, 상기 제2 모드가 선택된 경우, 상기 하나 이상의 후보 위치에 대한 선택 확률은, 상기 평가 결과에 반비례하도록 하는, 단계;
상기 제3 코딩요소가 배치된 코드를 실행하는 단계;
상기 제3 코딩요소가 배치된 코드의 실행 결과를 평가하고, 평가 결과에 따른 점수를 부여하되, 상기 제1 모드가 선택된 경우에 상기 점수에 상기 제1 모드에 대응하는 제1 가중치를 부여하고, 상기 제2 모드가 선택된 경우에 상기 점수에 상기 제2 모드에 대응하는 제2 가중치를 부여하는, 단계; 및
상기 점수에 기초하여 상기 사용자에게 포인트를 부여하되, 상기 포인트는 상기 확률형 아이템을 선택하는 데 이용되는, 단계; 를 포함하고,
상기 복수의 제3 객체는,
상기 복수의 제3 객체 각각에 대응하는 제3 코딩요소를 상기 코드에 배치하는 경우,
상기 코드가 올바른 값을 출력하도록 하는 제3 객체;
상기 코드가 잘못된 값을 출력하도록 하는 제3 객체; 및
상기 코드가 실행될 수 없도록 하는 논리 오류를 발생시키는 제3 객체; 를 더 포함하는,
놀이형 코딩교육 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180115374A KR101966597B1 (ko) | 2018-09-27 | 2018-09-27 | 놀이형 코딩교육 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180115374A KR101966597B1 (ko) | 2018-09-27 | 2018-09-27 | 놀이형 코딩교육 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101966597B1 true KR101966597B1 (ko) | 2019-08-13 |
Family
ID=67624449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180115374A KR101966597B1 (ko) | 2018-09-27 | 2018-09-27 | 놀이형 코딩교육 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101966597B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210101006A (ko) * | 2020-02-07 | 2021-08-18 | 동의대학교 산학협력단 | 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법 |
KR20220066764A (ko) * | 2020-11-16 | 2022-05-24 | 주식회사 비피 | Diy 전자 키트를 통한 코딩 소스 교육 플랫폼 시스템 |
KR20220093419A (ko) | 2020-12-28 | 2022-07-05 | 이건경 | 코딩 교육 방법 |
CN116841519A (zh) * | 2022-06-21 | 2023-10-03 | 北京浩泰思特科技有限公司 | 一种代码编写教学评估方法及系统 |
KR20240132141A (ko) | 2023-02-24 | 2024-09-03 | 주식회사 푸딩 | 텍스트 기반 코딩블록 생성 개발모듈 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160020388A (ko) * | 2014-08-13 | 2016-02-23 | 우유원 | 객체 지향적 블록 기반 프로그래밍을 위한 소프트웨어 개발 방법, 장치 및 컴퓨터 판독가능 매체 |
KR20180007199A (ko) | 2016-07-12 | 2018-01-22 | (주)새로운교육 | 코딩교육 시스템, 애플리케이션 시스템 및 그 제공방법 |
KR20180013487A (ko) * | 2016-07-29 | 2018-02-07 | 이광재 | 소프트웨어 교육 로봇 시스템 |
KR20180037631A (ko) * | 2016-10-04 | 2018-04-13 | (주)모션블루 | 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법 |
-
2018
- 2018-09-27 KR KR1020180115374A patent/KR101966597B1/ko active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160020388A (ko) * | 2014-08-13 | 2016-02-23 | 우유원 | 객체 지향적 블록 기반 프로그래밍을 위한 소프트웨어 개발 방법, 장치 및 컴퓨터 판독가능 매체 |
KR20180007199A (ko) | 2016-07-12 | 2018-01-22 | (주)새로운교육 | 코딩교육 시스템, 애플리케이션 시스템 및 그 제공방법 |
KR20180013487A (ko) * | 2016-07-29 | 2018-02-07 | 이광재 | 소프트웨어 교육 로봇 시스템 |
KR20180037631A (ko) * | 2016-10-04 | 2018-04-13 | (주)모션블루 | 블록을 이용한 코딩 교육 서비스 제공 장치 및 방법 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210101006A (ko) * | 2020-02-07 | 2021-08-18 | 동의대학교 산학협력단 | 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법 |
KR102426185B1 (ko) * | 2020-02-07 | 2022-07-28 | 동의대학교 산학협력단 | 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법 |
KR20220066764A (ko) * | 2020-11-16 | 2022-05-24 | 주식회사 비피 | Diy 전자 키트를 통한 코딩 소스 교육 플랫폼 시스템 |
KR102547351B1 (ko) * | 2020-11-16 | 2023-06-23 | 주식회사 비피 | Diy 전자 키트를 통한 코딩 소스 교육 플랫폼 시스템 |
KR20220093419A (ko) | 2020-12-28 | 2022-07-05 | 이건경 | 코딩 교육 방법 |
CN116841519A (zh) * | 2022-06-21 | 2023-10-03 | 北京浩泰思特科技有限公司 | 一种代码编写教学评估方法及系统 |
CN116841519B (zh) * | 2022-06-21 | 2024-06-11 | 北京浩泰思特科技有限公司 | 一种代码编写教学评估方法及系统 |
KR20240132141A (ko) | 2023-02-24 | 2024-09-03 | 주식회사 푸딩 | 텍스트 기반 코딩블록 생성 개발모듈 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101966597B1 (ko) | 놀이형 코딩교육 방법 | |
Price et al. | Comparing textual and block interfaces in a novice programming environment | |
Sudarmilah et al. | Tech review: Game platform for upgrading counting ability on preschool children | |
De Souza et al. | Data mining framework to analyze the evolution of computational thinking skills in game building workshops | |
Werner et al. | Using computer game programming to teach computational thinking skills | |
Dwyer et al. | Computational thinking for physics: Programming models of physics phenomenon in elementary school | |
Ishihara et al. | A proposal of statement fill-in-blank problem using program dependence graph in Java programming learning assistant system | |
Pavkov et al. | Comparison of game engines for serious games | |
Pérez-Colado et al. | UAdventure: Simplifying narrative serious games development | |
Hainey et al. | An evaluation of the introduction of games-based construction learning in upper primary education using a developed game codification scheme for scratch | |
Owen et al. | Learning analytics for games | |
Kirby et al. | Introduction to game AI | |
Amiri-Chimeh et al. | Rings: A game with a purpose for test data generation | |
Conati et al. | Comparing representations for learner models in interactive simulations | |
Fogarty et al. | Exploring structural behavior and component detailing in virtual reality | |
Areizaga Blanco et al. | Patterns in mainstream programming games | |
Rajeev et al. | Educational game-theme based instructional module for teaching introductory programming | |
Nassal | A general framework for software project management simulation games | |
Selby | Four approaches to teaching programming | |
Ternik et al. | Learning programming concepts through maze game in Scratch | |
KR20200067573A (ko) | 학습지 기반 소프트웨어 교육 방법, 장치 및 시스템 | |
Yip et al. | Analyzing student performance with personalized study path and learning trouble ratio | |
Allsopp et al. | Programming concepts in playful programming products | |
Eagle et al. | Exploring player behavior with visual analytics. | |
WO2020139135A1 (ru) | Способ контроля и оценки знаний |