◆컴퓨터와 소통력을 배우는 코딩교육
내년부터 중학교에 코딩교육이 의무화되고, 2019년부터는 초등학교 5, 6학년으로 확대 적용될 예정이다. 일주일에 1시간 정도의 코딩교육을 받게 될 것이다. 이미 영국·미국·중국 등 발 빠른 나라에서는 코딩교육을 실시하고 있다. 영국 정부는 2013년부터 코딩교육을 준비해 2015년에는 초·중·고교에서 코딩을 필수과목으로 가르치고 있다. 미국은 2014년 오바마 대통령이 직접 코딩교육을 강조해 ‘1주일에 1시간 코딩하기’라는 캠페인을 벌이기도 했다.
2016년 기준으로 볼 때 미국의 초·중·고 학생 중에 약 4분의 1이 코딩교육을 받고 있으며, 51개주 중에 28개주가 고등학생 대상의 코딩교육을 제공하고 있다고 한다. 코딩교육이란 컴퓨터 프로그래밍 언어교육의 다른 말이다. 예를 들어 AI 알파고를 만드는 일, 게임이나 홈페이지를 만드는 일, 그리고 윈도나 백신과 같은 프로그램을 만드는 일을 모두 코딩이라고 한다. 다시 말하면 내가 원하는 대로 컴퓨터가 일하도록 명령을 내리는 명령어를 배우는 것이다.
컴퓨터에게 명령을 하기 위해서는 컴퓨터언어를 이용해야 한다. 그래서 코딩교육은 컴퓨터언어를 배우는 과정이라 할 수 있다. 우리 인간이 사용하는 자연언어에는 한국어·영어·일본어·프랑스어가 있듯이, 컴퓨터언어에도 포트란(Fortran), 베이직(Basic), C, C++, 자바(Java), 파이선(Python) 등 다양한 언어가 있다. 우리가 살아가는 데 모든 언어를 알지 않아도 되듯이 컴퓨터언어도 모두 알 필요가 없다. 우리는 한 개의 언어를 사용할 줄 알면 생각을 정리하고 다른 사람과 소통할 수 있는 능력을 가지게 된다. 프로그램 언어를 배운다는 것은 컴퓨터의 사고작용과 논리를 이해하고 소통할 수 있는 방식을 배우는 것이다.
◆컴퓨터의 사고방식을 배우는 코딩교육
일반적으로 프로그래밍 교육은 다음 세 가지 단계로 이루어진다. 첫째 컴퓨터에게 시킬 일을 정의하는 것이다. 컴퓨터가 해야 할 일을 정확히 규정하고 입력과 출력을 정의한다. 예를 들어서 자판기가 스스로 돈을 받고 물건을 팔고 거스름돈을 돌려주도록 하는 프로그램을 만든다고 가정해 보자. 사람이 하는 일이 어디까지이고 자판기가 해야 할 일이 무엇인지를 명확히 해야 한다. 사람은 원하는 물건을 선택하고 돈을 넣는다(입력), 자판기는 선택된 물건과 함께 거스름돈을 돌려준다(출력).
두 번째는 자판기가 내부적으로 해야 할 일을 단계별로 세분화해 정의한다. 입력된 돈과 선택된 물건의 가격을 비교한다. 입력된 돈이 크면 물건과 거스름돈을 준다. 그 반대이면 물건을 주지 않고 돈이 부족하다는 신호를 표시한다. 거스름돈을 계산할 때에는 단순한 뺄셈을 한다. 이와 같이 계산과정을 논리적으로 설계한 것을 알고리즘이라 부른다.
세 번째는 앞에서 정의된 알고리즘을 컴퓨터언어로 변환한다. 이때 사용하는 언어는 어떤 것이 되더라도 상관없다. 마치 우리가 머릿속에서 생각하는 내용을 한국어로 표현하든 영어로 말하든 상관없듯이 말이다. 이와 같이 실제로 컴퓨터 언어로 바꾸는 과정을 특별히 코딩이라 부르기도 한다.
◆인간 기계 협업이 중요한 미래 공존사회
4차 산업혁명의 물결과 함께 AI시대가 성큼 다가오고 있다. 레이 커즈와일은 2045년이 되면 인간의 지능을 능가하는 기계가 출현할 것으로 예상하고 있다. 현재 AI의 능력 향상 속도를 보면 부정하기 어려운 예측이라 할 수 있다. 미래에는 AI가 우리 사회의 많은 부분에서 인간을 대신해 일하고 있을 것이다. 즉 인간과 AI가 파트너가 돼 공동 협력하는 사회가 되는 것이다.
이미 병원에서 암을 진단할 때 인간 의사와 AI 의사가 공동 협력해 진단결과를 하고 처방하는 협업 시스템이 시작됐다. 이미 AI 제품은 만들어져 있기 때문에 인간이 기계에 맞추어 일하는 형국이 되고 있다. 이러한 공존사회에서는 두 가지 이슈가 대두될 것이다. 첫째는 어떻게 하면 파트너 AI를 나에게 편리하게 만드느냐 하는 점이다. 만약 불편하고 비효율적인 기계와 일한다면 피곤한 삶이 될 것이다. 남이 만들어 놓은 AI를 사서 쓰게 되면 나의 취향은 반영될 여지가 없다. 결국 AI를 만드는 사람이 활용방식을 규정하게 되고, 결국 이것은 사회의 규범처럼 되고 만다.
예를 들어서 현재 마이크로소프트의 윈도즈가 널리 사용되다 보니, 윈도즈가 제시하는 데이터 입출력 방식이 데이터 사용의 규범처럼 되고 말았다. 애플과 구글이 개발한 스마트폰 운영체제도 모바일 데이터 사용방식을 규정하고 있다. 이와 같이 프로그램을 스스로 개발하지 못하는 사람은 남이 개발해 놓은 것을 사용할 수밖에 없고, 남이 만들어 놓은 방식에 따라 살 수밖에 없다. 더 나아가 프로그램을 이용한 비즈니스를 개발할 가능성이 떨어진다. 마이크로소프트, 애플, 구글, 페이스북 등 현재 세계를 주름잡고 있는 기업을 만든 사람들은 어려서 컴퓨터 프로그램을 하며 놀던 사람들이다.
◆남이 만들어 놓은 데이터 생활
두 번째는 협력 방식에 관한 것이다. AI 기계와 함께 협력하며 일해야 하는 세상이 오고 있다. 언급한 바와 같이 이미 병원에서 인간 의사와 AI 의사가 협진을 하고 있다. 알파고의 페어 바둑 시합에서 보았듯이 인간과 기계가 협력을 잘하는 팀이 우승한다. 공동 협력하기 위해서는 상대방을 이해하고 상대방이 원하는 바를 맞춰 주어야 한다. 미래 파트너와 협업을 하기 위해서는 기계를 이해해야 한다. 이해하지 못하면 파트너와 호흡을 맞출 수 없다. 기계와 하는 소통의 첫걸음은 기계의 언어를 이해하고, 기계의 사고방식을 이해하고, 기계의 행동을 예측해 그에 맞추어 주는 것이다. 만약 기계에 맞춰 주지 못하는 사람은 능력을 인정받지 못할 것이다.
미래 사회에는 높은 수준의 AI를 가진 기계와 인간이 공존하는 공존사회가 될 것이다. 이러한 사회에서는 내가 원하는 바에 따라 기계가 작동하게 명령을 내릴 수 있는 능력과 기계와 협업 능력이 매우 중요해질 것이다. 이 모든 것의 첫걸음은 기계가 사용하는 언어를 이해하고, 기계가 생각하는 방식을 이해하고, 기계를 내가 원하는 바에 따라 움직이게 할 수 있는 능력이다.
어떤 사람들은 묻는다. 코딩교육을 받지 않으면 안 될까요? 나는 당연히 문제없이 살 수 있다고 말한다. 지금도 영어를 모르고서도 잘사는 사람이 많다. 다만 영어를 모르면 정보 습득이 늦고 외국인이 있는 곳을 슬슬 피하며 살게 된다. 코딩도 마찬가지가 될 것이다. 남들이 규정해 놓은 방식에 따라 데이터 생활을 하고, 남이 만들어 놓은 회사를 이용하며 살면 된다.
KAIST 바이오뇌공학과 겸 문술미래전략대학원 교수

