소프트웨어(SW) 개발자 친구가 어느 날 SNS에 글을 올렸다. “내 자식은 절대 이 일 안 시킨다.” 홧김에 남긴 말이겠지만, SW 개발자에 대한 직업 선호도가 그리 높지 않은 것도 사실이다. 급여는 적고 업무시간은 길다는 인식이 많다. 그런데 정부는 전 국민을 개발자로 만들고 싶은 건지, 초등학생에게까지 ‘코딩 교육’을 의무화하겠다고 한다. 학부모들은 혼란스럽다. 코딩이 뭔지 모르는 부모라면 더욱 그렇다.

‘코딩’은 ‘프로그래밍’과 같은 말이다. 컴퓨터에게 뭔가를 시키는 ‘코드(명령문)’를 작성하는 일을 뜻한다(교육부는 ‘SW 교육’이라고 부른다). 코딩 교육이라고 하면 검은 화면에 열심히 영어 단어를 입력하는 것으로 여길 수도 있다. 수십 년 전, 동네 컴퓨터 학원에서 코딩 교육을 할 때는 그랬다. 예전에는 C나 BASIC 같은 특정 컴퓨터 언어의 ‘문법’을 주로 가르쳤다. 과거 영어 교육이 주로 문법 암기에 치중했던 것과 마찬가지다. 그나마 영어 문법은 잘 바뀌지 않지만, 컴퓨터 언어는 수십 가지가 넘는 데다 유행하는 언어도 자주 바뀐다. 많은 학생들이 금세 흥미를 잃었다.

ⓒ연합뉴스지난해 12월14일 한 코딩 교육 기업이 교육용 로봇을 활용해 어린이들에게 코딩 수업을 진행했다.

이제는 다르다. 코딩 교육의 목표는 어릴 적부터 논리적인 사고능력을 키우는 데 초점을 맞춘다. 컴퓨터 언어 문법과 상관없이 SW를 만드는 데 기본이 되는 사고체계를 가르치는 방식이다. 이를 ‘컴퓨팅 사고력(Computational Thinking)’이라고 한다.

컴퓨팅 사고력은 컴퓨터처럼 생각하는 능력을 뜻하는 게 아니다. 우리가 컴퓨터에게 요구하는 일은 ‘사진을 예쁘게 꾸며서 친구에게 보내기’처럼 매우 복잡하다. 이런 복잡한 문제를 논리적으로 분석해 잘게 쪼개고, 각각의 작은 문제들을 체계적으로 해결해야 한다. 창의적인 아이디어가 필요한 부분도, 도구를 잘 활용해야 할 필요도 있다. 다른 사람과 협력하는 능력도 요구된다.

이런 능력을 배우기 위해서 컴퓨터가 꼭 필요한 것은 아니다. 최근 유튜브에서 ‘정확한 설명서 만들기(Exact Instructions Challenge)’라는 동영상이 인기를 끌었다. 영상에서 아빠는 아이에게 샌드위치 만드는 법을 상세히 적어오라고 한다. 아이들이 설명서를 만들어오면 아빠는 컴퓨터처럼 적힌 대로 행동한다. 가령 아이들이 “잼을 발라라”고 적으면, 잼 뚜껑을 열지도 않고 빵에 문지르는 식이다. 아이들은 투덜대며 “잼 뚜껑을 연다. 나이프를 잼 통에 넣는다. 퍼낸다. 빵 옆면에 바른다”라고 설명서를 수정해온다. 아이들에게는 일상적인 활동과 사물을 좀 더 깊이 있게 생각해보는 동기가 될 수 있다.

이 영상은 ‘샌드위치로 아이들 코딩 교육 시키는 아빠’라는 제목으로 우리나라 온라인 커뮤니티에 소개되었다. 코딩 교육의 원리와 똑같기 때문이다. 이렇게 훨씬 복잡한 개념들까지 ‘몸으로’ 배울 수 있는 방법이 많이 나와 있다. 이런 활동을 전원 플러그가 필요 없다는 뜻에서 ‘언플러그드(Unplugged) 활동’이라고 한다.

컴퓨터를 이용해 코딩을 가르칠 때에도 타자를 치는 게 아니라 조립식 블록을 마우스로 옮기는 방식을 많이 쓴다. 이런 ‘교육용 컴퓨터 언어’로도 복잡한 프로그램을 만들 수 있다. 로봇을 움직여가며 코딩을 배우는 방법도 있다. 물리적으로 직접 확인할 수 있다는 뜻에서 ‘피지컬 컴퓨팅’이라고 한다. ‘코딩 교육’은 이처럼 다양하다.

코딩 교육 유행은 미국이 주도했다. 2013년 설립한 미국의 비영리단체 ‘코드닷오알지(code.org)’는 무료 온라인 코딩 교육과정을 만들어 대대적인 홍보에 나섰다. 이 단체는 SW 교육의 기회가 인종·성별에 따라 편중되어 있다고 보았다. 누구에게나 코딩과 컴퓨터 공학을 배울 기회를 제공해야 한다고 주장했다. 마이크로소프트·구글·페이스북과 같은 많은 거대 IT 기업이 이 단체를 후원하고 오바마 전 대통령도 적극적으로 나섰다. 공교육에 가장 적극적으로 도입한 나라는 영국이다. 영국 학생들은 만 5세부터 컴퓨팅 수업을 하고, 1300여 개 학교에서 무료 방과 후 프로그램인 ‘코딩클럽’을 운영한다.

어떻게 보면 현대사회에서 코딩을 배우는 것은 당연한 일이다. 스마트폰으로 장을 보고 택시를 부르는 것처럼, 일상 대부분을 SW에 의존하고 있기 때문이다. 매일 먹는 쌀밥이 어디에서 왔는지, 농사를 어떻게 짓는지 배우는 것과 마찬가지다. 식품의 원리를 가르치는 게 농부가 되라는 뜻이 아닌 것처럼, 코딩 교육 역시 아이들을 반드시 개발자로 키우기 위함은 아니다.

코딩영재스쿨 등 사교육 열풍도

물론 교양교육 차원에서만 코딩을 가르치는 것은 아니다. 미래 일자리 걱정을 안 할 수 없다. 미국 클린턴 정부에서 교육장관을 지낸 리처드 라일리는 “미래에 가장 유망한 10대 직업은 아직 존재하지도 않는다”라고 말했다. 아이들은 아직 없는 문제를 풀기 위해, 아직 없는 기술을 사용하게 될 텐데 우리는 ‘지금’ 아이들을 가르쳐야 한다는 맹점을 지적했다. 코딩 교육이 모든 것을 해결해주지는 않겠지만, 미래에 필요한 고차원적 사고력과 문제 해결 능력을 키우는 데 도움이 될 것이라는 기대에 여러 나라가 적극적으로 나섰다.

ⓒ김응창 제공컴퓨터 마우스로 조립식 블록을 옮기며 코딩의 기초를 배울 수 있다.

우리 정부도 “SW 중심 사회의 국가경쟁력을 확보하기 위해서”라며 코딩 교육의 명분을 내세웠다. 세계화 시대에 대비해 영어·중국어 교육을 강조한 것과 마찬가지다. 재작년에 개정한 교육과정에 따르면 곧 초등학교 5학년부터 중학교 3학년까지 매달 한 시간 정도 SW 교육을 받는다. SW 특기자 대입 전형은 수능점수 없이 수상 경력이나 동아리 활동 등을 보고 뽑는다. 카이스트와 고려대 등 10여 개 학교가 총 300명 이상의 학생을 뽑을 예정이며 앞으로 더 늘린다고 한다. 자연스럽게 사교육 열풍이 뒤따른다. 월 135만원이 드는 코딩영재스쿨이 등장했고, 2주일에 1000만원이 넘는 실리콘밸리 체험 프로그램도 나왔다. 줄넘기 과외도 있는 세상이니 뭔들 못하겠느냐만, 정보와 사교육의 격차로 인한 교육 불평등에 한술 더 보태지 않을까 염려되는 지점이다.

평범한 학부모라면 코딩 교육 시대를 어떻게 대비해야 할까? 많은 사람이 코딩이 적성이 매우 중요한 분야라는 점을 간과한다. 개인별 능력 차이도 크다. 1960년대 프로그래머 간 생산성을 비교한 연구가 있었다. 같은 일을 하는 데 걸리는 시간이 20배, 결과물의 성능(속도)도 10배까지 차이가 났다. 이후 여러 연구가 뒤따랐지만 뛰어난 SW 개발자는 평범한 개발자보다 10배 이상 생산성이 높다는 것이 일반 인식이다.

내신·대입을 생각하지 않더라도 내 아이가 코딩이 적성에 맞는지 확인해보는 것은 나쁘지 않을 것이다. 아이와 함께 무료로 코딩을 배워볼 기회가 많다. 정보통신산업진흥원이 운영하는 ‘SW 중심사회(www.software.kr)’에 다양한 참고 사이트가 정리되어 있고, 코드닷오알지에도 한글화된 콘텐츠가 마련되어 있다. 믿지 않는 사람도 있겠지만, 코딩은 음악·미술처럼 창의적인 활동이고 블록놀이만큼 재미있다.

기자명 김응창 (SK텔레콤 디바이스&시큐리티 랩 매니저) 다른기사 보기 editor@sisain.co.kr
저작권자 © 시사IN 무단전재 및 재배포 금지
이 기사를 공유합니다