[아이비리그 출신 김기영 대표의 IT교실] 코딩교육, 기본기의 중요성
조선에듀
기사입력 2017.12.06 09:56
  • 필자가 처음으로 코딩을 접한 시기는 고등학교 때였다. 현업에서 가장 많이 쓰이는 프로그램 언어 중 하나인 Java 부터 배우기 시작했다. 어려웠다. 단언컨대 고등학교에서 들은 모든 수업 중 가장 어려웠다. 필자는 수학 과학을 잘 하는 편이었다. 덕분에 미국 최초의 사립 고교인 ‘거버너 더머(Governor Dummer Academy)’에서 수석 졸업하는 영광을 안았다. 그럼에도 불구하고 코딩 수업만큼은 지금 생각해도 진저리가 날 정도로 힘들었다.

    이는 필자만의 문제가 아니었다. 실제 많은 이들이 코딩 공부를 어려워한다. 문과•이과를 불문하고 상당수의 학생들이 Java, C 언어 등 컴퓨터 공학 개론 수업만 듣고 코포자(코딩포기자)가 되어버린다. 왜 이런 현상이 반복적으로 발생하는 것일까?  

    문제의 근원은 ‘기본기’ 부족이다. 사람을 예로 들어보자. 아이들은 언어를 배울 때 먼저 소리를 들으며 사물을 보고 만진다. 그런 훈련들이 반복되다 보면 자연스럽게 언어를 체화하여 어느 순간 본인들의 생각을 말로 표현하게 된다. 그 후 다양한 교육과정을 통해 말하는 것을 글로 옮기는 수준까지 이르게 된다.

    컴퓨터의 언어 또한 마찬가지다. 먼저 보고 느끼는 것이 중요하다. 본인이 사용하는 컴퓨터의 언어가 무엇을 나타내는지 시각화(visualize)가 되어야 한다. 특히 컴퓨터의 세계는 인간에게 매우 낯선 영역이기 때문에 이리한 일련의 훈련 과정을 거치는 것이 더더욱 중요하다. 그럼에도 불구하고 전통적인 코딩교육 프로그램은 이런 과정을 건너뛰고 C언어•Java등을 바로 시작한다. 이는 마치 막 영어를 배우기 시작한 어린아이에게 성문 종합영어책을 던져주고 주입식 교육을 시키는 것과 비슷한 상황이다.

    좀 더 구체적인 코딩 기본기 훈련 방법을 순서대로 설명해보면 다음과 같다.

    1) 스크래치와 같은 시각적인 블록 코딩을 통해 논리적인 사고력을 키운다
    2) 블록 코딩에서 텍스트 코딩으로 전환하여 간단한 게임을 만들어본다
    3) 아두이노 등을 활용하여 코드가 하드웨어를 어떻게 작동 시키는지 실습한다

    국내에서는 특히 2번의 중요성을 간과하는 경우가 많은데, 본격적인 프로그래밍을 배우기 전 꼭 시간을 할애하여 배워볼 것을 추천한다. 1번 – 3번을 통해 기본기를 잘 쌓은 후에는 입문용 프로그래밍 언어로 C언어를 배우는 것이 좋다. 성인들의 경우 쓰임새가 많고 배우기 쉬운 Python이 무난할 수 있지만, C언어는 플랫폼 영향을 받지 않고 활용되는 유비쿼터스(ubiquitous) 언어이다. C 언어에 대한 개념이 잘 잡히면 다른 프로그래밍 언어들은 비교적 쉽게 배울 수 있다.

    물론 학생들 마다 개인차가 있기 때문에 어떤 이들은 필자가 언급한 기본과정이 필요하지 않을 수 있다. 하지만 동서고금을 막론하고 최후의 승리는 기본에 충실한 사람이의 몫이었다. 히딩크 감독이 2002년 월드컵에 앞서서 진행한 훈련의 핵심도 결국은 체력 훈련이었고, 한국의 대표적인 프로듀서 JYP 역시 뛰어난 뮤지션의 필수 자질 중 하나로 탄탄한 기본기를 언급한 바 있다. 

    코포자의 문턱까지 갔었던 유경험자의 입장에서 말하건데, 코딩 공부는 결코 만만치 않다. 잘못된 방식으로 어설프게 접근하면 죽도 밥도 안 될 수 있다. 급할수록 돌아가자.

  • ※에듀포스트에 실린 외부 필진 칼럼은 본지의 편집방향과 다를 수 있습니다.