내년부터 초·중·고생들의 소프트웨어 교육이 의무화된다. 초등학교는 5~6학년때부터 ICT(정보통신 기술) 단원을 17시간 이상, 중학교는 컴퓨팅 알고리즘과 프로그램을 34시간 이상, 고등학교는 정보 과목을 일반 선택과목으로 바꾼다. 나이에 맞게 다양한 분야에서 코딩 알고리즘을 배우게 하겠다는 게 교육부의 계획이다.
현재 교육현장에서는 몇백만원짜리 코딩교육학원이 등장하고 있으며 SW캠프가 생기고 있다. 또한 대학에서는 취업을 위한 프로그래밍 교육 및 IT동아리가 성행하는 등 열기가 뜨겁다.
‘3~4년 전만 해도 인문학 열풍이더니 이젠 코딩 교육해서 죄다 개발자로 키운다는 건가?’ 불과 10여년 전의 이공계 기피현상을 생각하면 현재의 상황은 다소 의아하다.

물론 수학을 공부한다고 수학자가 될 필요는 없고 문학을 공부한다고 소설가가 될 필요는 없다. 코딩을 공부한다고 개발자가 될 필요도 없다. 그렇지만 이런 갑작스런 관심은 조금 이해하기 힘든 부분도 있다. 누구나 자신이 만들고 싶은 프로그램을 만들 수 있는 능력을 길러주기 위함이라면, 이는 다른 분야들과의 형평성에 어긋나는 일이다. 컴퓨터 프로그램을 만들고 싶은 사람도 있을 테지만, 그렇지 않은 사람도 분명 있을 것이다. 자동차를 만들고 싶은 아이도 있을 것이고 멋진 건축물을 만들고 싶은 아이도 있을 것이다. 그렇지만 학교에서 그러한 방법을 가르쳐 주진 않는다. 단지 필요한 기본적인 기반 지식들을 교과 과정을 통해 기본지식을 배워나가도록 하고 있다. 그런데 유독 프로그래밍 분야만 교육을 하겠다고 하니 이해가 되지 않는다.
이러한 교과과목을 만들기 위해서는 가르칠 선생님이 필요한데, 어디서 그 많은 교사인력을 충족시킬 수 있는지도 의문이다. 일각에서는 기존 교사들을 교육시켜서 인력을 충족시킨다고 하는데 이는 소프트웨어 개발이라는 분야를 너무 쉽게 보는 것이 아닌가 하는 생각이 든다.
또한 프로그래밍 언어는 하나만 존재하는 것이 아니다. 컴퓨터가 보급되기 시작한 시점에 널리 교육이 이뤄진 ‘포트란’, 2000년대 초반까지 정보산업이란 과목으로 교육이 이뤄진 BASIC, 제6차 교육과정까지 교과서에 있던 ‘코볼’ 모두 각기 다른 프로그래밍 언어다. 웹페이지를 구성하는 ‘HTML’도, 아이폰용 앱을 만들 때 쓰이는 ‘오브젝트C’도 모두 하나의 언어들이다. 프로그래밍 언어의 종류는 실로 다양하며, 시대의 변화에 따라 다양한 언어들이 생겨나고 사라진다. 이와 같은 상황에서 어떠한 언어로 교육을 시킬까.
실제 개발자가 되기 위한 것이 아닌 교육적 목적이라면 일정한 성과를 달성할 수는 있을 것이다. 그러나 앞에서 의문을 가졌던 “누가 어떻게 무엇을 가르칠지”에 대한 고민이 있어야 할 것이다. 그리고 코딩을 배운다고 해서 창의력, 문제해결능력이 갑자기 생겨나지는 않는다. 물론 디버깅, 컴파일하는 기본적인 방법이야 알게 되었지만, 그걸 다른 곳에 적용한다는 것은 다른 이야기다. 또한 이런 교육적 목적은 코딩 교육이 아닌 다른 방법으로도 충족할 수 있다.

세계 저명인사들이 코딩교육의 중요성에 대해 이야기한다. 스티브잡스는 인터뷰에서 “모든 국민은 코딩을 배워야 합니다. 코딩은 생각하는 방법을 가르쳐주기 때문입니다”라고 했다. 많은 사람들이 코딩을 배워야 한다는 것에 주목한다. 하지만 중요한 것은 ‘생각하는 방법’이다.
코딩에 있어서 핵심은 알고리즘적 사고이다. 사실 SW교육의 목적은 이것이라고 생각한다. 그렇지만 이러한 알고리즘적 사고(흔히 논리적, 절차적 사고라고 부르는)는 오랜세월에 걸쳐서 우리 윗세대들도 코딩없이 습득한 사고이다. 코딩은 이러한 알고리즘적 사고를 기르기 위한 수단이며(물론 가장 중요한 기능은 프로그램 개발을 위한 수단이다) 이는 ‘수학’, ‘고전문학’ 등의 기타 학문을 익히며 충분히 습득할 수 있는 사고의 형태이다. SW교육에 대해서는 의문을 가지지 않는다. 다만 전 국민이 의무적으로 배워야 하는지에 대해서 의문이 들 뿐이다.
7~80년대 주산학원이 열풍이었다. 전자계산기가 없었던 70년대 말, 주산실력은 곧 취업과 직결되는 스펙이었다. 기업의 회계 작업도 주판을 이용하던 때였으니까. 물론 현재도 교육으로서의 효과는 있을지 모르지만 전자계산기가 있는 지금 누가 실무에서 주산을 사용할까 싶다.인공지능이 바둑기보도 익히는 세상이다. 미래에는 인공지능이 프로그램을 짜줄 지도 모르겠다. 과연 단순 코딩 기술을 가르치는 것이 미래를 위한 것인지는 생각해 봐야할 것이다.