az801952.vo.msecnd.net · web view또한 수업에서 불필요할 수 있는 기능인...

18
마마마마마마마 마마마 EPL 마 마 마 마마마마마 Make code 마마 마마마 마마마마마 마마마 마마마마마마 마마마 마마마마마 마마 마마 마마 마마마마 마마마 마마마 마마 마마마 마마마마 마마마마 마마마마마 마마마마 마마마마. 마마마마 마마마 마마마 마 마 마마 마마마마마마마마 마마마 마마마마 마마마마마 마마마 마마마마 마마마마 마마마 마마마마, 마마 마마 마마마마마마마 마마마 마마마 마 마마마마 마마마마, 마마마 마마마마 마마마 마마마 마 마마 마마마 마마마 마 마마마 마마마마. 마마 마마 마마마 마마마마마 마마마 마마마마 마마마마마마마마 마마마마 마마마 마마마마마. 마마마마마마마마 마마 마마마마마 마마마마, 마마마마 마마 마마마마마 마마마마마. 마마 마마 마마마마마마 마마마 마마 마 마마마마마마 마마마 마마 마마 마마 마마마마마마 마마마마마마 마마마 마마마 마마마마 마마마마마마 마마마 마마마 EPL 마마 마마마마 마마 TIP 마마마마마마 마마마 마마마 마마마마마마 마마마 마마마마 마마마 마마 마마마마마. 마마마 마마 마마마마 마마마 마마마마 마마마마마마 마마마 마마마마 마마마마 마마 마마마마. 마마마마마마 마마마 마마마 마마마마마 마마마마 마마마 마마마 마마마마마마. 마마 마마마 마마마마 마마마마마, 마마 마 마마 마마마마 마마 마마 마마마마. 마마‧마마 마마마마 마마 마마마 마마 마마 마마마 마마마 마마마 ‘마마마마 마마’마 마마 마마 마마마 마마마 마 마마마마. 마마 마마마 마 마 마마마 마마마, 마마마 PPT

Upload: others

Post on 29-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

마인크래프트로 배우는 EPL

개 요

본 주제에서는 Make code라는 교육용 프로그래밍 언어를 마인크래프트 교육용 버전이라는 게임 환경 속에 적용하는 방법과 사례를 통해 컴퓨팅 사고력을 적용하여 활용하도록 구성되어 있습니다. 학생들의 흥미와 동기를 끌 수 있는 마인크래프트라는 게임을 활용하여 소프트웨어 교육을 재미있게 가르치는 방법을 알아보고, 이를 통해 게임중심수업은 어떻게 구성될 수 있는지를 생각하여, 실제로 교수학습 환경에 활용할 수 있는 역량을 기르는 데 목적이 있습니다.

학습 목표

⚫교육용 프로그래밍 언어를 활용하여 마인크래프트에서 조작하는 방법을 이해합니다.

⚫마인크래프트만을 위한 코드블록을 알아보고, 활용하는 수업 아이디어를 제시합니다.

학습 흐름

① 마인크래프트 교육용 버전 및 메이크코드의 소개와 둘의 연동 설명

② 메이크코드를 마인크래프트 교육용 버전에 적용하기

③ 마인크래프트 교육용 버전의 EPL 교육 활용방안

강의 TIP

⚫마인크래프트 교육용 버전은 마인크래프트 게임을 교육에의 활용을 위한 버전입니다. 따라서 보다 효과적인 학습을 위해서는 마인크래프트 게임의 사용법을 숙지하는 것이 좋습니다.

⚫마인크래프트 교육용 버전을 플레이하기 위해서는 인터넷 환경이 필수적입니다. 같은 인터넷 환경으로 묶여있다면, 게임 상 같은 공간에서 만날 수도 있습니다.

⚫교수‧학습 상황에서 게임 요소가 너무 커서 제한할 필요가 있다면 ‘클래스룸 모드’를 통해 게임 기능을 관리할 수 있습니다.

학습 준비물

강 사

개인용 컴퓨터, 강의용 PPT

수강생

개인용 컴퓨터, 윈도우10

4.1 메이크코드와 마인크래프트 교육용 버전

가. 마인크래프트의 교육 활용의 가능성

1) 게임기반학습(GBL)으로서의 마인크래프트

게임기반학습(Game-Based Learning)이란 교육 내용과 컴퓨터 게임의 결합을 말하며, 이러한 결합을 통해 학습자가 흥미롭게 학습과 수행을 하고, 학습목표에 도달할 수 있는 교수학습 체제입니다.(Prensky, 2001). 게임기반학습의 궁극적인 목적은 학습자의 흥미를 통한 학습에 있는데, 이러한 게임의 요소가 들어간 학습 사례는 많이 있었고, 교육적 효과성을 밝히는 것 또한 많은 논문에서 이루어져 왔습니다(송상호, 손병국, 2015).

마인크래프트는 대표적인 샌드박스형 게임입니다. 특정한 게임 목표를 통해 자신의 케릭터를 성장해나가는 RPG게임과 달리, 특정한 목표가 없이 사용자에게 무한한 자유를 주어 플레이하는 것을 샌드박스형 게임이라 합니다. 게임의 전개에 있어서도 목표를 달성하는 성취감보다는 자신의 아바타로 가상 환경을 탐험하는 가상 체험을 중요하게 여깁니다. 때문에 샌드박스형 게임에서 중요한 것은 가상 세계의 구현인데, 마인크래프트는 다양한 블록과 레드스톤이라는 전기회로 구조, 먹이사슬과 같은 생태계가 잘 구현되어 있어, 플레이어로 하여금 게임에 몰입할 수 있도록 도와줍니다.

게임기반학습에서 학습자의 교육적 효과성을 높이는 가장 큰 이유는 학습에의 몰입에 있습니다(Stephan, 2015). 그러나 게임 활동 자체에 치중되거나 부모님이 게임에 부정적인 의견을 제시하는 경우 그 실효성이 떨어지는 경향이 있다는 결과가 있습니다(박은경 외 3인, 2009). 따라서 게임에 명확한 학습목표를 주고, 그 외 방해되는 게임 요소를 제거하는 것이 마인크래프트라는 게임을 이용한 게임기반학습에서의 성패를 좌우한다고 할 수 있습니다.

2) 마인크래프트 교육용 버전의 가능성

마인크래프트라는 샌드박스형 게임에 교육 목표를 제시한 수업은 게임기반학습에서 의의를 찾을 수 있습니다. 무엇보다 중요한 것은 게임이 재미있어서 학생들이 몰입할 수 있어야한다는 것인데, 현재 초등학생들이 가장 많이 하고 있는 게임이며, 직접적으로 게임을 하지 않더라도 게임하는 것을 유튜브를 통해 시청하는 등 간접적으로 게임에 접하고 있습니다(정여진[KBS 뉴스], 2016).

마인크래프트는 가상세계가 잘 꾸며져 있기에, 학습에서 시뮬레이션으로서의 가치를 가집니다. 사회나 과학교과에서 현실세계의 제약 때문에 직접 하지 못하였던 학습을 마인크래프트 내에서 할 수 있는 것입니다. 한편, 메이크코드(Makecode)라는 프로그래밍 프레임워크를 통해 학생들은 블록형 코딩을 할 수 있으며, 동시에 이 코드를 자바스크립트로 전환하여 텍스트 코딩도 할 수 있습니다. 그리고 메이크코드와 마인크래프트를 이어주는 코드커넥션(Code Connection)을 통해 학생들이 직접 만든 코드를 마인크래프트에 적용할 수도 있어, EPL 교육의 가능성을 엿볼 수 있습니다.

마인크래프트는 본래 게임에서 출발하였기에 게임에의 과몰입으로 인한 학습방해를 낮출 필요가 있습니다. 그래서 교육용 버전에 적용되는 프로그램이 클래스룸 모드(Classrooom mode)인데, 교사가 학생들에게 메시지를 보낼 수 있으며, 학생들의 케릭터 위치를 조정하고, 특정 행동을 못하도록 하고, 때로는 게임 전체를 일시정지 하는 등의 게임 관리를 할 수 있습니다. 이로써 게임 요소를 적절히 조절하여 소프트웨어 교육에 몰입하여 학습할 수 있도록 합니다.

나. 메이크코드(Makecode)

메이크코드는 마이크로소프트 사에서 만든 오픈소스 기반 프레임워크로, 컴퓨터과학(Conputer Science, CS) 교육에 목적을 둔 웹기반 프로그래밍 서비스입니다. 다시 말해 특정한 도구나 프로그램을 위한 프로그래밍 도구가 아니라 교육을 목적으로 한 프로그래밍 도구입니다.

기본적으로 구글블로키(Google Blockly)를 기반으로 한 블록형 코딩을 할 수 있으며, 이를 버튼만 클릭하면 자바스크립트로 전환하도록 하여 텍스트 코딩 교육을 위한 수단으로도 만들어져 있습니다. 기본적으로 오픈소스 기반의 프로그래밍 도구이기에 다양한 피지컬 보드와의 연동도 가능합니다. 대표적으로 마이크로비트(micro:bit)와 서킷플레이그라운드(Circuit Playground Express) 등이 있습니다. 또한 이러한 피지컬컴퓨팅을 위한 도구가 없을 경우에는 코딩한 것을 웹페이지에서 볼 수 있는 시뮬레이션 기능을 기본적으로 제공합니다.

피지컬 보드 외에 마인크래프트로도 연동이 가능한데, 이것은 코드커넥션을 통해서 가능합니다. 흔히 EPL 교육에서 사용하는 순차, 반복, 조건 구조를 위한 블록들을 모두 사용가능하며 게임에 특화된 몬스터, 에이전트, 빌더라는 블록들도 있어, 보다 마인크래프트에 몰입하여 코딩하는 것을 도와줄 수 있습니다.

다. 마인크래프트 교육용 버전 활용 준비

1) 마인크래프트 교육용 버전

마인크래프트 교육용 버전 자체는 마인크래프트 게임과 동일한 프로그램 요소를 가지고 있습니다. 기본적으로 다양한 블록을 이용하여 짓고 싶은 것들을 짓고, 필요한 도구를 만들어서 게임 속에서 사는 것이 게임의 목적입니다. 다만, 교육용 버전은 특화된 스킨과 리소스를 무료로 이용할 수 있고 수업을 위한 다양한 지원프로그램이 있어, 교수‧학습 환경에 이용하기 수월합니다.

마인크래프트 교육용 버전은 오로지 교육용으로만 이용할 수 있습니다. 그래서 이용하기 위해서는 꼭 필요한 것이 교육용 기관의 인증과 교육용 기관의 아이디입니다. 그러나 이러한 인증과 아이디는 이미 각 시도 교육청마다 마이크로소프트와의 계약을 통하여 이루어져 있으므로 선생님들이 해야 할 일은, 총판업체에 연락하여 학교에 주어진 아이디를 받는 것뿐입니다.

마인크래프트 교육용 버전은 교육용 인증을 받아야 사용 가능하므로, 항상 로그인을 해서 게임을 실행할 수 있습니다. 그러므로 인터넷 환경이 필수적입니다. 또한 같은 인터넷 환경에 있다면 별도의 조치를 하지 않더라도 사용자들끼리 묶여있습니다. 따라서 선생님이 만든 게임 공간에 학생들이 접속하여 모든 반 학생들이 한 공간에서 수업을 할 수 있습니다.

2) 클래스룸 모드

클래스룸 모드는 마인크래프트라는 게임을 수업에 적용하는 것에 있어 방해가 되는 게임 요소를 없애는 것을 목적으로 한 마인크래프트 교육용 버전 지원 프로그램입니다.

기본적으로 [교사]라는 이름으로 채팅을 칠 수 있으며, 미니맵을 제공하여 학생들을 특정 위치로 이동시키는 것이 가능합니다. 또한 수업에서 불필요할 수 있는 기능인 몬스터와 폭탄, 호우, 폭풍우 등을 없앨 수 있으며, 서로 싸우거나 부수거나 자살하는 등의 특정 행동을 금지할 수도 있습니다. 그리고 채팅을 금지하거나 게임 전체를 일시정지하는 등의 게임 외적의 관리도 가능합니다.

따라서 마인크래프트 교육용 버전을 사용하기 위해서는 클래스룸 모드가 필수적이라고 할 수 있습니다.

3) 코드 커넥션

코드 커넥션은 클래스룸 모드와 마찬가지로 마인크래프트 교육용 버전에 연동하는 프로그램으로, 메이크코드라는 프로그래밍 서비스와 마인크래프트 교육용 버전을 연결하는 프로그램입니다.

다양한 코딩 서비스와의 연결을 제공하며, 현재 메이크코드(Makecode), 스크래치X(Scratch X), 팅커(Tynker)와의 연동을 제공합니다. 본 과정에서는 마인크래프트 교육용 버전에서 가장 보기 쉽게 EPL 교육할 수 있는 메이크코드를 이용할 예정입니다.

위의 3가지 프로그램은 모두 마인크래프트 공식 홈페이지에서 무료로 다운로드 받을 수 있으며, 현재 교육용기관이라면 이용에 따른 요금도 없습니다.

라. 선수 지식

실제 교수‧학습 환경에서의 사전지식은 없습니다만 게임에 대한 이해가 있다면 보다 효과적으로 코드를 구성할 수 있기에 마인크래프트 게임을 해보는 것도 좋습니다. 다만, 본 과정에서의 선수지식으로 절차, 반복, 조건과 같은 EPL에 관한 기본적인 지식이 필요합니다.

4.2 메이크코드를 마인크래프트 교육용 버전에 적용하기

가. 메이크코드와 마인크래프트 교육용 버전 연결하기

우선 메이크코드를 마인크래프트 교육용 버전에 연결하기 위해서는 코드 커넥션이라는 프로그램이 필요합니다. 아래와 같은 순서로 서로를 연결하며, 별도의 드라이버나 펌웨어는 필요하지 않습니다.

① 가장 먼저 마인크래프트 교육용 버전을 켭니다. 지속적으로 업데이트되는 중이며, 현재 최신 버전은 1.0.17입니다.

② 플레이-새로 만들기를 가면 다양한 월드(맵)를 만들 수 있습니다. 튜토리얼용 월드도 존재하니, 조작법을 익힐 때 유용합니다.

③ 월드 설정 화면입니다. 게임모드와 난이도는 자유롭게 설정해도 됩니다. 다만 치트는 꼭 켜줘야 연결할 수 있습니다.

④ 플레이를 누르면 월드가 만들어집니다. 이번엔 평면 월드를 만들었기에 아무 것도 없습니다.

⑤ 코드커넥션을 실행합니다. 실행하면 나오는 커맨드를 마인크래프트 교육용 버전에 치트 입력하면 됩니다.

⑥ 마인크래프트로 돌아와서 Enter를 치고 코드커넥션에 있던 커맨드를 그대로 입력하고 Enter를 누릅니다.

⑦ 다시 코드커넥션으로 돌아오면 코딩서비스를 선택하도록 되어있습니다. 메이크코드를 선택합니다.

⑧ 그림과 같이 나오면 메이크코드가 나오면 마인크래프트 교육용 버전과 연결이 잘 된 것입니다.

나. 메이크코드로 간단한 건축물 만들기

1) 메이크코드에서 블록을 놓는 세 가지 방법

마인크래프트 교육용 버전에서의 블록은 모든 종류의 객체를 말합니다. 단순히 정육면체 모양의 객체뿐만 아니라 장판 모양의 객체, 꽃 모양의 객체도 모두 블록으로 취급합니다. 따라서 장판이 밑에 깔려있는 경우, 그 공간에는 다른 객체를 놓을 수 없습니다.

메이크코드에서 코딩을 하여 마인크래프트에서 적용하면 블록을 놓는 방법은 3가지로 정리할 수 있습니다. 상대좌표를 활용하는 방법, 빌더를 활용하는 방법, 에이전트를 활용하는 방법입니다. 서로의 장단점을 보완하기 위해 방법이 3가지나 되는 것이기에 적절히 사용한다면 보다 효율적으로 건축물을 만들 수 있습니다. 3가지 방법의 장단점은 다음과 같습니다.

장점

단점

상대좌표

1. 직관적이다.

1. 처음 접근하기 쉽다.

1. 내가 움직이는 대로 만들 수 있다.

1. 좌표에 대한 개념이 있어야 사용할 수 있다.

1. 나의 위치가 바뀌면 상대좌표도 바뀌어, 복잡한 코드의 경우 원하는 대로 건축물이 안 만들어질 수 있다.

빌더

1. 다양한 블록을 사용한 건축물을 만들 경우, 경제적인 코드를 만들 수 있다.

1. 주어진 코드 수행에 딜레이가 없어 원하는 대로 만들기 편하다.

1. 눈에 보이지 않아 비직관적이다.

1. 방위의 개념을 알아야 사용할 수 있다.

1. 효과적인 사용을 위해서 특정한 블록의 사용이 필수적이다.

에이전트

1. 직관적이다.

1. 다양한 블록을 사용한 건축물을 만들 경우, 경제적인 코드를 만들 수 있다.

1. 수행할 수 있는 명령이 많다.

1. 에이전트가 코드를 수행하는데 딜레이가 있다.

1. 커맨드 블록이 많아 적절한 커맨드 블록을 찾는 것이 어렵다.

따라서 마인크래프트에서 3×3의 황금 직사각형을 만든다고 하면, 각각의 방법은 다음과 같다. 물론 아래의 코드는 예시일뿐, 꼭 이러한 방법으로 만들 필요는 없으며, 다양하고 개성있는 코드로 완성할 수도 있다.

1. 항상 처음 시작은 시작 커맨드 블록으로부터 나옵니다. 다양한 시작 커맨드 블록이 있으나, 기본적으로 Chat 커맨드 블록을 사용합니다.

1. 그림의 예시는, “run”이라고 채팅을 치면 코드를 실행한다는 시작 커맨드 블록을 사용한 것입니다.

3×3의 황금 직사각형을 만드는 코드

상대좌표

빌더

에이전트

지금 보기에는 에이전트의 코드가 가장 복잡해 보이지만, 코드가 복잡해질수록, 반복과 조건을 사용할 수 있는 에이전트가 가장 경제적으로 코드를 만들 수 있다.

이것으로 정말 간단하게 마인크래프트 내의 노가다성이 있는 건축 작업을 자동화할 수 있다. 이제부터 무엇을 만들지, 어떤 도구를 사용할지, 어떤 코드로 만들지는 학습자의 자유입니다. 내가 생각한 모든 것이 실현되는 가상현실, EPL교육도 재미있게 할 수 있습니다!

4.3 EPL교육에서의 활용 방안

가. 마인크래프트에서 또 하나의 게임을 코딩으로 만들어보자.

기본적으로 마인크래프트는 샌드박스형 게임이기에, 마인크래프트 내에서 미로 등의 다양한 종류의 게임을 만들 수 있다.

아래와 같은 복잡한 코드가 아니더라도, 자신만의 게임을 만들면서 코드를 분석하며, 디버깅을 하고, 게임 경연대회를 열어 친구들과 자신만의 게임을 즐기는 등으로 활용해도 좋다. 마인크래프트를 EPL교육에 쓰는 가장 큰 이유는 자신이 만든 코드를 마인크래프트 내에서 구현하고, 다시 피드백을 받아 설계하는 등의 상상의 나래를 펼칠 수 있기 때문이다.

나. 메이크코드 적용과 관련된 온라인 학습

마인크래프트 교육용 버전과 메이크코드를 활용한 SW교육에 관련한 연수는 매 분기 연수 중에 있습니다. 또한, 현재 유튜브 콘텐츠로 제작하여 업로드 중에 있으니, 유튜브에서 검색하여 온라인 학습을 할 수 있습니다.

다. 마인크래프트 EPL 수업 소개(지도안)

1) 메이크코드에서 블록을 놓는 세 가지 방법

학습

단계

교수・학습 활동

시간

유의점 및 자료

탐구

동기 유발

T: 교과서 126쪽의 이야기를 같이 읽어 봅시다.

이야기 속의 문제점이 무엇인가요?

S1: 땅에서 30층까지 계단을 만들어야 하는데, 너무 시간과 노력이 많이 들어서 문제가 있습니다.

T: 그럼 어떻게 하면 문제를 해결할 수 있을까요?

S1: 자동으로 계단을 만들 수 있도록 로봇에게 시킵니다.

학습 목표 제시

계단을 건설하는 프로그램을 만들 수 있다.

학습활동 안내

활동1: 해결방법 탐색하기

활동2: 문제해결을 위한 알고리즘 작성하기

활동3: 계단을 건설하는 프로그램 만들기

5

탐구

활동1: 해결방법 탐색하기

T: 계단을 만들기 위해서 어떤 방법을 이용하면 좋을까요?

S1: 상대좌표를 입력하여, 계단 모양으로 좌표를 입력할 수 있습니다.

S2: 에이전트라는 로봇을 이용할 수 있습니다.

T2: 로봇에게 무엇을 시키면 좋을까요?

S3: 로봇에게 계단처럼 움직이라고 한 뒤, 움직인 자리에 벽돌을 놓으라고 한다면 계단을 만들 수 있습니다.

S4: 어? 그러면 빌더를 이용하여 같은 방법으로 만들 수 있을 것 같아요.

5

• 패턴을 탐구하여 추상화하는 것이 핵심이다. 다만, 너무 알고리즘에 중점을 두지 않고, 실제 만드는 것에 집중하여 실제적인 아이디어가 나오도록 한다.

설계

활동2: 문제해결을 위한 알고리즘 작성하기

T: 에이전트로 계단을 건설하는 프로그램을 만들기 위해 어떤 코드블록이 필요한가요?

S1: 에이전트를 움직이는 블록과 에이전트에게 벽돌을 놓도록 하는 코드블록이 필요합니다.

S2: 반복을 위한 코드블록도 필요합니다.

T2: 학습지에 에이전트가 어떤 식으로 움직이면 좋을지 그려본 뒤, 그렇게 움직이기 위해 어떻게 코드블록을 놔야할지 생각하여 알고리즘을 완성하여 봅시다.

T: 빌더로 계단을 건설하는 프로그램을 만들기 위해 어떤 코드블록이 필요한가요?

S1: 에이전트랑 같은 코드블록은 다 있어야할 것 같습니다.

S2: 빌더를 쓰기 위해 기준점을 잡는 코드블록도 필요할 것 같습니다.

T2: 학습지에 빌더가 어떤 식으로 움직이면 좋을지 그려본 뒤, 그렇게 움직이기 위해 어떻게 블록을 놔야할지 생각하여 알고리즘을 완성하여 봅시다.

10

•프로그래밍 언어로 구현하기 이해하기 쉽게 에이전트 혹은 빌더가 어떻게 움직일지 미리 그림으로 그려봅니다. 알고리즘 상에서 약간의 문제가 발견되더라도, 마인크래프트로 실행하면서 문제를 해결할 수 있기 때문에(디버깅) 구조적 문제가 아니면 넘어가도 무방하다.

개발

활동3: 계단을 건설하는 프로그램 만들기

T: 작성한 알고리즘을 바탕으로 Makecode에 계단을 건설하는 프로그램을 작성하여 봅시다.

T: 빌더를 이용할 때는 기준점을 잘 만들어야합니다. 빌더를 이동한 후에 꼭 기준점(Mark)을 꼭 만드세요.

15

•알고리즘은 매우 다양하게 나타날 수 있습니다. 자기가 생각하는 계단을 만들기만 하면 되므로, 꼭 정답을 요하지 않아도 괜찮습니다. 다만, 시뮬레이션을 하였을 때, 원하는 계단이 안된다면 어디서 문제가 있는지 파악해서 해결하는 과정(디버깅)을 꼭 거쳐서 완성하도록 도와줍니다.

공유하기

T: 친구들이 만든 계단 만들기 프로그램을 실행해보고, 잘된 점과 개선할 점을 말해주세요.

5

교 과

창의적 체험활동

영역

-

시간

3차시

대 주 제

게임 프로그래밍

대상

6학년

본시제재

계단 건설 프로그램

학습목표

계단을 건설하는 프로그램을 만들 수 있다.

수업모형

개발중심모델(D-D-D)

학습자료

교사용

윈도우10, PC

학생용

활동지, PC

학습

단계

교수・학습 활동

시간

유의점 및 자료

탐구

동기 유발

T: 교과서 126쪽의 이야기를 같이 읽어 봅시다.

이야기 속의 문제점이 무엇인가요?

S1: 땅에서 30층까지 계단을 만들어야 하는데, 너무 시간과 노력이 많이 들어서 문제가 있습니다.

T: 그럼 어떻게 하면 문제를 해결할 수 있을까요?

S1: 자동으로 계단을 만들 수 있도록 로봇에게 시킵니다.

학습 목표 제시

계단을 건설하는 프로그램을 만들 수 있다.

학습활동 안내

활동1: 해결방법 탐색하기

활동2: 문제해결을 위한 알고리즘 작성하기

활동3: 계단을 건설하는 프로그램 만들기

5

탐구

활동1: 해결방법 탐색하기

T: 계단을 만들기 위해서 어떤 방법을 이용하면 좋을까요?

S1: 상대좌표를 입력하여, 계단 모양으로 좌표를 입력할 수 있습니다.

S2: 에이전트라는 로봇을 이용할 수 있습니다.

T2: 로봇에게 무엇을 시키면 좋을까요?

S3: 로봇에게 계단처럼 움직이라고 한 뒤, 움직인 자리에 벽돌을 놓으라고 한다면 계단을 만들 수 있습니다.

S4: 어? 그러면 빌더를 이용하여 같은 방법으로 만들 수 있을 것 같아요.

5

• 패턴을 탐구하여 추상화하는 것이 핵심이다. 다만, 너무 알고리즘에 중점을 두지 않고, 실제 만드는 것에 집중하여 실제적인 아이디어가 나오도록 한다.

설계

활동2: 문제해결을 위한 알고리즘 작성하기

T: 에이전트로 계단을 건설하는 프로그램을 만들기 위해 어떤 코드블록이 필요한가요?

S1: 에이전트를 움직이는 블록과 에이전트에게 벽돌을 놓도록 하는 코드블록이 필요합니다.

S2: 반복을 위한 코드블록도 필요합니다.

T2: 학습지에 에이전트가 어떤 식으로 움직이면 좋을지 그려본 뒤, 그렇게 움직이기 위해 어떻게 코드블록을 놔야할지 생각하여 알고리즘을 완성하여 봅시다.

T: 빌더로 계단을 건설하는 프로그램을 만들기 위해 어떤 코드블록이 필요한가요?

S1: 에이전트랑 같은 코드블록은 다 있어야할 것 같습니다.

S2: 빌더를 쓰기 위해 기준점을 잡는 코드블록도 필요할 것 같습니다.

T2: 학습지에 빌더가 어떤 식으로 움직이면 좋을지 그려본 뒤, 그렇게 움직이기 위해 어떻게 블록을 놔야할지 생각하여 알고리즘을 완성하여 봅시다.

10

•프로그래밍 언어로 구현하기 이해하기 쉽게 에이전트 혹은 빌더가 어떻게 움직일지 미리 그림으로 그려봅니다. 알고리즘 상에서 약간의 문제가 발견되더라도, 마인크래프트로 실행하면서 문제를 해결할 수 있기 때문에(디버깅) 구조적 문제가 아니면 넘어가도 무방하다.

개발

활동3: 계단을 건설하는 프로그램 만들기

T: 작성한 알고리즘을 바탕으로 Makecode에 계단을 건설하는 프로그램을 작성하여 봅시다.

T: 빌더를 이용할 때는 기준점을 잘 만들어야합니다. 빌더를 이동한 후에 꼭 기준점(Mark)을 꼭 만드세요.

15

•알고리즘은 매우 다양하게 나타날 수 있습니다. 자기가 생각하는 계단을 만들기만 하면 되므로, 꼭 정답을 요하지 않아도 괜찮습니다. 다만, 시뮬레이션을 하였을 때, 원하는 계단이 안된다면 어디서 문제가 있는지 파악해서 해결하는 과정(디버깅)을 꼭 거쳐서 완성하도록 도와줍니다.

공유하기

T: 친구들이 만든 계단 만들기 프로그램을 실행해보고, 잘된 점과 개선할 점을 말해주세요.

5

교 과

창의적 체험활동

영역

-

시간

3차시

대 주 제

게임 프로그래밍

대상

6학년

본시제재

계단 건설 프로그램

학습목표

계단을 건설하는 프로그램을 만들 수 있다.

수업모형

개발중심모델(D-D-D)

학습자료

교사용

윈도우10, PC

학생용

활동지, PC

윈도우 10의 환경에서만 마인크래프트 교육용 버전을 활용할 수 있다는 것이 단점일 수 있습니다. 하지만 환경만 갖춰진다면 학생들의 흥미를 이끌 수 있으면서, 효과적으로 EPL수업을 할 수 있다는 측면에서 큰 장점을 갖습니다.

마인크래프트라는 게임이 너무 재미있어서, 학습에 방해되는 요소가 있다면 클래스룸 모드를 통해 적절히 관리할 수 있으며, 학생들은 자신만의 세계를 꾸미고, 그것을 EPL을 통해 만들 수 있습니다. 또한 EPL을 사용하면서 세계를 만들려면 추상화, 자동화와 같은 컴퓨팅 사고를 사용해야하며, 학생들은 컴퓨팅 사고를 배우는 것이 아니라 놀면서 습득할 수 있습니다.

학생들이 흥미를 가지고 자기 스스로 학습하고자 하는 욕구가 높으면 교육적 효과는 자연스럽게 따라오게 됩니다. 마인크래프트라는 자유도가 많은 게임을 통해 SW교육을 접근한다면 학생들이 어렵다고 생각하지 않고, 배울 수 있지 않을까요?

참고자료 및 출처

문 헌

▸박은경, 윤성철, 정재엽, 한상훈(2009). 게임기반학습(Game Based Learning)을 통한 수학교과 학습부진아 지도의 근거이론적 연구. 학습자중심교과교육연구, 8(2), 181-201.

▸손상호, 손병국(2015). 게임기반 교육용 프로그램의 에듀테인먼트 특성 연구 - 줌비니 사례를 중심으로. CONTENTS PLUS, 13(2), 35-67.

▸Franciosi, S. J. (2017). The Effect of Computer Game-Based Learning on FL Vocabulary Transferability. Journal of Educational Technology & Society, 20(1), 123-133

▸ Prensky(2001). Digital Game-Based Learning. New york: McGraw-Hill.

▸정여진 (2016, 3, 5). 우리 아이가 푹빠진 ‘마인크래프트’…얼마나 아세요? [KBS 뉴스]. http://news.kbs.co.kr/news/view.do?ncd=3243331 에서 검색

사이트

▸마인크래프트 교육용 버전. https://education.minecraft.net/download

▸마인크래프트 메이크코드 문서. https://minecraft.makecode.com/docs

▸스티브코딩에듀크리에이터. http://www.youtube.com/c/스티브코딩에듀크리에이터