바보야, 문제는 코딩이 아니야!

2017/07/13 by 임백준
공유 레이어 열기/닫기
주소가 복사되었습니다.

삼성전자 뉴스룸이 직접 제작한 기사와 사진은 누구나 자유롭게 사용하실 수 있습니다.세상을 잇는 이야기 바보야 문제는 코딩이 아니야

코딩 교육의 열기가 뜨겁다. 아이들에게 코딩을 가르치는 학원이나 고액 과외가 등장했단 얘긴 이제 너무 흔해 뉴스도 아니다.

코딩 교육의 열기가 뜨겁다. 당장 내년부터 의무적으로 시행되는 소프트웨어 교육에 발맞춰 관련 업계부터 발 빠르게 움직이고 있다. 아이들에게 코딩을 가르치는 학원이나 고액 과외가 등장했단 얘긴 이제 너무 흔해 뉴스도 아니다. 코딩 강사 양성 교육 과정도 속속 등장하고 있다. 영국·이스라엘·미국 같은 선진국에선 이미 코딩 교육이 본격적으로 실시 중이다. 세계적 추세를 따르려면 이 같은 노력은 불가피한 측면이 있다.

코딩 작업하는 모습

자, 이제 질문은 ‘(아이들에게) 코딩을 가르칠 건가, 말 건가?’가 아니라 ‘뭘 어떻게 가르칠 건가?’로 좁혀진다. 이와 관련해선 전문가들의 견해도 분분하다. 교육 인력 부족이나 낙후된 시설, 정밀한 교과과정 부재 같은 기술적 문제에 대한 논의 역시 활발하다. 따라서 이 글에선 코딩 교육 자체를 둘러싼 얘기 대신 코딩의 ‘본질’을 짚어보려 한다. 이제까지의 논의에서 한 걸음 더 들어가는 셈이다.

 

코딩의 본질은 ‘기술 습득’ 아닌 ‘논리적 추상 능력’

코딩에서 ‘특정 언어의 문법에 따라 손가락으로 키보드를 두드리는 행위’는 지엽적 일부에 불과하다. 반면, 추상과 논리는 기술 습득과 무관한 본질적 능력이다. 그리고 코딩 학습자는 나이가 어릴수록 이 같은 본질에 집중해야 한다.

코딩의 본질은 추상과 논리다. 코딩에서 ‘특정 언어의 문법에 따라 손가락으로 키보드를 두드리는 행위’는 지엽적 일부에 불과하다. 반면, 추상과 논리는 기술 습득과 무관한 본질적 능력이다. 그리고 코딩 학습자는 나이가 어릴수록 이 같은 본질에 집중해야 한다. 코딩 교육과 관련해 가장 걱정되는 대목도 바로 여기 있다.

아이의 모습

코딩의 본질이 추상과 논리에 있단 사실을 스스로 이해하지 못하는 강사는 아이들에게 특정한 코딩 기술을 가르치는 데 집중할 것이다. 하지만 어린 나이에 기술에만 치중하면 추상과 논리의 힘은 성장하기 어렵다. 어린아이가 스테로이드 주사를 맞으며 근육을 키우면 성장이 둔화되는 것과 마찬가지 논리다.

다양한 언어 중 어느 하나를 택해 오래 사용하면 해당 언어가 구현한 패러다임에 익숙해진다. . 한국인이 밥을 보면 김치를 떠올리고, 미국인이 햄버거를 보면 감자튀김을 연상하는 것과 비슷한 이치다

모든 프로그래밍 언어는 객체지향이나 함수형 같은 대규모 패러다임에 속한다. 언어는 특정 패러다임의 구현이다. C언어·자바·파이썬·자바스크립트 등 다양한 언어 중 어느 하나를 택해 오래 사용하면 해당 언어가 구현한 패러다임에 익숙해진다. 사고가 흐르는 길이 굳어져버리는 것이다. 이렇게 되면 어떤 문제를 해결하려 할 때 그 문제를 정의하고 해결책을 떠올리며 해법을 검증하는 방법은 일찌감치 결정된다. 한국인이 밥을 보면 김치를 떠올리고, 미국인이 햄버거를 보면 감자튀김을 연상하는 것과 비슷한 이치다. 같은 프로그래머라 해도 어떤 패러다임에 익숙한지에 따라 대화를 나누는 일 자체가 어려워질 수 있을 정도다.

마주보는 사람의 모습

프로그래머가 특정 패러다임을 일단 숙지한 후엔 다른 패러다임을 익히기가 매우 어려워진다. 한국에서 나고 자란 사람에게 영어를 익히는 일이 어려운 것과 유사하다. 새로운 패러다임을 익히려면 이미 체화된 패러다임, 익숙한 사고 방식의 체계를 허물어야 하므로 고통이 수반된다. 간단한 의지와 노력만으론 결코 이룰 수 없는 일이다. 20대 중·후반에 익힌 프로그래밍 언어조차 10년 후 다른 언어를 배우려 할 때 심각한 방해 요인으로 작용한다. 하물며 10대 초반에 익힌 프로그래밍 언어가 10년 후 그 사람에게 어떤 방해가 될지 생각하면 끔찍할 정도다.

 

특정 언어에 아이들 가두는 건 ‘독 든 잔’ 건네는 일

모든 프로그래밍 언어의 생명 주기는 유한하다. 제아무리 유명한 패러다임이라 해도 마찬가지다. 따라서 하나의 언어(혹은 패러다임)에 익숙해지는 일은 곧 독이 든 술잔을 받아 드는 것이다. 지금 당장은 필요하기 때문에 어쩔 수 없이 받아 마실지 몰라도 10년·20년이 지나면 그 술이 발뒤꿈치를 물어 온몸에 독을 퍼뜨릴지도 모른다. 그렇기 때문에 특정 언어나 패러다임의 틀에 아이들을 가두는 일은 위험천만할 수 있다.

단순한 코딩 기술에 연연하지 않고 추상하는 능력과 논리를 이끌어가는 힘을 근본적으로 키우면 다양한 프로그래밍 언어와 패러다임을 자유롭게 넘나들며 코딩을 수행할 수 있다. 마크 저커버그 페이스북 최고경영자(CEO)가 강조하는 코딩 교육의 핵심은 특정 언어 사용 능력이 아니라 이 같은 코딩의 본질일 것이다

추상과 논리는 코딩의 본질일 뿐 아니라 술잔 속 독성을 잠재울 수 있는, 일종의 해독제다. 코딩이란 행위의 본질은, 어떤 프로그래밍 언어(나 패러다임)로 사고하더라도 추상과 논리에 맞닿아 있다. 따라서 단순한 코딩 기술에 연연하지 않고 추상하는 능력과 논리를 이끌어가는 힘을 근본적으로 키우면 다양한 프로그래밍 언어와 패러다임을 자유롭게 넘나들며 코딩을 수행할 수 있다. 마크 저커버그 페이스북 최고경영자(CEO)가 강조하는 코딩 교육의 핵심은 특정 언어 사용 능력이 아니라 이 같은 코딩의 본질일 것이다.

추상이란 복잡하게 얽힌 실타래에서 불필요한 부분을 하나씩 제거해가는 능력이다. 필요 없는 걸 제거하고 꼭 필요한, 즉 본질에 해당하는 부분만 남겨놓음으로써 복잡한 걸 단순하게 만드는 힘이다

추상이란 복잡하게 얽힌 실타래에서 불필요한 부분을 하나씩 제거해가는 능력이다. 필요 없는 걸 제거하고 꼭 필요한, 즉 본질에 해당하는 부분만 남겨놓음으로써 복잡한 걸 단순하게 만드는 힘이다. 이 과정을 거쳐 남은 핵심은 의미를 명확하게 하기 위해 이전과 전혀 다른, 새로운 말이나 그림으로 표현된다. 이게 바로 추상이다. 이 같은 과정을 거쳐 정제된 추상은 인간의 사고력을 한 단계 높여줄 뿐 아니라 문제 해결 능력도 극적으로 향상시킨다.

알고리즘

요즘 부쩍 많이 언급되는 머신러닝(machine learning)은 추상의 한 예다. 머신러닝에서 가장 간단한 알고리즘에 속하는 선형회귀(linear regression)부터 떠올려보자. 선형회귀 알고리즘은 X축과 Y축 사이에 무수히 흩뿌려진 데이터 포인트를 분석, 그것들이 그리는 전체적 윤곽을 직선으로 표현한 것이다. X 값이 새롭게 주어지면 선을 이용해 Y 값을 예측하는 식이다. 선형회귀 알고리즘은 아주 정확하진 않아도 전체 윤곽에 평균적으로 수렴한다. 또한 복잡하게 뿌려진 여러 개의 점을 하나의 직선으로 추상했을 때 어떤 장점이 제공되는지 보여준다.

 

인공지능과 함께하는 세상’ 수용하는 상상력 익혀야

인간이 현실 세계에서 해결해야 하는 문제는 사방에 흩뿌려진 점처럼 복잡하고 무작위적인 모습으로 다가온다. 4차 산업혁명의 물결 속에서 코딩으로 해결해야 하는 문제는 하나의 패러다임으로 온전히 포착할 수 있을 만큼 얌전히 존재하지 않는다. 서로 중첩되고 격렬하게 움직이며 모습을 뒤바꾼다

인간이 현실 세계에서 해결해야 하는 문제는 사방에 흩뿌려진 점처럼 복잡하고 무작위적인 모습으로 다가온다. 심지어 점들은 제자리에 서있지 않고 미친 듯 움직이며 돌아다닌다. 또한 사물인터넷·로보틱스·인공지능·3D프린터·양자컴퓨터 등으로 대표되는 4차 산업혁명의 물결 속에서 코딩으로 해결해야 하는 문제는 하나의 패러다임으로 온전히 포착할 수 있을 만큼 얌전히 존재하지 않는다. 서로 중첩되고 격렬하게 움직이며 모습을 뒤바꾼다. 죽었다 살아나는가 하면, 폭발과 수축을 거듭하며 혼란을 가중시키기도 한다.

논리와 상상을 하는 뇌

현대인에게 더없이 익숙한 폰 노이만 구조(Von Neumann architecture)[1] 컴퓨터조차 언제 모습을 감출지 알 수 없는 게 현실이다. 자바나 파이썬 같은 특정 프로그래밍 언어는 말할 것도 없다. 코딩으로 불리는 행위는 인공지능에 맡긴 채 다른 일을 찾아야 하는 시간도 빠른 속도로 다가오고 있다.

아이들이 배워야하는 건 코딩 기술이 아니라 논리적으로 추상하는 힘이다. 세상 만물의 근원을 궁금해하고 사유할 수 있는 힘, 그리고 인공지능과 함께 살아가는 세상을 자연스레 받아들이는 상상력이다. 이런 능력은 만사가 온통 코딩인 오늘날을 살아가는 어른들도 유념해야 할 화두다

요컨대 지금 아이들에게 가르쳐야 하는 건 코딩이 아니다. 코딩은 미래가 아니다. 선진국이 뭘 하는지 의식할 필요가 없다. 아이들이 배워야 하는 건 코딩 기술이 아니라 논리적으로 추상하는 힘이다. 세상 만물의 근원을 궁금해하고 사유할 수 있는 힘, 그리고 인공지능과 함께 살아가는 세상을 자연스레 받아들이는 상상력이다. 이런 능력이 비단 아이들에게만 요구되는 것도 아니다. 지금 이 시각, 온통 코딩인 세상을 살아가는 어른들도 유념해야 할 화두다.


[1] 미국 수학자 폰 노이만(Johann Ludwig von Neumann, 1903~1957)이 1949년 고안해낸 컴퓨터 중앙처리장치 내장형 프로그램. 오늘날에도 거의 모든 컴퓨터 설계의 기본이 되고 있다

by 임백준

삼성전자 상무(DMC연구소 데이터인텔리전스랩)

기획·연재 > 오피니언 > 세상을 잇(IT)는 이야기

기획·연재 > 오피니언

삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>

TOP