"요즘 엄마들 사이에서 '국영수코'라는 말이 유행이에요. 코딩이 대학입시를 결정짓는 주요 과목에 포함된다는 의미죠."

최근 초등학교 4학년인 아들을 코딩학원에 보낸 학부모 김진경(48·서울 양천구)씨가 말했다. 초등학교, 중학교에서 소프트웨어교육이 의무화되면서 프로그램을 개발하는 과정인 코딩교육에 너도나도 열을 올리고 있다. 코딩 과목을 개설한 학원·교습소도 인기다. 서울시교육청에 따르면, 서울에 코딩 과목을 개설한 학원·교습소는 지난 2015년 3곳에서 올해 1월 1일 기준 90여 곳으로 늘었다. 4년 만에 30배나 증가했다. 사교육에 의존하지 않고 효과적으로 코딩 실력을 높일 수는 없을까.

지난해 개최된 ‘제2회 전국 어린이 코딩 경진대회’ 모습.

◇소프트웨어 중심 사회서 꼭 필요한 지식

코딩을 '왜' 배워야 하는지 알아야 동기 부여가 되는 법이다. 코딩교육의 목표는 '컴퓨팅 사고력' 증진이다. 컴퓨팅 사고력은 컴퓨터처럼 복잡한 문제를 논리적, 효율적으로 해결하는 능력이다. IT 분야 전문가들은 코딩 과정에서 작업을 설계하고 실행, 보완하며 컴퓨팅 사고력을 기를 수 있다고 말한다. 애플의 창업주인 스티브 잡스가 "누구나 프로그래밍을 배워야 한다. 사고하는 법을 가르쳐주기 때문"이라고 말한 까닭도 여기에 있다.

소프트웨어 활용 범위가 넓어지는 것도 코딩 역량을 키워야 하는 이유다. 소프트웨어는 현재 산업 전 분야에 영향을 미친다. 소프트웨어정책연구소에 따르면 국내 소프트웨어 시장 규모는 오는 2022년에 14조8000억원을 기록할 전망. 지난해보다 약 1조4000억원 늘어난 규모다. 이재호 경인교대 컴퓨터교육과 교수는 "코딩 역량은 소프트웨어가 지배하는 미래 사회에서 살아남기 위한 생존 전략이나 다름없다"고 했다.

이미 영국 등 선진국은 개인, 나아가 국가의 미래 경쟁력 강화를 위해 코딩교육을 활발하게 펼친다. 영국은 2014년부터 세계 주요 20개국(G20) 중 최초로 5~16세 교육 과정에 코딩을 비롯해 컴퓨팅 기술을 알려주는 커리큘럼을 개설, 운영 중이다.

◇프로그래밍 언어, 단순 암기 지양해야

본격적으로 코딩하기 위해서는 프로그래밍 언어를 익혀야 한다. 인간이 하는 말(자연어)을 컴퓨터가 이해하지 못하기 때문이다. 반면 프로그래밍 언어는 컴퓨터가 알아듣는 말(기계어)로 번역이 가능하다. 전문가들은 입문자들에게 블록 기반의 프로그래밍 언어인 스크래치로 코딩을 시작할 것을 추천한다. 미국 매사추세츠 공과대학 미디어랩에서 개발한 스크래치는 자바, 파이썬 등 텍스트를 기반으로 한 프로그래밍 언어와 달리 복잡한 명령어를 문법에 맞게 입력하지 않아도 된다. 특정 기능을 담은 블록을 차곡차곡 쌓기만 하면 게임이나 애니메이션 등을 완성할 수 있다.

단, 교육용으로 개발된 스크래치를 활용해 실질적으로 상용되는 프로그램을 만들기는 어려워 텍스트 기반 프로그래밍 언어도 습득해야 한다. 전문가들은 코딩 입문자들이 쓰기에 적합한 텍스트 기반 프로그래밍 언어로 파이썬을 꼽는다. 다른 언어에 비해 문법이 간결해 비교적 수월하게 내용을 익힐 수 있어서다. '세상을 만드는 글자, 코딩'을 펴낸 박준석 변리사는 "유튜브 등을 활용하면 입문자들을 위한 '파이썬' 무료 강의 동영상을 쉽게 찾아볼 수 있다"며 "이 중 자신에게 맞는 강의를 찾아서 본 다음 영상에 나온 예시를 그대로 따라 하면서 복습하다 보면 프로그래밍 언어와 문법이 차차 손에 익는다"고 했다.

이때 언어 자체를 외우는 일에만 매달려서는 안 된다. 프로그래밍 언어는 언제든 생성되고 사라질 수 있기 때문이다. 이 교수는 "앞으로는 인공지능이 정교하게 문법 오류를 잡아낼 것"이라며 "그러니 인간은 논리적인 사고력을 바탕으로 기계가 찾아낼 수 없는 의미론적 오류를 발견하는 능력을 키워야 한다"고 강조했다. 이러한 능력은 순서도(일의 처리 순서를 기호와 도형으로 표현한 그림)를 논리에 맞게 설계하면서 터득할 수 있다. 건널목을 건넌다고 가정해보자. 사람들은 신호등이 '빨간색'이면 기다리고, '녹색'이면 건널목을 건넌다. 이 과정을 준비·처리·판단 등으로 나누고 나서 순서도로 나타내는 것이다.

배운 내용을 응용할 줄도 알아야 한다. 김종훈 제주교대 초등컴퓨터교육전공 교수는 "특히 부모가 곁에서 과제를 제시하면 효과적"이라고 조언했다. 자녀가 스크래치를 이용해 좌우로 움직이는 물고기를 제작했다면 여기에 '15도로 회전하는 기능을 추가해보라'고 숙제를 내주는 식이다.

◇대회 나가 실력 점검하고, 자신감도 키우고

코딩을 더 깊게 파고들고 싶다면 교육 프로그램에 참여해보자. 소프트웨어중심사회, 초등컴퓨팅교사협회 등의 홈페이지를 방문하면 지역별 코딩 캠프와 특강 정보를 얻을 수 있다. 박 변리사는 "막히는 부분에 대해 마땅히 물어볼 사람이 없으면 혼자 힘들어하다가 코딩 공부를 포기하게 된다. 이런 일을 막기 위해서라도 전문가들을 만나 잘못된 방향을 바로잡고 심도 있게 코딩을 익히는 시간이 필요하다"고 말했다.

대회에 참가해 실력을 점검하는 것도 좋다. 어린이조선일보가 주최하고 와이즈교육이 주관하는 초등생 대상 '전국 어린이 코딩 경진대회'가 다음 달 11일 고려대학교 세종캠퍼스에서 열린다. 이 대회에서는 당일 제시되는 주제와 연관된 내용을 자유롭게 코딩해 내면 된다.

매년 국내에서 12~19세 학생들을 대상으로 한 '넥슨 청소년 프로그래밍 챌린지'와 한국생산성본부에서 초·중·고교생 대상 '대한민국 SW코딩경진대회'도 진행된다. 이밖에 한국에듀테크산업협회에서 개최하는 '한국 메이커&코딩 경진대회', 전국컴퓨터교육협의회에서 여는 '전국 ICT창의성대회' 등도 있다. 대회는 아니지만 과학기술정보통신부에서 주최하는 '한국코드페어 알고리즘 히어로즈'도 추천할 만하다. 주어진 알고리즘 문제를 풀면 자신의 실력이 어느 정도인지 등급으로 매겨 알려준다.