초등학교 6학년 양태영 학생의 ‘주니어 해커톤’ 참가 기록
지난 8일, 앱센터가 후원한 제1회 코딩클럽 주니어 해커톤 ‘소프트웨어 네버랜드‘가 SETEC 서울산업진흥원 컨벤션센터에서 개최되었다. 이 행사는 초·중생 참가자가 스크래치/엔트리(교육용 프로그래밍 언어)를 활용하여 8시간 동안 집중적으로 게임/애니메이션 소프트웨어를 만들어보는 해커톤 대회이다. 필자는 참가자 중 한 명을 현장에서 섭외하여 그가 경험하게 될 ‘8시간’을 기록해보기로 하였다.
초등학교 6학년에 재학 중인 양태영 학생은 방과 후에 ‘삼성 주니어 소프트웨어 아카데미‘ 수업을 통해 지난 1년간 스크래치를 배웠었고, 올해부터는 코딩을 취미 활동으로 하고 있었다. 그는 동갑내기 친구인 이희준 학생의 소개로 행사 소식을 접하여 같이 참가하게 되었다고 한다.
그럼 이제 그의 이야기를 들어볼까.
양태영(영훈초 6학년)
■ 오리엔테이션을 통해 대회 일정과 규칙 소개
아침 7시. 노트북과 필기도구를 챙겨 부모님과 함께 행사장으로 향했다. 아침 8시에 행사장에 도착해서 코딩클럽 로고가 새겨진 티셔츠와 명찰을 받았다. 행사시간보다 한 시간 일찍 도착한 나는 아침 식사로 준비해온 빵을 먹으면서 속속 도착하는 참가자들을 구경하였다.
오늘은 스크래치를 활용해 직접 코딩해볼 기회가 될 것 같다. 다른 참가자들은 얼마나 잘하는지 궁금하기도 하고, 협동을 통해 무언가 새로운 프로젝트를 완성하고 싶은 마음이다. 미래 사회에 관한 게임이나 애니메이션을 만들어보는 대회라고 하던데, 나는 소방용 드론을 조종해서 불을 끄는 게임을 만들어보고 싶다.
9시가 되자 주최 측에서 프로젝트를 만들 때 스프라이트(Sprite)로 사용할 이미지 파일들을 공유해주었다. 나는 기다리는 동안 희준이랑 스크래치로 고양이가 로켓을 피하는 게임을 만들었는데, 로켓을 맞아도 안 죽는 문제가 발생했다.
9시 52분. 중급 2반 담당 선생님의 인솔에 따라 대회 오리엔테이션이 있을 2층으로 내려갔다. 초급반, 중급반, 해커반, 피지컬반의 학생들과 부모님, 코딩 활동을 도와주실 선생님 등 총 250여 명이 한자리에 모였다.
오전 10시. 하은희 선생님의 사회로 오리엔테이션이 시작되었다. 파란색 티셔츠를 입은 선생님은 코딩 활동을 도와줄 분들이라고 했고, 회색 티셔츠를 입은 선생님은 대회 진행을 도와줄 분들이라고 했다. 코딩클럽은 ‘Hour of Code’, ‘주니어 소프트웨어 캠프’ 등 어린이와 청소년이 코딩을 배울 수 있는 여러 행사를 개최해왔다고 한다. 간단한 대회 규칙을 듣고 3층 중급반 자리로 돌아왔다. 이제 부모님과는 잠시 헤어져 있을 시간이다.
■ 스크래치 원리를 익히는 카드 게임
중급반과 해커반의 안내사항으로 전체 시간표와 담당 선생님을 소개하는 시간을 가졌다. 중급 5반에 소속된 우리들의 담임 선생님은 고수지 선생님이었다. 10시 30분이 되자 코딩하기 전 일종의 ‘몸풀기’ 게임으로 ‘엔트리봇’이라는 카드 게임을 했다. 사회를 보는 신송섭 선생님이 게임 방법에 대해 알려주셨다.
카드는 성공카드, 폭발카드, 그리고 서로 다른 4가지 색깔과 숫자를 가진 미션 카드로 구성되어 있었다. 성공카드를 왼편에, 폭발카드를 오른편에 놓은 후 색깔별로 12장씩 있는 미션카드를 나눠 가졌는데, 난 빨간색 미션카드를 받았다. 가위바위보를 해서 게임 순서를 정한 후 플레이어는 성공카드와 폭발카드 사이 공간에 자신의 카드를 한 장씩 내려놓는데, 각 카드에 쓰여 있는 미션으로 인해 기존에 배열된 카드들은 성공카드나 폭발카드로 넘어가게 된다. 게임은 성공카드에 가장 많은 카드를 보낸 사람이 이기는 방식이었다.
미션카드에는 ‘다른 카드의 능력 복제하기’, ‘숫자가 큰 순서대로 재배치하기’, ‘한 칸 또는 두 칸 뛰어넘기’, ‘모든 짝수 폭발’ 등의 미션이 적혀있었다. 선생님은 “이런 미션들이 스크래치에 나오는 원리이기 때문에 카드게임을 하면서 자연스럽게 코딩 원리를 익힐 수 있다.”고 설명해주셨다.
우리 팀은 자신의 카드를 성공카드로 넘어가게 하는 것보다 다른 사람이 낸 카드를 폭발카드로 넘어가게 하는 걸 더 재밌어했다. 그러던 중 희준이가 낸 미션카드를 놓고 이견이 생겼다. ‘숫자 4보다 큰 카드 폭발’이라는 미션이 쓰여 있었는데, 희준이는 기존 배열된 4카드와 9카드의 합이 13이므로 카드의 미션 실행이 성립된다고 해석했다. 그러나 우리는 4카드와 9카드 각각에 미션을 적용하여 희준이가 낸 카드가 효력이 없다고 판단했다. 4카드는 4보다 크지 않기 때문이었다. 선생님께 여쭤보니 우리가 판단하기 나름이라고 말씀하셨다. 우리는 다수결의 결과 기존 카드를 폭발시키지 않기로 했다.
게임은 나를 포함한 3명의 공동 승리로 끝났다. 어떤 카드를 선택하여 내려놓느냐에 따라 게임의 결과가 달라지는 게 무척 재미있었다. 게임이 끝나자 선생님이 간식과 음료를 나눠주셨다.
■ 자기소개 및 프로젝트 주제 선정
11시 10분. 스크래치를 활용하여 간단한 자기소개와 선호 주제를 담은 ‘about me’를 만들어볼 시간이다. 주제는 총 5개가 주어졌다. ‘몬스터 주식회사’라고 해서 외계인과 함께 사는 지구를 상상해보는 주제, ‘리틀 빅히어로’라고 해서 미래의 내 모습을 그려보는 주제, ‘트랜스포머’라고 해서 미래의 로봇을, ‘스타워즈’라고 해서 우주여행을, ‘Cars’라고 해서 미래의 자동차를 상상해보는 주제를 줬다. 물론 주어진 5가지 주제가 마음에 들지 않을 경우 자유 주제로 프로젝트를 진행해도 된다고 했다. 주제 발표 후에 같은 주제를 하고 싶어하는 사람끼리 2인 1조로 짝을 지어 코딩할 예정이라고도 말씀해주셨다.
11시 18분. 나눠준 A4용지에 우선 주제와 이야기를 적었다. 나와 희준이는 주어진 주제 말고 ‘미래의 뇌’에 대해 이야기해보기로 하였다. 영화 보는 게 취미인 나는 영화 ‘루시’를 본 후 인간의 뇌에 대해 생각하게 되었다. 사람은 뇌의 60%밖에 못 쓰고 있다는데, 만약 100%를 쓰게 된다면 어떨지 상상해보았다. 우선 엄청난 산소와 음식을 섭취해야 할 것 같다. 미래 시점은 언제로 할지 친구에게 물었다. 희준이는 120년 만에 마차에서 자동차로 바뀌고, 한 세대 만에 컴퓨터와 휴대폰이 탄생한 걸 예로 들면서 지금과 같은 속도로 가면 30년 후의 미래 사회는 엄청난 제품이 나와 있을 것이라고 말했다. 그래서 난 50년 후인 2065년 상황을 가정하여 인간의 뇌 이야기를 해보기로 했다.
11시 33분. 노트북을 켜서 스크래치 프로그램을 실행시켰다. 좀 전에 정리한 이야기를 스크래치로 표현해보기로 했다. 이를 위해 우선 인터넷에서 뇌 이미지를 가져온 후 파란색으로 색칠해나갔다. 그런데 시간이 부족할 것 같다. 선생님은 색칠하는 데에 시간을 다 쓰지 말고 주제 발표보다는 자기소개에 중점을 두어 코딩할 것을 권하셨다. 시간은 이미 점심시간을 넘어가고 있었다. 우리는 자기소개 프로젝트를 완성한 후 조원들끼리 돌아가면서 발표하였다. 선생님께서는 완성한 프로젝트를 ‘중급해커반_이름_제목’이란 파일명으로 저장한 후 코딩클럽 스튜디오에 업로드하라고 하셨다. 우리가 만든 파일은 담임 선생님이 USB 메모리에 담아갔다.
12시 20분. 노트북을 책상 밑으로 내려놓고선 도시락을 먹었다. 점심을 먹고도 시간이 남길래 선정 주제에 관한 코딩을 계속했다.
■ 아이디어 디자인 노트 작성
오후 1시가 되었다. 선생님이 오전에 잠시 설명했던 5가지 주제에 대해 더 구체적으로 설명해주셨다. 그리고 여기는 중급반이므로 단순한 스크래치 명령어 외에도 변수나 블록 등의 다양한 명령어를 사용하여 프로젝트를 만들어보라고 말씀하셨다. 디자인노트를 작성하는 방법도 세부적으로 알려주셨다. 첫째, 문제점을 찾거나 이야기를 만들 것, 둘째, 해결방안을 만들 것, 셋째, 구체화할 것을 말씀해주셨다.
오후 1시20분. 본격적인 2인 1조 프로젝트에 들어갔다. 오전까지는 뇌 이야기를 했는데 희준이가 갑자기 ‘미래의 뇌’ 애니메이션을 만드는 데에 반대했다. 지금부터 대비해야 하는 큰 문제가 아니라는 이유에서이다. 그래서 우리는 주제를 ‘인공지능 로봇’으로 바꾼 후 전지와 포스트잇을 사용하여 아이디어 디자인 작업을 해나갔다.
‘인공지능 로봇이 생긴다면 우리는 그들을 어떻게 대해야 할까?’라는 주제로 대화를 나눴다. 내 생각에는 인간이 완벽하게 통제할 수 있도록 가둬놔야 할 것 같고, 인공지능 로봇에 감정 기능을 넣으면 안 될 것 같았다. 반면에 희준이는 인공지능 로봇에 감정을 불어넣어 주고 우리 인간과 동등한 존재로 대해줘야 한다고 생각했다. 인간으로 취급하자는 것이었다.
크게 보았을 때 감정이 있고 없고로 의견이 나눴다. 우리는 의견을 하나로 모으는 대신 서로 다른 인공지능 로봇 이야기를 코딩한 후 같이 보여주자고 했다. 나는 감정이 없는 인공지능 로봇 사회를 그린 애니메이션을, 희준이는 감정을 가진 인공지능 로봇 사회를 그린 애니메이션을 만든 후 두 애니메이션을 합치기로 했다.
■ 2인 1조로 코딩하기
오후 2시. 아이디어 디자인 노트를 완성한 후 스크래치로 코딩을 시작했다. 막상 코딩하려고 보니 인공지능 로봇이라는 주제를 선택한 것이 후회된다. 인공지능 로봇 사회를 상상하기 어렵다. 그리고 감정이 있는 로봇과 감정이 없는 로봇의 차이점이 무엇인지 잘 모르겠다. 어렵다.
나는 우선 알파벳 스프라이트들을 꺼낸 후 “If artificial intelligence have no feeling”이라는 문장을 만들고 모션, 이벤트, 센싱을 활용하여 스크립트를 짰다. 구글에서 ‘미래도시’, ‘서울’, ‘로봇’ 키워드를 검색한 후 나온 이미지 중에서 마음에 드는 몇 개를 컴퓨터에 저장하였다.
교재를 갖고 스크래치 프로그램을 배운 적은 많았지만 이렇게 직접 코딩해본 적은 거의 없었다. 그래서 새삼스럽게 이 코딩 작업이 ‘막노동’이라는 걸 깨달았다. 2시 40분에 인트로 영상을 완성하니 뿌듯했다. 한참 코딩을 하고 있는데 간식 시간이 돌아왔다. 선생님들은 오랫동안 가만히 앉아서 코딩하는 우리가 걱정되었는지 크게 한 번 기지개를 켠 후 잠시 일어나 움직일 것을 권했다.
코딩 작업을 끝내지 못했는데 벌써 4시가 되었다. 대회장에 부모님들이 한 분 두 분 들어오시기 시작했다.
■ 완성작 발표
오후 4시 20분. 부모님들이 지켜보시는 앞에서 조별 발표를 시작했다. 장애물을 넘어 볼을 골인시키는 게임, 외계인과 운석을 피해 우주 정복을 해야 하는 로켓 게임, 내비게이션의 안내에 따라 택시를 조종하여 손님을 목적지에 내려주는 게임 등 흥미로운 작품이 많았다.
자동차 경주를 하면서 상대차가 쏘아대는 막대를 피해 체력을 유지하는 게임, ‘세금 징수’ 버튼을 누르면 돈이 늘어나는 반면 인구수는 줄어들고 ‘복지 혜택’ 버튼을 누르면 돈은 줄어드는 반면 인구수는 늘어나는 게임, 보스의 공격을 피하면서 협동하여 보스를 죽이는 게임 등 발표한 작품 중 절반은 2인용 게임이었다.
다른 참가자들의 발표를 들으니 ‘아 게임 만들걸.’ 하는 생각이 들었다. 우리는 9번째로 발표했다. 인공지능 로봇 사회의 문제점을 끄집어내는 애니메이션을 만들다 보니 작품이 좀 무겁고 진지했다. 희준이는 인공지능 로봇이 어떻게 사회를 관리하게 되는지를 그래프로 보여주었고, 나는 그걸 애니메이션으로 표현했다.
오후 4시 52분. 모든 조의 발표를 마치고 가방을 챙겨 오리엔테이션을 하던 2층 대회장으로 다시 내려갔다. 반마다 한 팀씩 선정하여 예술성을 평가한 아티스트상, 기술성을 평가한 테크니션상을 주었다. 부상으로는 ‘엔트리봇’ 보드게임, USB 메모리, ‘아이큐큐브’ 장난감을 주었다. 이후에 담임 선생님이 수료증을 나눠주셨고 기념 촬영을 끝으로 대회가 종료되었다.
생각보다 시간이 많이 부족해서 작품을 다 완성하지 못해 아쉬웠지만, 한편으로는 8시간이라는 긴 시간 동안 이렇게 친구와 코딩할 수 있어 즐거웠다. 평소에는 이렇게 코딩하며 여러 작품을 감상할 기회가 없었는데, 좋은 추억으로 남을 것 같다.
원문 : [앱센터 다큐 3] ‘주니어 해커톤’ 8시간의 참가 기록
안경은 앱센터 외부필진 / 자신이 하고 싶은 일을 하는 사람들을 좋아합니다. 그들의 이야기에 귀를 기울이는 것을 즐깁니다. 글로 정리해 사람들과 공유할 때 신이 납니다.