"틀렸네. 지우고 처음부터 다시 하자."
시모어 페퍼트의 책 『마인드스톰』(1980)에는 파멜라라는 아이가 나옵니다. 파멜라는 컴퓨터에게 네모 그리는 법과 세모 그리는 법을 가르쳐 둔 참이었습니다. 그러다 생각이 하나 떠오릅니다. 네모 위에 세모를 얹으면 집이 되겠구나. 아이는 HOUSE라는 새 명령을 만들고, 그 안에 SQUARE와 TRIANGLE을 차례로 적어 넣습니다. 그리고 실행합니다.
세모는 네모 위가 아니라 네모 안에 그려졌습니다.
보통의 수학 시간이라면 여기서 이야기가 끝납니다. 페퍼트가 쓴 대로, 틀린 답을 받아 든 아이는 그것을 되도록 빨리 잊으려 하니까요. 파멜라는 지우지 않았습니다. 거북이가 지나간 길을 제 발로 따라 걸어 봅니다. 그러자 보입니다. 세모를 그릴 때 첫 번째로 도는 방향이 오른쪽이라, 세모가 네모 안쪽으로 말려 들어간 것입니다. 아이는 세모를 왼쪽으로 돌게 고칩니다. 집은 나아졌지만 이번에는 옆으로 누워 있습니다. 한 번 더 걸어 본 뒤, 맨 첫 줄에 '오른쪽으로 90도'를 넣습니다. 집이 바로 섭니다[1].
이 장면에서 눈여겨볼 것은 집이 아닙니다. 만들기가 배움이 되는 까닭은 완성된 물건에 있지 않고, 틀린 곳이 눈앞에 드러나서 고칠 수 있다는 데 있습니다.
이 글은 '만들면서 배운다'는 말을 여러 번 들었지만 그것이 왜 배움이 되는지는 석연치 않았던 분들을 위해 씁니다. 결론부터 말씀드리면, 페퍼트가 거북이 로봇으로 겨냥한 것은 코딩 실력이 아니라 틀린 것을 대하는 태도였습니다. 그 생각에는 뒷날 만들며 배우기(Constructionism)라는 이름이 붙었습니다. 다만 그렇게 배우면 다른 생각하는 힘까지 자라는지를 두고는 1984년부터 지금까지 연구가 엇갈려 왔습니다. 그 엇갈림까지 함께 보겠습니다.
거북이는 '생각하기 좋으라고' 만든 물건이었다
페퍼트는 1928년 남아프리카 프리토리아에서 태어난 수학자입니다[2]. 그는 제네바에서 심리학자 장 피아제와 다섯 해를 함께 일했고, 아이를 '자기 지적 구조를 스스로 짓는 건축가'로 보는 눈을 거기서 얻었다고 씁니다[1]. 미국으로 건너간 뒤 1967년, 월리 퍼자이그(Wally Feurzeig), 신시아 솔로몬(Cynthia Solomon)과 함께 어린이용 프로그래밍 언어 로고(LOGO)를 설계했습니다. 처음으로 움직인 거북이 로봇은 1969년에 나왔습니다. 줄로 컴퓨터에 이어진 채 바닥을 기어다니는 로봇이었습니다[3].
책이 그리는 거북이는 바퀴가 달리고 둥근 지붕을 쓴 기계입니다. 몸에는 펜이 달려 있어서 지나간 자리에 선이 남습니다. 자판으로 FORWARD 100이라고 치면 1mm쯤 되는 걸음으로 백 걸음을 곧장 나아가고, RIGHT 90이라고 치면 제자리에서 오른쪽으로 90도를 돕니다. 텔레비전 화면 속에서 움직이는 세모꼴 거북이도 있었습니다. 페퍼트는 이 물건의 쓸모를 한 줄로 못 박았습니다. 거북이는 프로그래밍하기 좋고 생각하기 좋다는 것 말고는 다른 목적이 없다고요[1].
당시 학교에 들어온 컴퓨터는 대개 연습 문제를 내고 맞았는지 알려 주는 기계였습니다. 페퍼트는 이것을 '컴퓨터가 아이를 프로그래밍하는' 꼴이라고 불렀습니다. 그는 방향을 뒤집었습니다. 아이가 컴퓨터를 가르칩니다. 로고에서 프로그래밍은 거북이에게 새 낱말을 가르치는 일로 소개됩니다[1].
이 발상의 뿌리는 그의 어린 시절에 있습니다. 책 서문에서 그는 두 살도 되기 전에 자동차 부품 이름을 줄줄 외웠고, 그중에서도 차동 기어를 안다는 것이 자랑이었다고 회고합니다. 학교에 들어가서는 구구단이 톱니바퀴로 보였고, 미지수가 둘인 방정식을 처음 만났을 때도 머릿속에서 톱니바퀴를 맞물려 보았다고 합니다. 그러고 나니 방정식이 편한 친구가 되었다는 것입니다. 그가 컴퓨터로 하려던 일은 아이마다 저만의 톱니바퀴를 갖게 하는 것이었습니다. 그는 이런 것을 '생각하는 데 쓰는 물건(object-to-think-with)'이라고 불렀습니다[1].
그러면 거북이는 아이들에게 무엇을 가르쳤을까요. 페퍼트의 답은 이렇습니다. 많은 아이가 배움을 '알았다' 아니면 '틀렸다' 둘 중 하나로 여기는 바람에 발목이 잡힙니다. 그런데 프로그램은 처음부터 맞게 돌아가는 일이 거의 없습니다. 뛰어난 프로그래머가 된다는 것은 프로그램이 제대로 돌지 못하게 막는 곳, 곧 버그를 찾아 고치는 데 능숙해진다는 뜻입니다.
프로그램을 두고 물을 것은 맞았느냐 틀렸느냐가 아니라, 고칠 수 있느냐이다.
— 시모어 페퍼트, 『마인드스톰』 (번역)[1]
비유하자면 암산과 종이에 적은 풀이의 차이입니다. 암산이 틀리면 남는 것은 틀린 답 하나뿐입니다. 풀이를 종이에 적어 두면 몇째 줄에서 어긋났는지 손가락으로 짚을 수 있습니다. 거북이가 바닥에 남긴 선은 아이의 생각을 종이 위로 꺼내 놓은 풀이였습니다.
한 가지는 분명히 해둘게요. 페퍼트 자신이 같은 대목에서, 좋은 배움의 전략을 얻는 데 꼭 컴퓨터가 필요한 것은 아니라고 덧붙였습니다. 잘 배우는 사람들은 컴퓨터가 생기기 한참 전부터 디버깅을 해 왔다는 것입니다[1]. 거북이는 그 오래된 요령을 아이 눈에 보이게 만든 도구였을 뿐입니다.
구성주의에서 글자 하나를 바꾸다
피아제의 생각은 흔히 구성주의(constructivism)라고 불립니다. 페퍼트는 1991년 이디트 하렐과 함께 낸 책의 첫 장에서, 자기 생각을 철자 하나가 다른 낱말 constructionism으로 구분해 불렀습니다. 그의 표현으로는 'V가 든 낱말'과 'N이 든 낱말'입니다. 우리말로 옮기면 둘 다 '구성주의'가 되기 쉬워서, 이 글에서는 뒤쪽을 '만들며 배우기'라고 부르겠습니다.
둘은 무엇이 다를까요. 지식은 건네받는 것이 아니라 배우는 사람이 스스로 짓는 것이라는 데까지는 같습니다. 페퍼트는 거기에 조건 하나를 보탰습니다.
이런 일은 배우는 사람이 남에게 내보일 무언가를 의식적으로 만들고 있을 때 특히 잘 일어난다. 그것이 바닷가의 모래성이든 우주에 관한 이론이든.
— 페퍼트·하렐, 'Situating Constructionism', 1991 (번역)[4]
두 가지를 짚어 둘 만합니다. 첫째, '만든다'는 말이 손에 잡히는 물건만 가리키지 않습니다. 모래성과 이론이 한 문장에 나란히 놓여 있습니다. 중요한 것은 재료가 아니라, 남이 볼 수 있는 곳에 내놓는다는 점입니다. 둘째, 페퍼트는 같은 글 첫머리에서 이 생각을 '만들면서 배우기' 같은 구호로 줄여 버리면 훨씬 얕아진다고 미리 경계했습니다[4].
페퍼트가 이 생각의 출발점으로 꼽은 장면도 컴퓨터실이 아니라 미술실이었습니다. 한 중학교의 7학년 학급이 한 해 동안 수학 대신 로고를 하던 때, 그 일로 학교를 드나들던 그는 오가는 길에 미술실을 들여다보곤 했습니다. 학생들은 비누를 깎아 조각을 만들고 있었습니다. 수학 시간의 문제는 그 자리에서 풀리거나 안 풀리고 끝납니다. 비누 조각은 여러 주 동안 이어졌습니다. 생각하고, 새로 떠오른 것을 해 보고, 버리거나 밀고 나가고, 옆 사람의 작품을 보고 제 작품에 대한 반응을 들을 시간이 있었습니다. 그는 중학교 수학 시간이 저랬으면 좋겠다고 생각했고, 이름을 붙이기 전까지 오랫동안 그 생각을 '비누 조각 수학'이라고 불렀다고 합니다[4].
다음 세대는 로고를 디버깅했다
1980년대에 수천 곳의 학교가 수백만 명의 학생에게 로고나 베이직으로 간단한 프로그램 짜기를 가르쳤습니다. 그러나 대부분의 학교는 얼마 안 가 컴퓨터를 다른 데 쓰기 시작했습니다. 페퍼트에게서 깊은 영향을 받았다고 밝힌 미첼 레스닉과 동료들은 2009년 글에서 그 까닭을 셋으로 꼽았습니다. 초기 언어는 문법이 까다로워 많은 아이가 넘지 못했습니다. 소수 목록 뽑기처럼 아이들의 관심과 동떨어진 활동으로 소개되곤 했습니다. 그리고 일이 꼬였을 때 곁에서 이끌어 줄 사람이 없는 자리에 도입되는 일이 잦았습니다[5].
이들이 내놓은 수정본이 2007년 5월에 공개된 스크래치(Scratch)입니다. 글자를 치는 대신 블록을 끼워 맞추게 해서 문법 오류가 생길 틈을 줄였습니다. 페퍼트가 말한 '낮은 바닥'(시작하기 쉬움)과 '높은 천장'(갈수록 복잡한 것을 만들 수 있음)에 '넓은 벽'(관심사가 다른 아이들이 저마다 다른 것을 만들 수 있음)을 보탰습니다. 이름은 디제이가 음반을 손으로 앞뒤로 긁는 기법에서 따왔습니다. 이리저리 만지작거리며 섞어 본다는 뜻입니다. 사이트의 중심 이용자는 여덟 살에서 열여섯 살 사이였습니다[5].
목표도 페퍼트와 같은 쪽을 봅니다. 레스닉 등은 직업 프로그래머를 기르는 것이 으뜸 목표가 아니라고 적었습니다. 문자를 보내고 게임을 하고 웹을 돌아다니는 데 익숙한 아이들도 스스로 게임이나 애니메이션을 만들지는 못하는데, 이는 읽을 줄은 알지만 쓸 줄은 모르는 것과 같다는 진단입니다[5].
레스닉은 2014년 글에서 창의적 배움의 요소를 네 낱말로 소개했습니다. 프로젝트(Projects), 동료(Peers), 열정(Passion), 놀이(Play)입니다. 여기서 놀이는 흔히 떠올리는 뜻과 다릅니다. 사람들은 놀이를 재미와 즐거움으로 생각하지만, 자기 연구 그룹은 놀이를 위험을 감수하고 새것을 해 보고 경계를 시험하는 태도로 본다고 그는 썼습니다[6]. 파멜라가 누운 집을 한 번 더 고쳐 본 것이 이 뜻의 놀이에 가깝습니다. 2017년에 낸 책 『평생 유치원』에서 그는 유치원이 점점 나머지 학교를 닮아 가고 있는데, 거꾸로 나머지 학교가 유치원을 닮아야 한다고 주장했습니다[7].
같은 무렵 화면 밖에서는 손으로 만드는 사람들의 움직임이 커졌습니다. 2005년 잡지 『메이크』가 나왔고, 이듬해 미국 캘리포니아 샌머테이오에서 열린 첫 메이커 페어에는 2만 명이 모였습니다[8]. 흔히 메이커 운동이라고 부르는 흐름입니다. 이 운동이 페퍼트의 생각을 직접 물려받았는지는 이 글에서 확인하지 못했습니다. 다만 만드는 일을 배움의 한가운데에 둔다는 점에서는 겹칩니다.
여기까지는 설계한 사람들의 말입니다. 무엇을 바라고 어떻게 만들었는지는 알 수 있지만, 바란 대로 되었는지는 따로 물어야 합니다.
그래서 생각하는 힘이 자랐나 — 근거는 갈린다
가장 유명한 찬물은 1984년에 나왔습니다. 뉴욕 뱅크스트리트 교육대학의 로이 피와 미디언 컬랜드는 맨해튼의 한 사립학교에서 한 해 동안 로고를 배운 아이들을 지켜보았습니다. 8~9세 25명과 11~12세 25명이었고, 아이들은 한 해에 평균 30시간쯤 로고로 프로그래밍을 했습니다. 연구진은 화분에 물 주기, 칠판 지우기 같은 교실 당번 일을 한 사람이 가장 짧은 동선으로 끝내는 계획을 짜게 했습니다. 프로그래밍이 계획하는 힘을 길러 준다면 여기서 차이가 나야 합니다. 차이는 없었습니다. 이듬해에는 연령대마다 32명을 대상으로, 일부러 프로그래밍과 닮게 만든 과제를 냈습니다. 컴퓨터 속 로봇에게 명령을 내려 당번 일을 시키는 것이었습니다. 이번에도 로고를 배운 아이와 배우지 않은 아이는 갈리지 않았습니다[9].
같은 해에 반대 결과도 나왔습니다. 켄트 주립대의 클레먼츠와 걸로는 초등학교 1학년 18명을 무작위로 나누어 12주 동안 한쪽에는 프로그래밍을, 다른 쪽에는 컴퓨터로 하는 연습 학습을 시켰습니다. 프로그래밍 쪽이 곰곰이 따져 보는 성향과 여러 갈래로 생각을 펼치는 능력에서 더 높은 점수를 받았고, 자기가 이해했는지 알아차리는 능력과 길을 말로 설명하는 능력에서도 앞섰습니다. 일반적인 인지 발달 검사에서는 차이가 없었습니다[10]. 다만 18명은 작은 숫자입니다.
페퍼트는 1987년에 반박문을 냈습니다. 그는 "로고가 효과가 있는가"라는 물음 자체가 잘못됐다고 보았습니다. "나무가 좋은 집을 만드는가"라고 묻는 것과 같다는 것입니다. 집을 짓는 것은 나무가 아니라 목수이고, 로고도 약처럼 투여하는 처치가 아니라 교실 문화에 녹아들 때 힘을 내는 재료라고 그는 주장했습니다. 두 연구가 갈린 까닭도 짚었습니다. 피와 컬랜드는 좁게 정한 계획 과제 하나로 쟀고, 켄트 주립대 쪽은 여러 표준 검사를 폭넓게 썼다는 것입니다[11].
그 뒤로 연구가 쌓였습니다. 2019년에 나온 연구 105편, 효과크기 539개를 한데 모은 분석(Scherer 등)이 지금까지의 큰 그림을 보여 줍니다. 효과크기 g는 두 집단의 평균이 얼마나 벌어졌는지를 점수의 흩어진 정도에 견주어 나타낸 값입니다. 전체 효과는 0.49로, 연구진은 이를 '중간 정도'라고 불렀습니다. 프로그래밍 실력 자체는 0.75, 프로그래밍 밖의 능력은 0.47이었습니다. 능력별로는 창의적 사고 0.73, 수학 0.57, 메타인지 0.44, 추론과 공간 지각이 각각 0.37, 학업 성취 0.28이었고, 읽기·쓰기는 −0.02로 효과가 확인되지 않았습니다[12].
풀어 말하면 이렇습니다. 프로그래밍을 배우는 것이 아무것도 하지 않는 것보다 낫다는 근거는 꽤 튼튼합니다. 프로그래밍이 다른 좋은 수업보다 낫다는 근거는 훨씬 약합니다. 정식으로 출판된 연구(0.60)가 그 밖의 이른바 회색 문헌(0.34)보다 효과를 크게 보고했다는 점도 걸립니다. 연구진 스스로도, 프로그래밍 밖의 능력으로 옮겨 갔다는 증거를 원인과 결과로 해석할 수는 없으며 다른 설명도 가능하다고 적었습니다[12].
미리 말씀드려야 할 것이 하나 더 있습니다. 이 분석이 잰 것은 창의적 사고나 수학 같은 인지 능력입니다. 페퍼트가 가장 바랐던 것, 곧 틀리는 것을 덜 두려워하게 되는지는 여기에 들어 있지 않습니다. 그 태도가 실제로 바뀌는지는 이 글이 확인한 자료만으로는 말할 수 없습니다.
페퍼트는 이런 반론을 예상한 듯한 문장을 1980년 서문에 남겼습니다. 톱니바퀴와의 만남은 자기 삶에 깊은 결과를 남겼지만 그것은 아주 여러 해 뒤의 일이었고, 두 살 때 사전·사후 검사를 했다면 놓쳤을 것이라고요[1]. 일리 있는 말입니다. 그러나 양날의 말이기도 합니다. 검사에 잡히지 않는 효과는 없는 효과와 구별하기 어렵습니다.
"정말 선생님도 모르세요?"
『마인드스톰』에는 파멜라와 반대편에 선 아이들도 나옵니다. 거북이로 집이나 사람을 그리려고 프로그램을 짭니다. 돌려 보니 안 됩니다. 아이는 고치지 않고 지웁니다. 아예 그만두기도 하고, 끈질기게 다시 하되 매번 처음부터, 단번에 '맞게' 해내려 합니다. 페퍼트는 그 마음을 이해할 만하다고 썼습니다. 어른 눈에는 작은 버그 하나가 있는 좋은 프로그램인데, 아이 눈에는 '틀린 것', '망친 것'입니다. 틀린 것은 나쁜 것이고 들여다볼 것이 못 된다고 학교가 가르쳐 왔기 때문입니다[1].
그 버릇이 풀리는 장면이 하나 있습니다. 5학년 아이 열두 명이 거북이 로봇으로 커다란 종이 현수막에 성탄 인사를 쓰기로 하고, 알파벳을 나누어 맡았습니다. 눈보라로 일이 밀리자 지도 교사가 원칙을 깨고 프로그램 일부를 집에서 직접 짜 왔습니다. 거북이 없이 짰으니 버그가 그대로 있습니다. 교사와 한 아이가 바닥에 앉아 거북이가 글자 R을 그리는 것을 지켜보는데, 비스듬한 획이 엉뚱한 자리에 그어집니다. 어디가 잘못됐을까. 함께 머리를 맞대던 아이가 문득 묻습니다. 정말 선생님도 고치는 법을 모르시는 거냐고요. 페퍼트는 이 물음이 아프다고 썼습니다. 그동안 어른이 "같이 해 보자"고 할 때마다 그 '같이'가 꾸민 것임을 아이가 알고 있었다는 뜻이기 때문입니다[1].
피와 컬랜드의 비판이 겨눈 곳도 여기입니다. 그들은 계획하는 힘이 로고 환경에서 저절로 길러지지 않으며, 예시와 과제와 직접적인 가르침을 알맞게 쓸 줄 아는 교사가 받쳐 주어야 한다고 결론지었습니다.
교사들은 가르치지 말라는 말은 들었지만, 가르침을 무엇으로 대신할지는 듣지 못했다.
— 피·컬랜드, 뱅크스트리트 교육대학 기술보고서 16호, 1984 (번역)[9]
비판하는 쪽과 비판받는 쪽이 뜻밖에 같은 곳을 가리킵니다. 페퍼트는 도구가 아니라 문화를 보라고 했고, 피와 컬랜드는 도구만 던져 주어서는 안 된다고 했습니다. 만들며 배우는 일에서 어려운 쪽은 아이가 아니라 어른입니다. 답을 모르는 채로 곁에 서 있어야 하고, 그러면서도 손을 놓아서는 안 되기 때문입니다.
필자 한마디
틀린 것을 얼른 지우고 싶은 마음은 잘못이 아닙니다. 틀리면 점수가 깎이는 곳에서 오래 배웠다면 누구라도 그렇게 됩니다.
"맞았니?"라는 물음을 "어디를 고치면 될까?"로 바꾸는 것, 만들며 배운다는 말의 알맹이는 그것입니다. 그러자면 틀린 것이 지워지지 않고 눈앞에 남아 있어야 합니다. 누운 집이 눈앞에 남아 있었기에 파멜라는 첫 줄을 고칠 수 있었습니다.
이 생각 자체도 같은 식으로 읽으면 좋겠습니다. 만들며 배우기는 맞다, 틀렸다로 판정이 끝난 생각이 아닙니다. 40년 넘게 고쳐 가는 중인 프로그램에 가깝습니다.
정리하자면 이렇습니다. 페퍼트의 거북이는 코딩을 가르치려는 기계가 아니라, 아이의 생각을 밖으로 꺼내 틀린 곳을 짚고 고칠 수 있게 하려는 물건이었습니다. 그는 이 생각을 피아제의 구성주의에서 철자 하나를 바꾼 이름으로 불렀고, 스크래치가 그 뒤를 이었습니다. 프로그래밍을 배운 아이들이 다른 능력에서도 앞선다는 연구는 많지만, 다른 수업과 견주면 그 차이는 크게 줄어듭니다. 그리고 어느 쪽 연구든 곁에 선 어른의 몫을 빼놓지 않습니다.
오늘 틀린 답 하나를 만나면, 지우기 전에 물어보세요. 이것은 전부 틀린 걸까요, 아니면 어느 한 줄이 어긋난 걸까요.
이 글은 일반적인 정보 제공을 위한 것입니다. 프로그래밍·만들기 수업의 효과는 수업 설계와 비교 대상에 따라 달라지므로, 특정 교육 프로그램을 고르실 때는 그 프로그램의 근거를 따로 확인하세요.
참고문헌
- Papert, S. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books, 초판 1980 (MIT 미디어랩이 공개한 2판 전문으로 확인. 집 그리기 60~62쪽, '고칠 수 있느냐' 23쪽, 지우는 아이와 글자 R 113~115쪽, 톱니바퀴는 서문). 링크 ↩
- 위키백과. Seymour Papert (백과). 링크 ↩
- 위키백과. Logo (programming language) (백과). 링크 ↩
- Papert, S., Harel, I. Situating Constructionism. Constructionism 1장, Ablex Publishing, 1991. 링크 ↩
- Resnick, M., Maloney, J., Monroy-Hernández, A. 등. Scratch: Programming for All. Communications of the ACM 52(11): 60–67, 2009. 링크 ↩
- Resnick, M. Give P's a Chance: Projects, Peers, Passion, Play. 2014. 링크 ↩
- Resnick, M. Lifelong Kindergarten: Cultivating Creativity Through Projects, Passion, Peers, and Play. MIT Press, 2017 (MIT 미디어랩의 책 소개문으로 확인). 링크 ↩
- 위키백과. Maker Faire (백과). 링크 ↩
- Pea, R. D., Kurland, D. M. Logo Programming and the Development of Planning Skills. Technical Report No. 16, Bank Street College of Education, 1984 (ERIC ED249930). 링크 ↩
- Clements, D. H., Gullo, D. F. Effects of computer programming on young children's cognition. Journal of Educational Psychology 76(6): 1051–1058, 1984 (초록으로 확인). 링크 ↩
- Papert, S. Computer Criticism vs. Technocentric Thinking. Educational Researcher 16(1), 1987. 링크 ↩
- Scherer, R., Siddiq, F., Sánchez Viveros, B. The cognitive benefits of learning computer programming: A meta-analysis of transfer effects. Journal of Educational Psychology 111(5): 764–792, 2019. 링크 ↩