'코딩'. 요즘 참 많이 듣는 말입니다. 코딩은 소프트웨어를 동작시키는 프로그래밍을 일컫는 말입니다. 인터넷이 모든 사물에 연결되는 미래에는 프로그램을 짜거나 이해하는 코딩 능력이 중요합니다. 우리가 즐겨하는 게임은 코딩이 광범위하게 쓰이는 곳 중 하나입니다. 화려한 그래픽, 박진감 넘치는 액션은 모두 코딩의 산물이죠.
코딩 수업은 2018년 중학교, 2019년 초등학교 5·6학년 정규 교과목으로 편성됩니다. 초등학생은 17시간 이상, 중학생은 34시간 이상 의무적으로 코딩 교육을 받아야 하죠. 넥슨 같은 기업은 초등학생을 대상으로 코딩대회를 엽니다. 앞으로는 외국어를 배우는 것만큼 코딩 능력을 길러야 하는 시대입니다.
Q. 코딩이란 무엇인가요?
코딩은 컴퓨터가 이해할 수 있는 언어를 입력해 프로그램을 만드는 일련의 과정을 뜻합니다. 더 넓은 의미에서는 '프로그래밍'과 동일한 개념으로 씁니다. 교육 측면에서는 '소프트웨어 교육' 범주에 들어갑니다.
예를 들어, 프로그램상 A지점에서 B지점까지 공을 이동시킬 수 있도록 만들 때, '진입' '전진' '점프' 등 다양한 명령을 내리며 프로그램을 만들게 됩니다. 이때의 명령어들이 '자바, 자바스크립트, 파이썬, C+, C++' 등으로 불리우는 'C언어', '프로그래밍언어' 입니다. 이러한 언어를 입력해 컴퓨터가 작동하고 프로그램을 실행하게 하는 작업이 '코딩'입니다.
Q. 코딩은 왜 중요한가요?
다가오는 시대는 이른바 4차 산업혁명으로 일컬어질 만큼 기술집약적이고, 발전된 소프트웨어가 넘쳐나는 세상입니다. 컴퓨터, 스마트폰 등 시대를 바꾼 기기들부터, VR, 웨어러블, 음성인식 등 새로운 기술이 반영된 하드웨어까지 빠르게 변화하고 발전하는 기기들 모두 소프트웨어 기반으로 작동하고 소통하게 됩니다.
앞으로 이러한 소프트웨어는 신체의 '뇌'와 '심장'만큼 중요한데요. 소프트웨어는 다수의 프로그래밍으로 이루어집니다. 코딩을 아는 자, 코딩할 수 있는 인재는 컴퓨터에 더 효율적으로 일을 시킬 수 있게 됩니다. 인공지능(AI)이 비약적으로 발전하면서, 사람들의 일자리를 빼앗을 수 있다고들 합니다. 코딩을 다루면 이러한 AI에게 일을 시키는 더 우위를 점할 수 있습니다. 코딩에 대한 인지와 학습은 꼭 필요합니다.
Q. 코딩은 혼자서 시작 할 수 있나요?
최근에는 코딩의 중등교육 의무화 등 필수교과목으로 지정됐습니다. 싫어도 배워야하죠. 프로그래밍과 관련된 책들도 많이 출판되었고, 인터넷에서도 코딩과 관련한 정보를 많이 얻을 수 있습니다.
'코딩'은 '논리적인 길찾기'와 같은 맥락으로, 먼저 능동적으로 사고하고, 적극적으로 실행하는 것이 중요합니다. 모르는 것을 스스로 찾아나서는 것이 중요한 만큼, 코딩 역시 혼자서도 얼마든지 시작 할 수 있습니다.
고급 C언어, 프로그래밍 언어를 학습하기 보다는 앞서 프로그래밍을 시작한 사람들을 멘토로 삼아 가이드를 받거나, 스크래치, 블록코딩 등 쉽고 재미있게 입문할 수 있는 프로그래밍 플랫폼을 먼저 접하고 이해하며 흥미를 높여나가는 것이 좋습니다.
Q. 게임회사가 직접 코딩대회를 개최하는 이유는 무엇인가요?
청소년을 대상으로 한 사회공헌사업이라는 측면이 큽니다. 이번에는 미래세대 인재 육성과 교육지원적인 측면에 초점을 맞추는 것이죠.
2018년 공교육 내 소프트웨어 교육 필수화를 앞두고, 다양한 방식으로 삼성, 네이버 등 여러 IT 회사에서 코딩 관련 교육 프로그램들이 제공합니다.
게임은 코딩의 집약체입니다. 청소년들에게 인기가 높죠. 게임회사가 코딩 대회를 여는 것은 자연스럽습니다.
넥슨이 매년 여는 NYPC는 게임회사다운 접근을 통해 청소년들이 프로그래밍에 관심을 가질 수 있도록 유도합니다.
정해진 답을 외워서 풀 수 있는 문제가 아닌, 다양한 사고를 통해 답을 찾아가는 CT(Computation Thinking) 과정을 경험하는 대회입니다. 넥슨 개발자들이 게임 캐릭터 및 스토리를 활용해 독특하고 재미를 느낄 수 있게끔 직접 출제했습니다.
넥슨은 앞으로도 NYPC 대회 개최를 통해, 프로그래밍 교육 필요성과 경험에 대한 동기를 부여하고 어린학생부터 고등학생까지, 코딩실력을 검증하고 싶은 사람부터, 코딩을 경험하고 싶은 사람까지, 모두가 참여할 수 있도록 문제 난이도를 다양하게 조정하고 연령별 맞춤형 대회 운영을 진행할 계획입니다.
Q. 코딩을 공부하는데 있어 경진대회는 어떤 의미가 있을까요?
프로그래밍은 개인에 따라 다양한 과정이 나올 수 있습니다. 그래서 이런 대회들은, 다른 친구들은 어떻게 해결을 하는지 확인과 검증을 해 볼 수도 있고, 또 같은 고민과 공부를 하고 있는 친구들을 만나고 소통할 수 있는 놀이마당, 축제와 같은 장이 되기도 합니다.
코딩을 정복하고 싶은 학생들은 이런 대회에 많이 참가하면서 경험을 높이는 것도 많은 도움이 됩니다. .
우리나라는 아직은 소프트웨어 교육이 적고 일방향적인 편입니다. 대학교 혹은 직장(사회교육)까지 가야 비로소 질 높은 교육을 접할 수 있습니다. 하지만 코딩은 교과서를 외우거나, 시험을 치면서 점수를 잘 받는 그런 학문이 아닙니다. 능동적으로 생각하고, 적극적으로 도전하고, 생각한 내용을 그대로 프로그램으로 만들어 보는 경험이 더욱 중요한 필수덕목입니다.
정부가 교육 의무화를 진행하는데, 이것이 또 다른 학습으로의 압박으로 이어지거나 강요가 되지 않아야 합니다. 새로운 영역에 대한 경험의 장이 되는 방향이면 좋겠습니다. 특히, 사교육 열풍으로 가는 것은 조심해야하죠.
코딩은 정말 좋은 도구입니다. 지금부터 펼쳐질 다음 시대를 살아가는 어린 친구들은 정말 밀접한 영역이고 더욱 중요한 인재로 거듭날 수 있는 도구이자 밑거름으로 작용할 것입니다.
[책소개]
◇쉽고 재밌는 컴퓨터와 코딩, 어스본코리아 펴냄, 글 로지 디킨스, 그림 쇼 닐센
코딩에 대한 정보가 전혀 없는 이들을 위한 책. 기본적인 컴퓨터 개념과 원리부터 설명한다. 100개 플랩을 하나씩 열어 따라가다 보면 코딩의 응용과 실전까지 완성할 수 있다.
첫 번째 단계에서 컴퓨터가 무엇인지부터 알아본다. 두 번째 단계에서는 컴퓨터가 어떻게 작동하는지, 어떻게 생각하는지 알아본다. 컴퓨터가 명령어를 따라 일을 한다는 걸 알 수 있다.
세 번째 단계로, 컴퓨터에게 명령하는 방법을 알아본다. 화면을 그대로 옮겨 놓은 장면의 플랩을 들추며 프로그램을 이해하는 방식이다. 안내를 따라 간단한 프로그램을 만들어 볼 수 있다.
◇프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략1,2, 인사이트 펴냄, 구종만 지음
이 책은 프로그래밍 대회 문제를 풀면서 각종 알고리즘 설계 기법과 자료 구조에 대해 배우고, 나아가 문제 해결 능력까지 키울 수 있도록 구성했다.
각 장에는 독자가 스스로 프로그램을 작성해서 채점 받을 수 있는 연습 문제들을 포함했다. 모든 연습 문제에는 예제 답안과 답안을 설계하는 과정의 세세한 해설이 첨부 되어 있어 프로그래밍을 시작하는 사람부터 대회에 도전하는 사람까지 두루 프로그래밍에 대한 궁금증을 해결할 수 있다.
김시소 게임 전문기자 siso@etnews.com