단원해설

01. 로봇을 활용한 코딩교육이 왜 필요할까?

전 세계는 소프트웨어 중심 사회로 빠르게 변화하고 있으며, 소프트웨어를 기반으로 하는 다양한 활동을 통해 컴퓨팅 사고력을 기반으로 문제를 해결하는 역량을 기를 수 있다. 소프트웨어 교육의 방법에는 여러 가지가 있지만 그중에서도 로봇을 활용한 소프트웨어 교육은 장애를 가진 학생들에게 추상적인 개념을 이해하기 위해서 구체물을 이용한 학습이 학생들의 주의 집중력은 물론 흥미를 유발하기에는 더욱 효과적이다.

로봇은 피지컬 컴퓨팅의 도구로써 로봇 프로그래밍 활동을 통해 학습자는 문제 해결 과정에서 구체물을 통해 나타낼 수 있는 활동에 초점을 맞추게 되고 이 과정에서 자연스럽게 학습자의 흥미와 문제 해결 능력이 증진될 수 있다. 로봇을 활용한 소프트웨어 교육이 가지는 특징은 구체물을 활용하여 문제해결의 방안을 직접 수행하면서 학습을 할 수 있으며 학습자가 실제적으로 문제 해결 방안을 구현할 수 있다는 것이다.

02. 로봇 프로그래밍이란?

‘터틀 로봇’이 가지고 있는 언플러그드 활동으로 로봇의 움직임을 조절하고 친구들과 함께 문제를 해결하는 과정을 통해 협업의 중요성도 배울 수 있다. ‘터틀 로봇’으로 활용 가능한 코딩 방법인 ‘카드코딩’과 ‘라인코딩’으로 학교에서 이루어지는 체험활동, 안전교육, 여가생활 등 다양한 주제의 문제 상황을 제시하고 이를 해결해 보는 과정을 통해 장애를 가진 학생들이 쉽게 도전하고 성취감을 맛보며 자신감과 흥미를 느낄 수 있다.

또한 로봇을 활용한 프로그래밍을 통해서 프로그래밍의 기본 요소인 순차, 반복구조의 학습을 쉽게 따라 해 보며 배울 수 있다. 완성형 로봇 중 하나인 ‘터틀 로봇’을 이용하여 기본적인 언플러그드 활동과 교육용 프로그래밍 언어인 ‘엔트리’를 이용하여 코딩을 쉽게 연습해 볼 수 있도록 했다. 로봇에게 명령을 내리는 과정을 통해 블록 코딩으로 다양한 실제적인 문제를 해결해 보며 코딩에 관한 지식의 폭을 확장할 수 있다.

03. 마인크래프트란?

마인크래프트는 사용자에게 매우 높은 수준의 자유도를 부여하는 샌드박스형 게임이다. 샌드박스(Sand Box)는 모래상자라는 뜻으로 어린아이들이 모래를 가지고 자유롭게 놀듯, 사용자가 게임 내에서 자유롭게 무엇이든 할 수 있는 게임을 샌드박스형 게임이라 지칭한다. 마인크래프트(Minecraft)의 최초 버전은 2009년 5월 10일에 공개되었으며 몇 차례의 수정 끝에 2011년 11월 18일에 정식 버전으로 출시된 이래로, 모바일 버전, 가정용 게임기 버전 등 다양한 플랫폼을 지원하기 시작하면서 지금이 이르게 되었다.

이미지,  마인크래프트 실행 화면 스크린샷
이미지,  마인크래프트 메인 화면 스크린샷

마인크래프트 에듀케이션 버전은 교육을 위한 프로그래밍 기능이 포함된 교육용 버전으로 2016년 11월 1일에 정식으로 출시되었다. 엔트리나 스크래치와 유사한 방법으로 프로그래밍이 가능하여 쉽게 접근이 가능하다는 장점이 있다.

이미지,  메이크코드 실행 화면 스크린샷
이미지,  마인크래프트 화학 버전 실행화면 스크린샷

현재에는 화학 업데이트도 이루어져 있어, 원소를 조합하거나 물질을 혼합하거나 분해하는 등 다양한 화학 활동을 해볼 수도 있다. 이렇게 다양한 교육 활동을 재미있게 경험해볼 수 있는 마인크래프트의 세계에 여러분을 초대한다.

04. 무엇을 배우게 될까?

첫 번째, ‘로봇을 가지고 놀아요’에서는 로봇으로 하는 놀이활동을 통해 로봇과 친해질 수 있도록 되어있다. 로봇 자율모드를 통해 로봇이 가지고 있는 고유의 언플러그드 기능으로 스스로 과제를 해결해 보고 친구와 함께 하는 게임을 통해 로봇으로 할 수 있는 놀이모드를 익히게 된다.


두 번째, ‘선을 따라 가요’에서는 완성형 로봇이 검은색 선을 따라 이동하는 라인코딩을 학습하게 된다. 검은색 주행 라인의 필요한 지점에 명령 색을 추가하여 주어진 과제를 해결하는 것을 공부한다.


세 번째, ‘카드로 로봇을 움직여요’에서는 완성형 로봇에 카드 명령어를 입력하여 로봇을 자유롭게 프로그래밍 하는 방법의 카드 코딩을 배우게 된다. 카드 코딩을 통해 방향을 전환하여 움직이고 주어진 문제를 해결하는 과정을 통해 학생들은 소프트웨어 교육의 기초인 순차구조와 반복구조를 이해하게 된다. 또한 로봇의 다양한 움직임을 제어할 수 있으며 그리기 카드를 사용하여 간단한 그래픽을 만들 수도 있다.


네 번째, ‘엔트리로 놀아요’에서는 교육용 프로그래밍 언어인 ‘엔트리’와 완성형 로봇을 통해 블록 코딩을 배우게 된다. 엔트리와 로봇의 블루투스 연결은 좀 더 다양하고 심화된 과제를 해결할 수 있다. 블록 코딩은 로봇의 움직임을 자유롭게 설정하고 명령할 수 있으며 여러 가지 복잡한 과제도 해결할 수 있다.


다섯 번째, ‘마인크래프트란’에서는 마인크래프트 교육용 에디션의 특징을 알아보고, 이후 과정에서 필요한 기본적인 작동 및 실행 방법을 알아보게 된다.


여섯 번째, ‘꽃길만 걷자’에서는 메이크코드를 사용하여 마인크래프트의 세계에서 코딩하는 방법을 익히고, 좌표를 사용하여 플레이어가 움직이는 경로를 따라 꽃을 심고, 블록을 쌓는 방법을 학습하게 된다.


일곱 번째, ‘나는 고인돌 장인’에서는 블록을 내가 원하는 공간에 자동으로 쌓아올리는 방법을 배우고, 쌓아올린 블록을 조금씩 마우스로 제거해가며 내가 원하는 형태로 다듬어보게 된다. 이 방법은 마인크래프트의 세계를 내가 디자인하는 아주 기초적인 방법으로 자주 사용하게 될 것이다.


여덟 번째,‘하늘에서 동물이 내린다면’에서는 타이핑(타자)으로 명령어를 입력하여 마인크래프트 세계를 조작하는 방법을 배우게 된다. 명령어로 다양한 동물을 반복하여 소환하는 활동을 통해, 내가 원하는 시점에 명령문이 실행되도록 조작하는 방법을 익히게 된다.


아홉 번째,‘니모를 키워서’에서는 아이템을 사용하는 방법을 학습하고, 원하는 공간에 블록을 자동으로 쌓아올리는 방법을 2번 사용하여 공간을 겹쳐지도록 만들어 본다. 유리블록 속에 물을 채워 넣고, 그 안에 물고기를 소환하는 활동을 통해 앞서 배웠던 내용들을 종합적으로 복습해 볼 수 있다.


열 번째,‘동물농장’에서는 에이전트를 활용하여 나만의 농장을 만드는 과정 속에서 코딩하는 방법을 학습하게 된다. 사용자가 아닌 에이전트라는 별도의 개체가 내가 코딩한 내용을 단계적으로 실행하는 모습을 관찰하며 내가 코드를 올바르게 작성했는지, 오류는 없는지 살펴볼 수 있다.


열한 번째,‘계단 게임 만들기’에서는 빌더를 이용하여 명령을 내리고 건축하는 방법을 학습하게 된다. 눈에 보이지 않는 빌더를 사용하여 계단이 무작위로 쌓아 올려지는 게임을 만들어보고, 명령문, 아이템, 조건문, 문자열 연산 등을 경험해 볼 수 있다.