창조경제 덕분인지 프로그래밍/코딩 교육 논쟁이 일고 있다. (프로그래밍과 코딩은 같은 단어라고 생각하므로 이하 코딩으로 씀.) 정부에 계신 분들도 나름 다 잘 먹고 잘 살아보겠다고 하는 일이니 너무 비난조로만 말할 것은 아닌 것 같고, 여러 분야의 의견을 구해 좋은 방향으로 진행이 되면 좋겠다. 최근에 읽은 충격적인 베트남의 전산 교육과 내가 초등학교 시절에 배웠던 프로그래밍 수업에 대한 경험담으로 나의 생각을 간단하게 말해보고자 한다.

2013년, 베트남의 전산/코딩 교육

두 달 전, 상당히 놀라운 블로그 글을 읽었다. 이 글의 내용을 먼저 옮겨본다. 구글의 교육 부서에서 일하는 Neil Fraser 씨는 베트남에 가서 어떻게 학교에서 전산(computer science)이 교육되고 있는지 탐방을 하고 그 경험담을 적었다.

베트남에서는 초등학교 2학년부터 컴퓨터 교육이 시작된다는데 시작은 웃기다. 플로피 디스켓이 나온다! 초등학교 3학년은 윈도우와 워드 사용 법을 배운다.

(사진은 모두 Neil Fraser 씨의 블로그에서 가져옴.)

여기까지 봤을 때는 그냥 베트남 컴퓨터 교육을 비판하려고 하는 것인가 했다. 그런데 4학년부터 Logo라는 프로그래밍 언어로 코딩을 시작한다고 한다. 그리고 5학년이 되면 제법 복잡한 그림도 그린다.

여기서 Neil Fraser 씨는 미국의 전산 교육과 간단히 비교한다. 그가 샌프란시스코의 몇몇 학교에 가서 과학과 컴퓨터를 가르쳐보니 11-12학년 (우리의 고2-3)인 학생들이 HTML 이미지 태그와 씨름하고 있었다고 한다. 순환문/조건문 같은 프로그래밍의 기본 개념에 대해 잘 이해하지 못했다고 한다. 전산 관련 숙제는 학교에서 금지되고 있었다.

이어 Fraser 씨는 그 베트남 학교에 무엇을 도와줄 수 있느냐고 물었는데, 의외로 교육용 소프트웨어가 부족하다는 답변을 들었다. 그래서 Blocky Maze라는 프로그램을 만들었다. 나도 직접 프로그램을 가지고 놀아봤는데 기초적인 프로그래밍의 개념인 명령, 조건, 순환 문의 개념을 심어줄 수 있는 훌륭한 프로그램이었다.

미로를 찾아가는 알고리즘을 명령, 조건 분기문, 순환문의 블럭을 조합해 코딩함.

이 프로그램을 받은 학교는 이걸 토대로 전산 수업을 더 만들 것이라고 약속했다. 그런데 두 명의 전산 교사를 구할 돈이 없었다. 전산 교사의 한 달 월급은 단 미화 100달러. Fraser 씨는 바로 돈을 뽑아 학교에 주고 내년까지 수업을 할 수 있도록 도왔다.

그렇다면 베트남의 11학년 (대략 고2)는 어떤 수준의 내용을 배울 것인가? 그래서 Fraser 씨는 한 고등학교의 전산 수업에 사전 통지 없이 불쑥 찾아 갔다고 한다. 그랬더니 아이들은 아래와 같은 놀라운 문제를 풀고 있었다.

이 프로그래밍 문제의 입력 파일은 여기서 받을 수 있다.

문제를 해석해보면 루트 2 길이의 막대를 한 변이 1인 격자에 대각선으로 놓아 미로를 만든다. 막대로 둘러 쌓인 공간은 사방이 모두 막힌 닫힌 공간도 있을 것이고 열린 공간도 있을 것이다. 여기서 닫힌 공간의 총 개수를 구하고 그 중에서 가장 큰 것의 넓이를 구하라는 것.

헐… 이건 도대체 무엇인가. 이 문제를 본 동료 구글 원은 상당히 어려운 축에 속한다고 평가했다. 나도 문제를 좀 보고 생각해봤는데, 바로 즉석 코딩을 하라면 벅찰 것 같았다. 그런데 만나본 베트남의 11학년 아이들의 대부분은 이 문제를 파스칼(Pascal) 프로그래밍 언어로 45분 정도에 다 구현하고 풀었다고 한다.

(나의 생각: 유사한 문제로 훈련을 했다면 충분히 가능하다. 마치 어려운 미적분학 문제도 연습만 하면 척척 풀 수 있듯이. 따라서 이 문제 자체를 풀었다는 것에 너무 놀랄 필요는 없다고 본다.)

Fraser 씨는 자신의 경험을 베트남의 고등학교에 알려주려고 했는데 오히려 배웠다고 한다. 베트남은 어떻게 전산 교육이 이뤄져야 하는지 잘 보여주는 예라고 칭송한다. 그는 모든 학생들에게 일찍 코딩 교육을 시킬 것을 주문하고, 코딩에 열정적인 학생들에겐 성장할 수 있는 무한한 기회를 줘야 한다고 주장한다. (원 블로그에 강조가 되어있길래 나도 강조를 함.)

베트남의 이런 전산 교육이 도입된 것은 얼마 되지 않은 일이라고 한다. Fraser 씨는 아직까지는 대학교의 전산 교육 과정에 대해서는 좋은 인상을 못 받았다. 그런데, 이제 어려서부터 전산을 배운 학생들이 대학교에 가면 크게 바뀔 것이라고 이야기 한다.

Fraser 씨는 이제 강도 높게 미국의 전산 교육에 대해 비판한다. 전산은 수학/물리/영어 같은 중심 과목이 아니다. 학교와 선생님들은 전산학 교육을 해야 할 필요성을 못 느끼고 웹 페이지 만드는 것을 컴퓨터 교육으로 착각하고 있다. 학부모는 대학교 입시와 직접 상관이 없으므로 반대하고, 학생들 역시 전산은 너드(…)라는 인식이 있어 기피한다. Fraser 씨는 구글에서 컴퓨터 교육 관련 일을 하고 있는데 막대한 투자와 노력을 하였지만 미미한 영향만 있었다고 실토한다. 그러면서 현재 미국에서 전산 교육을 전체적으로 바꿀 희망은 적다고 한탄한다.

1988년, 대한민국의 코딩 교육

이제는 내 경험담을 써보자. 벌써 25년 전이다. 1998년, 내가 초등학교(국민학교) 저학년일 때 학교에 삼보 애플 II 호환 컴퓨터 30-40여 대가 들어왔다. 컴퓨터 수업을 배우고 싶은 학생들이 방과 후 수업으로 컴퓨터를 배울 수 있었다. 당시 컴퓨터는 8비트였으며 모니터는 녹색의 단색이었다. 나는 그때 컴퓨터를 어떻게 영어로 쓰는지도 몰랐다. 그런 애들 데려다 놓고 학교에서 가르친 것이 뭐냐면 그 유명한 BASIC 프로그래밍 언어였다. 그렇게 처음 컴퓨터 프로그래밍을 접했다.