[기고]디지틀조선과 함께 하는 코딩 교육

등록 2020.10.22 15:22

조정환(런던대학교 전자공학 전공, CIT코드아카데미 대표)

◆코딩, 어떤 언어부터 배워야 하는가


요즘 학부모들의 코딩 교육에 대한 관심이 급속도로 늘어나는 추세이지만 아직은 개척되지 않은 미래 교육이라는 인식이 여전히 주를 이룬다. 또한, 코딩 교육을 시키고 싶어 조사를 해봐도 매우 다양하기 때문에 우리 아이에게 맞는 명확한 교육법을 찾기 어려운 것도 사실이다.


우선, 코딩교육의 시작이자 지속적으로 생기는 논란 중 하나가 바로 어떤 언어부터 배워야 하는 가이다. 논란의 도마에 올라가는 것은 대부분 입문 언어가 C인지 파이썬이 되어야 하는지에 있다. (해외의 경우 대부분 C, Java, Python이 논란에 포함된다.)


이러한 논란은 컴퓨터 공학 전공자의 입장에서 코딩 교육의 유효성 또는 방법론에 대한 비판적이거나 의구심으로 시작되는 경우가 많으며 전문가의 입장이기 때문에 학부모들의 입장에서 무시하기 어려운 현실이다.하지만 이는 현재 코딩 교육의 목적과 방법론에 있어 기존 대학 과정인 컴퓨터 공학과의 차이에서 비롯된다.


◆현재와 과거의 코딩 교육의 차이


<목적의 차이>
전 세계적으로 초중고 대상으로 시작되는 코딩 교육의 경우 컴퓨터 공학자만을 위한 교육이 아니라 모든 사람은 배워야 하는 기초 소양이며, 컴퓨터 공학을 전공하기 전, 그리고 프로그래밍 언어를 배우기 전에 논리적, 수학적으로, 그리고 창의적으로 문제를 해결하는 방법, 즉 컴퓨팅적 사고를 키우기 위함이다.


조금 더 이해를 돕자면 바이오 공부를 해도 프로그램을 활용할 줄 안다면 개척의 범위가 무한해진다는 것이다. 이미 일상의 많은 부분이 프로그래밍들로 이루어 져 있다.


예전에는 연구실에서 연구를 했다면 이제는 노트북 한대로 유전자변이부터 개인백신까지 접근을 할 수 있는 게 현실이다.


언제 요구될지 모르는 분야이며 교수들도 자신들이 하지 못하는 부분의 인재를 찾게 된다. 학과별로 어떻게 광범위 하게 접근이 되고 갑자기 요구되는지는 다음 칼럼에서 적어보도록 하겠다.


<방법론의 차이>
-저학년 코딩 교육
저학년 코딩교육의 의무화한 국가에서는 대부분 만5세에서 7세에 시작, 국내에서는 초등학교 5학년에 시작이기 때문에 어린 학생들이 배울 수 있는 환경에서 더욱더 세분화된 단계를 밟고 논리적 사고력과 창의적 사고력을 위한 방법론에 있어 큰 차이를 보인다. 따라서 신택스라고 하는 프로그래밍 언어의 문법 등 사고력과 무관한 부분을 덜어내고 순수 논리적이고 수학적인 요소를 최대한 직관적으로 흥미롭게 구성한 블럭 코딩 환경에서 배우게 된다.


-고학년 코딩 교육
컴퓨터 공학을 포함한 입문 과정 또한 변화가 있다.  이는 프로그래밍 언어의 사용 비중의 변화가 어느 정도 반영되기 때문이다. 예를 들어 미국 고등학교 선택 과목인 Advanced Placement Computer Science의 경우 80년대 부터 90년대 말까지는 Pascal, 1999년 부터 2003은 C++, 이후는 자바로 시험을 보며, 현재 파이썬으로 변경해야 한다는 목소리가 커지고 있다.


이는 시대에 따라 프로그래밍 언어의 활용도가 끊임 없이 변하기 때문이다. 또한 컴퓨터의 활용도가 매우 광범위한 분야에 접목되기 때문이며 컴퓨터공학 안에서도 계속 다양해지는 전문화가 요구되기 때문이다.


-대학에서의 코딩
컴퓨터 프로그래밍의 입문 과정은 컴퓨터공학 뿐만이 아닌 다양한 이과와 인문계 과정에 의무적 때로는 선택적으로 이수하도록 되어 있으며 컴퓨터 공학 전공이어도 입문 과정은 Python인 경우가 대부분이다.


MIT, Stanford, 하버드의 컴퓨터공학 Introductory Course로 예를 들자면 모두 한때 C였던 입문 언어를 Python, 또는 하버드의 경우 스크래치로 변경한지 오래이다. 물론 이러한 입문 과정은 프로그래밍에 익숙한 전공자에게 선택 과목이다.


다음 그림은 미국의 최대 컴퓨터 공학 협회인 ACM (American Computing Machinery)을 통해 공개된 조사며 2014년 39개의 상위 미국 대학의 입문 과정의 언어를 조사한 내용이다.

출처 : July 2014, 컴퓨터공학협회 ACM (American Computing Machinery) 조사 발췌

그렇다면 컴퓨터 공학 전공자들이 C 언어를 고집하는 이유는 무엇일까?


간단하게 설명하면 C는 파이썬 보다 컴퓨터에 가까운 언어이다. 따라서 컴퓨터의 구조와 컴퓨터 공학 전공자에게는 빼놓을 수 없는 언어다. 또한 C를 기반으로 이어서 배우게 되는 C++의 경우 컴퓨터 공학에 주가 되는 언어이며 C와 함께 운영체제, 인공지능 Framework등 핵심적 언어이다. 


대다수의 컴퓨터 공학자는 C의 장점과 Python이 비교적 근래에 활용성이 다양해진 관계로 Python 보다 C에 익숙하며 이를 선호한다.


반대로 파이썬의 장점은 교육적인 측면에서 뚜렷하다.  이는 파이썬은 배우기 쉬운 언어이며 응용 분야가 매우 넓기 때문이다.


컴퓨터 전공자가 아니어도 비교적 쉽게 배울 수 있기에 컴퓨터 공학 외에도 바이오, 심리 분석, 마케팅, 의학 연구 등을 위한 자연어처리, 데이터 분석 및 컴퓨터 비젼과 같은 인공지능 응용에 매우 용이하다.


파이썬으로 시작하는 게 C로 시작하는 것보다 무조건 좋다는 것도 아니다. 진로, 즉 목적에 따라 그리고 각 언어의 장단점에 대한 주관적 판단에 따라 학교마다 선택일 뿐이다.


◆시대의 변화


현재 미국의 고등학교 과정은 Java인 반면 과거부터 프로그래밍을 가르쳤던 국내 과학고의 경우 C로 시작했었던 (현재는 대부분 파이썬으로 시작, 한양대 영재원도 시작 언어를 C에서 파이썬으로 변경) 프로그래밍 언어 별 중요도는 국내 하드웨어의 중심, 즉 제조업 중심인 한국과 소프트웨어 중심인 미국 IT 산업과도 관련이 없지 않다.


교육의 목표와 방법론은 시대에 따라 변하기 때문에 교육자 또는 학부모들은 현재 변화에 대해 주시하는 것이 필요할 것이다.



최신기사


    최신 뉴스 더보기


        많이 본 뉴스

          산업 최신 뉴스 더보기

            많이 본 뉴스