정부에서는 2015년에 정규교육과정에 편입시킨다는 계획을 발표했고, 이미 대학을 온 인문계 전공 학생들조차 코딩을 배우고자하는 열기가 뜨겁다. 아마 이두희 선배님이 하는 무료코딩교육<멋쟁이 사자처럼>의 높은 경쟁률도 이런 분위기 속에서 나왔을 것이다.


1. 코딩 교육 시장이 커질 것은 사실이다. 하지만 첫 번째 시장은 거품시장이 될 것이다.


일단은 코딩교육 시장이 폭발적으로 성장할 것이라는 사실에는 이견이 없다. 첫 번째로 교육과정 편입으로 인해 학부모들이 사교육에 돈을 지출하기 시작할 것이다. 한국 아동청소년 교육 시장의 경우 그 교육을 받았을 때의 기대값이 금방 시장규모에 반영된다. 왜냐면 대부분의 학부모들은 근본적으로 공부에 대해 이해를 하지 못하고 있고, 사교육 업체는 "불안감을 극도로 조성하는"마케팅을 이용해 이를 충분히 활용하기 때문이다.특히 코딩과 같이 90% 이상의 학부모가 생소한 주제에 대해서는 "이건가보다"하고 무조건 비용부터 지출할 가능성이 크다.


하지만 이 기조가 지속될 것인가? 나는 여기에 이견이 있다. 코딩교육은 너무 과평가되었다. 코딩이 많은 문제를 해결해줄 것이라 얘기하지만 실제로 코딩의 본질을 이해한다면 금방 그렇지 않다는 것을 이해할 것이다. 아래에 그 것에 대한 이야기를 더 길게 서술할 것이다. 일단은 코딩 교육에 대한 기대값이 어떻게 변해갈지를 살펴보자.


그래프가 낯이 익는가? 그렇다. 이 그래프는 그 유명한 가트너 곡선이다. 가트너 곡선은 신기술이 등장했을 때 사람들의 기대감에 대한 변화를 나타낸 곡선이다. 물론 실제 그 기술이 성공적으로 사용되느냐는 이 곡선 자체만으로는 표현되지 않는다. 필자가 굳이 이 곡선을 가져온 이유는 현재 코딩을 바라보는 일반 대중의 관점이 신기술을 보는 것과 전개관점에서 매우 유사하기 때문이다.

신기술이 등장하면 유명한 사람들이 이 기술이 가져올 미래에 대해 이야기하고 이는 구체적인 전공지식이 없는 언론과 경영학계를 거쳐 마케팅 용어로 변해간다. 마케팅용어가 되면 모든 사람들이 실체보다는 그 단어에 집중을 하며 이에 대한 사업기회를 찾거나 포럼을 열거나 하게 된다. 현재 코딩 교육도 그렇다. 몇개 국가의 정부와 성공한 스타트업 대표들이 코딩이 슈퍼파워라고 얘기를 하자 그에 대한 이해도가 매우매우매우 떨어지는 정부조직과 언론들이 이에 가세하여 마치 모든걸 해결해 줄 교육인 것 처럼 기대감을 고조시키고 있다.

하지만 대부분의 신기술과 마찬가지로 코딩 교육도 성급하게 뛰어든 부분에 대해서는 "엇 생각보다 별거 없네?"하는 엄청난 역풍을 맞기 시작하는 때가 올 것이다. 실제로 "코딩"이라는 것은 본질이 없기 때문이다. 지금 뛰어들고 있는 업체와 기관은 대부분 껍데기만 들고 있다. 그래프가 첫 번째 바닥을 찍은 거품이 꺼지는 그 때가 코딩의 본질을 이해한 교육 업체들이 서서히 시장규모를 다시 끌어올리는 시기가 될 것이다.





2. 거품시장은 어떻게 꺼질 것인가?


나는 개인적으로 공교육에서의 코딩 교육을 찬성한다. 하지만 섣불리 시작하기 전에 꼭 생각해봐야할 내용이 있다. 그 내용은 바로


"왜 지난 60년간 교수들은 대학에서만, 필요한 사람한테만 코딩을 가르쳤는가"이다.


그렇다. 코딩이 탄생한 이래로 수십년간 몇몇의 올림피아드생을 제외하고는 코딩교육은 대학 아래로 내려간 적이 없다. 올림피아드생은 어느 과목인건 대학과정을 미리 공부를 하니 예외로 두자. 

이러한 교육은 다양하다. 자동차엔진에 대한 역학도, 우리 플러그에 쓰는 교류전기에 대한 이해도 배를 건조하는 방법도 모두 중고등학교에서 가르치지 않는다. 그럴 수 밖에 없다. 왜냐하면 이 내용들을 이해하기 위해서는 많은 선수학습이 필요하기 때문이다. 자동차 엔진을 이해하려면 동역학 뿐만 아니라 재료에 대한 이해도 있어야하고 열역학에 대한 이해도 있어야한다. 물론 연소하는 원료를 이해하는 화학적 지식도 있어야할 것이다. 대부분은 고등학교를 졸업할 때 까지도 이런 지식을 습득하기 힘들기 때문에 엔진에 대해서는 대학교 때 가르치는 것이다. (많은 경우 이런 과목은 대학원으로 넘어가기도 한다.)

코딩도 본질적으로는 대학에 가서야 가르치는 이유가 있다. 코딩을 제대로 하기 위해서는 수학적 배경과 문제해결적 사고능력이 성인 중에서도 매우 뛰어나야하기 때문이다. 극한의 개념이 없는 학생이 알고리즘 최적화에 대해 이해할 것이라 기대할 수는 없다. 특히 코딩은 개인의 재능과 수학적 능력이 크게 영향을 주는 분야기 때문에 초중고등학생한테 지금의 코딩 교육을 그대로 한다는 것은 말이 되지 않는다. 필자가 현재 번역하고 있는 스탠포드의 How to start a startup 강의에서는 미국 전체에서 최고의 학업성취도를 자랑하는 그 학생들에게

" Mediocre Engineers do not build a Great Company " 

라는 문장을 강조한다. 이미 고등학교 때 최고로 치던 학생들 중에서도 실제 소프트웨어 엔지니어가 될 수 있는 사람이 적다고 공언하고 있는 것이다.

자 그럼 이제 논점이 "직업적으로 하기 위해서만 배워야 하는가?"로 넘어오게 된다. 물론 아니다. 앞서 말했듯이 난 코딩 교육을 찬성한다. 하지만 우리가 이 대학에서 배워야할 내용을 섣불리 고등학교 중학교 초등학교 과정으로 가져오면 어떻게 될지 이미 알고 있다. 

그것은 기술과정 과목으로 편입될 만큼 단편적인 수준에서만 배우게 되는 것이다.

실제로 앞서 예시를 든 자동차 엔진은 이미 기술가정 시간에 배우도록 되어있다. 선수학습이 되어있지 않은 학생들이 코딩에 자체만에 대해 제대로 배울 수 있는 것은 그 기술과정 교과서의 엔진에 대한 설명 수준을 넘지는 않는다.


어떤가? 기대치가 당연히 내려갈 것이다. 처음에는 대단한 것이 있는 줄 알았는데 막상 선수학습이 되어있지 않은 상태에서 배울 수 있는 내용은 흥미롭게 읽어볼 기술가정 과목의 한 파트 정도인 것이다. 정말 이 자리에서 필자가 가르칠 수 있는 개념을 모두 읊을 수 있을 정도로 배울 수 있는 양이 적다.

이 것을 시장과 학부모가 깨닫는 순간 거품시장은 순식간에 무너질 것이고 생각보다 그 시기는 금방 올 것이다.




3. 그렇다면 코딩의 본질은 무엇인가?


필자는 정부에서 코딩교육을 하겠다고 무작정 발표했을 때 바로 정부가 코딩 교육을 이해하고 있지 못하다는 것을 단언할 수 있었다. 왜냐하면 한국은 아직 중고등학생들에게 계산기도 못쓰게 하고 있는 상황이기 때문이다.

중고등학교 수준에서 배울 수 있는 코딩은 계산기(어쩌면 공학용 계산기) 사용법을 익히는 것과 크게 다르지 않다. 물론 훨씬 더 다채롭긴 하지만 계산기의 활용가치가 사용자의 수학수준을 벗어나지 못하듯이 코딩의 활용가치 또한 사용자의 수학,논리수준을 벗어나지 못한다.

미국에서는 이미 중고등학생 때부터 계산기를 사용하면서 공부한다. 계산기를 활용하고 Numeric한 접근을 하는 법을 배우는 교육과정이 십수년 전부터 이미 존재해왔던 것이다. 미국 정부가 코딩을 가르친다고 할 때는 그 발판이 마련되어 있는 것인데, 한국 정부는 대책없이  십수년을 뛰어넘고 바로 코딩교육을 하겠다고 하고 있는 것이다.


코딩의 본질은 우리가 알고 있는 수학적 사고를 언어로 표현하는 것이고 이는 간단한 식을 받아주는 계산기를 사용하는 것과 본질적으로 다르지 않다.


이렇게 얘기하면 "언어라도 미리 배워두는 건 어떤가" 하는 질문이 나올 수 있겠다. 일단은 찬성하지만 지금 정부와 언론이 얘기하는 이유 때문은 절대 아니다. 컴퓨터 언어라는 것이 중고등학교 배경지식과 사고력을 가지고 배우기에는 너무 삭막하고 단순하다. 배울 것이 별로 없다. 분기와 반복이 배울 수 있는 대부분의 구조이다. 그 자체만은 한 두시간이면 배울 수 있는 내용일 수 있는데 이를 이렇게 거창하게 과목까지 만들면서 배울 필요는 없는 것 아닌가?



4. 코딩 교육은 어떻게 진행되어야 할까?


지금 대부분의 코딩 교육은 초중고등학교 시스템에 적용하기 힘들다. 단편적이거나 너무 재미 위주거나 너무 실무 위주이기 때문이다. 필자가 주장하는 이상적 코딩 교육 방식은 다음과 같다.




결국은 코딩은 새로운 과목이 아니라 각 과목의 연습문제를 대체하는 방식으로 교육되어야 한다는 것이 핵심이다.


예시를 하나만 보자. 우리는 등비수열과 등비수열의 합을 구하는 방법을 수1시간에 배운다. 이는 이해와 적용을 한번에 해볼 수 있는 좋은 주제이다.

처음에는 공비가 2이고 첫 항이 3인 등비수열의 5항 값을 코딩을 통해 구해보게 한다.

그 뒤 적용 범위를 넓혀 첫항과 공비와 항수를 입력받으면 수열의 n번째 항과 n번째항까지의 합을 출력해주는 프로그램을 짜도록한다. 반복문과 대입수식 몇 개로 구현해낼 수 있을 것이다. 그 뒤에는 공비 값을 1미만과 1초과의 값으로 나누어 무한루프에 가까운 반복문을 돌려 결과를 확인하게 해본다. 이때 공비가 1보다 작으면 항이 늘면 늘수록 수열의 값과 수열의 합이 어떤 값에 다가가는걸 학생들이 직관적으로 관찰할 수 있는데, 그러는 이유에 대한 궁금증이 생겼을 때 쯤 무한수열과 무한급수에 대한 얘기를 시작한다.


개념과의 상승작용이 없는 코딩교육은 가르칠 내용이 너무나 적을 뿐더러 학생에게 아무런 도움도 되지 않는다. 학교건 사업체건 정부기관이건 이 부분을 반드시 염두해 두어야 코딩 교육을 안착 시킬 수 있다.




이런 방식의 교육을 하기 위해서는 기존 교육과정도 잘 이해하고 있고 동시에 소프트웨어에 대한 깊은 지식이 있는 사람들이 오랜 연구를 하고 거품시장이 꺼질 때 쯤 등장해 주어야한다. 우리 에듀캐스트가 매우 이상적인 팀이긴 하지만 이 시장은 모두에게 열려있다고 본다.



출처 : http://taeyoungpark.tistory.com/108

+ Recent posts