본문 바로가기

Data Science

'코딩' 교육

나는 요즘 데이터사이언스라는 분야와 관련된 학원을 다니고 있다.

학원을 다니면서 코딩, 프로그래밍 등의 단어를 많이 사용한다.

전문적인 지식을 배우는데 내 한계를 느낄 때 나는 다른 생각을 하곤한다.

(그런 의미에서 몇자 적어본다는게 좀 길어졌다.)


문득 몇년 전 코딩교육이 유행했던 것이 생각났다.

2015년 정도부터 코딩교육이 유행해왔던 것 같다. 요즘은 좀 식은 것처럼 느껴지지만..


코딩교육이란 무엇인가?

코딩, 프로그래밍이란 무엇인가? 


내가 느낀 코딩 및 프로그래밍은 

인간세상의 '기존 지식(knowledge)'을 컴퓨터에게 '컴퓨터의 언어(language)'로 가르치는 것이다.

기존 지식은 이미 사람들이 알고 있는 지식이다.

컴퓨터의 언어는 2진법 기반 언어다.

컴퓨터는 2진법으로 생각(정보 처리)하기 때문에 인간의 지식을 2진법으로 전달해줘야 한다.

이 과정에서 활용 되는 것이 컴퓨터의 언어(c언어 등)다.

한국어를 사용하는 내가 내 생각을 미국인에게 전달하려면 영어를 배워야 하는 것처럼 컴퓨터에게 정보를 전달하려면 컴퓨터의 언어를 배워야 한다.


기존 지식을 컴퓨터의 언어를 활용해 컴퓨터에게 전달하면 컴퓨터는 인간이 하기에는 거의 불가능한 계산을 하여

기존에는 없었던 새로운 지식을 만들어 낸다.


이런 의미에서 결국 코딩교육이란 '인간이 컴퓨터를 가르치는 것'을 교육하는 것이다.

이를 위해서는 '컴퓨터의 언어'와 '기존 지식'을 알아야 한다.

이 중 컴퓨터의 언어는 그리 어렵지 않다. 언어는 사용하다 보면 익숙해진다.

컴퓨터의 언어를 사용하는 환경에 노출되면 금방 익숙해진다.

나는 한국어를 사용하는 환경에 노출되어 한국어를 사용하지만 미국사람은 영어를 사용하는 환경에 노출되어 영어를 사용한다.

대부분의 사람들은 특별한 교육을 받지 않아도 1개의 언어는 습득한다. 그런 의미에서 컴퓨터의 언어를 습득하는 것은 그리 어려운 문제가 아니다.

(음.. 이상한 예를 들자면 코딩에서 수식은 수학 속의 하나의 식일 뿐만 아니라 하나의 문장이 되는 것이다. 그래서 수학이 중요하다. 수학은 지식이자 언어가 될 수 있다.)


하지만 컴퓨터에게 기존 지식을 가르치는 것은 어렵다.

컴퓨터를 가르치기 위해서는 가르치고자하는 지식을 남에게 알려줄 정도로 확실히 알고 있어야 하기 때문이다.

임진왜란이 뭐에요? 하면 내가 아는 것은 이런식이다. 

임진왜란은 임진년 조선과 왜의 전쟁이고. 몇년이지? 1492였나? 확실치 않다.

그 때 조선 왕은 선조였고, 일본은 도요토미 히데요시? 인가가 전국을 통일했고, 이순신이 거북선으로 적의 보급로를 차단해서 승리했다. 

임진왜란 이후에도 조선은 반성하지 않았고, 몇 년 뒤 정유재란이 발발한다.

이런 식으로 정보가 체계화되어있지 않은 경우가 많다.

하지만 나는 임진왜란에 대해 '안다'고 생각하고 있다.

내가 남에게 임진왜란에 대해 가르쳐야 한다면, 이때 나는 임진왜란에 대해 모르는 것이 된다.


또한 남에게 가르칠 때 상대방이 배경지식을 갖고 있다면 가르치기 훨씬 수월하다.

초등학생에게 경제학을 가르치지 못하고 중고등, 대학생에게 경제학을 가르치는 것처럼

그런데 마치 백지같은 컴퓨터를 가르친다는 것은 얼마나 어려운 일이겠는가?

그 지식에 대해 얼마나 확실히 잘 알고 있어야 하겠는가?


결국 코딩교육은 지금의 기존지식을 가르치는 것과 별반 다르지 않다.

하지만 기초지식의 중요성은 더욱 강조된다.


기초과학은 '기존 지식'을 활용하던 세상에서는 중요하지 않았다.

지금 세상의 업무는 기초지식을 활용하지 않는 경우가 많다.

예) 차를 운전하는데 미적분은 필요하지 않다.


'새로운 지식'을 활용하는 세상에서는 기초지식이 중요하다.

예) 자율주행 자동차

각종 센서와 이 센서들에서 수집된 정보를 분석, 실행하는 프로그램을 개발하면

자율주행자동차가 만들어진다.

프로그램을 만들 때 미적분은 필요하다.


차를 사람이 운전하지 않고 컴퓨터가 운전하는 세상에서는 기초지식이 일상생활에 필요하다.


코딩교육이 뭐에요?

제가 뭐를 가르쳐주길 원하세요??

제가 뭘 가르칠지 모르는데 어떻게 학원에 등록하세요?

지금 이거 학원비가 얼마죠?

제가 저 코딩교육으로 돈 버는 사람인데 지금 돈이 없어요.

저 다음달에 이자쳐서 갚을테니 학원비만큼만 빌려주세요.

하면 저한테 돈 빌려주실 수 있으세요?

돈 빌려주려면 얘가 한다는 코딩교육이 돈벌이가 되는 건지 뭔지 아셔야 하잖아요.

그런 것처럼 코딩, 프로그래밍을 배우시려면 '코딩교육'이 뭔지에 대해 아셔야해요.

'Data Science' 카테고리의 다른 글

데이터 분석과 선형대수  (0) 2018.07.07
노동패널 data 구성 전처리 방법 정리  (3) 2018.02.07
Data Science의 정의  (0) 2017.11.14
Data Science의 필요성  (0) 2017.11.13
확률과 베이즈 정리  (0) 2017.11.09