소프트웨어 교육의 중요성이 증가하면서 최근 초, 중, 고등학교에서 소프트웨어 교육을 실시하는 학교가 증가하고 있습니다. 우리가 초등학교때 접해보지 못했던 형태의 수업이 현재 정규 교과에서 교육 중인 것이죠. 하지만, 생각보다 아이들이 소프트웨어 교육에 흥미를 느끼지 못하거나 어려워하는 경우를 많이 볼 수 있습니다.
아주대학교에서 SW영재교육프로그램을 운영 중인 백재순 강연자는 아이들에게 더 효과적으로 소프트웨어를 가르칠 수 있는 방법으로 '게임 개발'을 제시하고 있습니다. 소프트웨어보다 더 어렵게 느껴지는 '게임 개발'로 어떻게 아이들을 더 효과적으로 가르칠 수 있을까요? 아주대학교 백재순 강연자의 '게임 개발, 교육이 되다' 강연을 정리했습니다. / 디스이즈게임 이영록 기자
아주대학교 SW영재교육프로그램 담당 백재순 강연자
# 소프트웨어 교육의 가치, 문제점, 그리고 대안
지금 실제 교육 현장에서는 교육용 게임을 플레이하기도 하고 로봇 작동해보기도 하는 등 여러 가지 소프트웨어 교육이 실시되고 있다. 모두 우리 세대가 초등학교 때 경험해보지 못한 형태의 수업이 현재 정규 교과의 하나로 자리 잡았다.
소프트웨어 교육은 네 가지 카테고리로 나눠 진행되고 있다. ▲보드게임처럼 컴퓨터가 없는 환경에서 컴퓨터 과학 원리를 파악할 수 있는 놀이를 진행하는 '언플러그드 활동' ▲기초 수준의 알고리즘 개념을 파악하고 순차, 반복, 조건, 변수같은 함수 개념을 학습하는 '알고리즘 학습' ▲학습 목적으로 설계된 프로그래밍 언어를 배우고, 함수 개념을 심화 학습하는 '교육용 프로그래밍 언어' 학습 ▲센서나 로봇 등의 디지털 기술 및 장치를 이용해 물리적 정보를 입력받아 결과를 다시 물리적 방법으로 출력하는 '피지컬 컴퓨팅'이 그것이다.
대부분의 소프트웨어 교육 과정은 '언플러그드 활동'에서 시작해 '피지컬 컴퓨팅'으로 가는 과정으로 되어 있다. 전반적으로 퍼즐 기반 수업이 이뤄지고 있는 셈이다. 소프트웨어 교육을 처음 접하게 되는 아이들은 여기서 흥미를 느끼지 못하거나 어려움을 호소하는 경우가 많다.
소프트웨어 교육의 4가지 방법
교육용 프로그램 언어 '스크래치'를 개발한 MIT 미디어랩의 Mitchel Resneck 교수는 "아이들이 퍼즐 기반의 소프트웨어 교육 활동에 좌절감을 느끼게 되므로, 아이들이 스스로 디자인하고, 창조하고, 표현할 수 있는 기회를 제공할 수 있는 방법이 필요하다"고 말하기도 했다. 주입식 교육을 탈피한 새로운 교육 방법이 필요하다는 의미다.
기존 소프트웨어 교육의 문제 해결책은 아이들에게 '게임 개발'을 가르치는 것이다. 교육에 있어 게임이 가장 효과적인건 여러 연구 결과에서 보듯이 부정하기 힘들다. 그리고 게임은 강력한 동기유발 도구다. 실제로 아이들에게 소프트웨어 수업을 듣고 무엇을 만들고 싶냐고 물었을 때 가장 많은 아이들이 "게임을 만들고 싶다"고 답변했다.
게임은 강력한 동기 유발 도구다
# '게임 개발'은 어렵다? 아이들의 게임 개발
게임은 융복합 학문의 진수다. 게임의 스토리를 위해서는 '스토리 텔링'을 해야 하고, 개발을 위해서는 '프로그래밍'을 해야 한다' 또 그래픽을 위해서는 그림을 그리거나 디자인하는 작업이 필요하고, 사운드를 넣기 위해서는 음악적인 능력이 필요하다.
아이들은 게임을 만들면서 정규 교육 과정에 포함되어 있는 국어, 영어, 수학, 과학, 사회의 모든 학문을 직·간접적으로 체험하게 된다. 그런데, 게임 개발은 '어렵다'는 선입견이 있다. 실제로도 쉬운 작업은 아니다. 이런 게임 개발 활동을 어떻게 초등학생들이 하고 있을까?
게임 개발 경험이 없는 아이들이 게임 개발을 어디까지 할 수 있을지에 대한 고민을 끊임없이 하는 것이 중요하다. 그리고 아이들이 보다 많은 게임 개발을 접하고 교육적 효과를 누릴 수 있도록 다양한 도전을 진행해야 한다.
게임 개발은 융복합 학문의 진수다
아이들을 위한, 그리고 아이들이 할 수 있는 게임 개발의 첫 번째 단계는 '언플러그드 게임' 개발이다.
아이들에게 하드보드지를 나눠주고 그 위에 자신만의 '길찾기 류' 게임을 창작해보도록 유도했다. 같은 소재를 던져줘도 겹치는 주제가 없다. 아이들은 자신이 개발한 게임을 직접 해보고 뭐가 재밌는지, 그리고 어떻게 재밌는지 분석해야 한다. 그리고 승리하기 위해 어떤 전략을 세워야 했었는지도 생각해보도록 유도한다.
한 장의 하드보드지 위에 게임 기획, 캐릭터, 레벨 디자인 등의 여러 게임 요소가 그려지고, 쓰여진다. 아이들은 언플러그드 게임 개발 활동을 하며 추상적인 개념에서 벗어나 구체적인 사고를 할 수 있게 된다.
언플러그드 게임 개발을 통해 구체적인 사고 능력을 기른다
두 번째 단계는 게임 엔진을 이용해 게임을 개발부터 출시까지 진행하는 것이다.
당연하게도, 아이들은 어떤 개발 경험도 없는 경우가 절대 다수다. 그렇기에 게임 개발 교육의 일차적인 목표는 '완주'다. 아이들은 게임 샐러드(Game Salad), 컨스트럭트2(Construct2)처럼 코드를 사용하지 않는 게임 엔진을 활용해 단순한 인터페이스를 가진 게임을 만들어낸다. 그렇게 만들어낸 게임을 앱스토어 또는 구글스토어에 출시까지 지원한다.
그렇게 만들어진 게임들은 투박하지만 아이들 나름대로의 생각과 생활이 표현된다. 어떤 아이는 '적'을 엄마로 만들고 플레이어가 도망다니는 게임을 만들었기도, 어떤 아이는 '지옥 속 불구덩이에 있는 천사의 날개'라는 테마로 게임을 만들기도 했다.
'게임샐러드'는 게임 개발 툴 중에서 사용 난도가 가장 낮다.
그래픽 부분은 저작권 침해 위험 때문도 있지만, 아이들이 자신이 직접 만든 게임이라는 느낌을 주기 위해 직접 그리도록 지원하고 있다. 색연필 사인펜 등으로 직접 그린 뒤 스캔하거나 태블릿 PC에 그리기도, 초등학교 고학년의 경우에는 그래픽 소프트웨어를 사용하는 방법을 알려주기도 한다.
구체적으로는 아이들에게 게임의 진행 방식을 알려줘 '인터렉션(상호작용)' 요소를 추가하게 한다. 그렇게 하는 것만으로도 다양한 게임이 만들어진다.
앞서 소개한 게임 개발 활동은 대부분 하루 또는 이틀이면 게임 출시까지 가능한 쉬운 과정이다. 그럼에도 아이들은 게임을 만드는 일련의 과정을 특별한 것으로 인식하고 있다. 게임창작 활동이 특별한 아이들의 전유물이 아니라 누구나 참여 가능한 프로그램이라는 것을 인식시키고 싶다.
게임 엔진을 활용한 게임 개발 활동
게임 개발 교육 시 아이들에게 가장 먼저, 메인 화면에서 스타트 버튼을 누르면 화면이 바뀌는 것을 가르친다. 이것만 해내도 아이들은 마치 게임을 다 만들어낸 것처럼 즐거워하고 신기해 한다. 가장 쉬운 작업이고, 본격적인 개발이 시작됐을 뿐이지만 아이들은 타이틀 완성 경험으로 자신감을 얻어 다음 단계로 진행한다.
아이들에게 단순히 게임 개발 방법을 제시하기보다 목표를 제시하고 성취하며 조금씩 목표를 높여나가는 활동을 진행하고 있다.
교육 과정의 게임 개발은 단계적으로 이뤄진다
# '게임 개발' 교육은 게임 개발자를 양성하기 위한 교육이 아니다
게임 개발의 가치는 많은 사람들에게 평가절하 되고 있다. 게임개발은 정규 교과 과정이 모두 녹아들어 있고 협업을 하기에 가장 좋은 활동이기도 하다. 소프트웨어 교육에서 가장 중요시하는 '순차', '반복', '조건', '상호작용'같은 컴퓨팅 사고력도 습득할 수 있다. 이렇듯 게임 개발은 '융복합 학문'이다.
사람들은 '게임 교육'을 부정적인 시선으로 바라보고 있다. 게임 개발 교육을 '게임 개발자'를 양성하는 학문으로 인식하고 있다. 게임 개발자가 되지 않을 사람은 교육받을 필요가 없다는 시선도 있다.
하지만 게임 교육은 '게임 개발자'를 양성하는 과정이 아니다. 예체능을 보면 다양한 연령대에서 각자의 기호와 수준에 맞춰 다양하게 활동하고 있다. 음악, 미술을 학습하거나 경험하는 것이 누군가에게는 취미가 되고, 누군가에게는 직업이 되기도 한다. 우리는 예체능을 하는 아이들이 모두 예체능 관련 직업을 가질거라 생각하지 않는다.
게임 개발은 '예체능' 과목처럼 진로탐색, 학습 과정의 하나다
게임 개발도 마찬가지다. 아이들도 게임 개발을 통해 '학습'한다. '게임 개발자'가 되기 위한 학습이 아니라, 게임 개발을 하며 적성을 찾을 수 있다.
어떤 아이는 캐릭터를 그리는 것에서, 어떤 아이는 스토리를 짜는 것에서, 또 다른 아이는 프로그래밍에서 적성을 찾을 수 있다. 게임 교육은 게임 개발자를 양성하는 것이 아니라, 하나의 문화로, 정규 교육 과정으로 받아들여 졌으면 한다.
물론, 현실적인 어려움은 있다. 선생님들부터 소프트웨어 교육에 어려움을 느끼고 있다. 일부 학교에서 게임 개발을 통한 소프트웨어 교육을 시도하고 있다. 게임 개발 교육을 위한 교사들도 양성 중이다. 지금 당장 정규 교과로 편입되기에는 무리가 있겠지만 교육 모델로의 연구를 통해 정규 교과로 자리잡을 수 있도록 노력하겠다.
게임 개발은 예체능처럼 하나의 문화로 받아들여져야 한다.