코딩의 핵심은 논리력과 창의적인 문제 해결 능력이다.
몇 달 전 와이프가 물었다.
"코딩이 뭐야?"
"코딩?"
"뭐야? 몰라?"
난 고개를 갸웃거리며,
"코딩? 컴퓨터 프로그래밍? 그건 왜 물어?"
"요새 코딩 교육 때문에 난리도 아니야."
"컴퓨터에 관련된 말이야?"
"응."
대답과 함께 와이프의 눈꼬리가 올라간다.
"그렇다면 아까 말한 프로그래밍이 맞을 텐데."
일단 와이프의 질문에 대답을 한 나는 말을 이었다.
"근데 요새는 코딩이라고 부르나 보지?"
대답 없는 와이프의 눈꼬리는 더 올라간다.
내가 워낙 세상과 담쌓고 지내는 사람이다 보니
남들이 들으면 한심해할 말을 읊는다.
특히 나를 아는 사람들이 들으면 더욱 놀랄 것이다.
몇 년 전부터 학교에서 로봇으로 코딩 수업을
하고 있는 사람이 하는 말이니 말이다.
이런 한심한 사람이니 코딩 교육에 대해
말할 자격은 없을지 모르지만
나의 자유로운 생각을 적어본다.
워낙 생각이 자유로운 사람이기에
흔히 나를 아는 사람들은 이렇게 부른다.
'자유로운 영혼'
그래서 제멋대로이다.
나는 경계선을 긋는 것을 싫어한다.
경계선을 긋는 것을 싫어한다는 것도
경계선을 긋는 것과 긋지 않는 것의
하나의 경계선이 되므로
이 말을 하는 것도 싫다.
하지만 생각을 전달하기 위해
어쩔 수 없이 내뱉었다.
사실 창의성은 별거 아니다.
단지 남들과 다른 방식으로 생각한 것을
말하면 남들에게는 창의성으로 보인다.
즉, 앞서 말한 내용 때문에
'구분을 짓지 말라는 거구나.'
가 아니고,
구분을 짓든 짓지 말든
그것이 중요한 것이 아니라
'사물의 본질을 보는 것이 중요한 것이다'
라고 말하고 싶은 것이다.
문과와 이과.
문법과 회화.
프로그래밍 언어와 프로그래밍.
문과를 하면 이과가 필요 없는가?
이과를 하면 문과가 필요 없는가?
기자는 문과다.
그럼 과학부 기자는?
만약 이과적인 지식을 갖춘 사람이
과학부 기자를 한다면
더욱 좋은 글이 될 것이다.
나는 언어를 좋아한다.
국어나 영어, 일어처럼 사람의 언어든.
Basic이나 C언어처럼 컴퓨터 언어든.
문법을 하면 회화를 못하는가?
회화를 하면 문법을 모르는가?
문법을 통해서도 회화를 익힐 수도 있고
회화를 하다 보니 문법을 익힐 수도 있다.
구분하지 말고 그냥 좋아서 하다 보면
어느새 영어에, 일어에 익숙해진
자신을 발견할 수 있을 것이다.
인터넷을 뒤지면 이런 글이 많이 있다.
프로그래밍 언어를 배우지 말고
프로그래밍하는 방법을 배우라.
틀렸다는 말이 아니다.
맞는데, 맞긴 맞는데...
그렇게 구분하는 거 자체가 싫다.
그냥 프로그래밍 언어를 배우면서
'이런 거 한 번 만들어 볼까?'
하면서 만들다 보면
어느새 프로그래밍을 배우게 된다.
아니면 이런 거 한 번 만들어 보고 싶은데
'무슨 언어로 만들까?'
하면서 그 언어를 백과사전처럼
주섬주섬 찾아보며 만들다 보면
어느새 프로그래밍 언어를 알게 된다.
근데 왜 그런 말들을 하는 것일까?
기껏 프로그래밍 언어는 다 배워서
수많은 명령어들을 외우고 있는데
막상 프로그램을 작성하려면
머릿속에서 맴돌기만 하고
손이 움직여지지 않는 경우를
경고하기 위해서리라.
즉, 프로그램을 만들기 위해서는
프로그래밍하는 구조가 머릿속에
잡혀 있어야 하는 것이다.
이것이 단순히 명령어를 외운다고
되는 것이 아니기 때문에
그런 말들이 쏟아져 나오는 것이다.
이것이 바로 코딩 교육의 핵심이다.
코딩에 필요한 수많은 명령어들을
익히는 것이 중점이 아니라
코딩 자체를 하는 방법과 사고방식
즉, 논리적으로 생각하는 방법과
문제를 창의적으로 해결하는
방법을 배우는 것이다.
이것이 과연 컴퓨터에만 도움이 될까?
그것은 수많은 반대... 이를테면,
'제2의 영어교육이 될 것이다.'
'또 다른 사교육을 조장할 뿐이다.'
'학생들에게 부담을 가중시킬 뿐이다'
등등의 납득할 만한 반대에도 불구하고
밀어붙이는 중요한 이유가 있기 때문이다.
'사고하는 방식을 배우는 것.'
이것이 코딩 교육의 중요성을 어필해준다.
예를 들어,
어렸을 적부터 컴퓨터 언어를 배워서
프로그램을 만들어 왔기에,
즉 요즘 말로 코딩을 배워왔기에
평소 논리적으로 생각하고,
문제 해결을 위해 깊게 사고하는
훈련이 되어 있었다.
이런 점은 물리를 공부하는 데 있어
매우 도움이 되었다.
'왜 그럴까?'를 논리적으로 생각해서
근거를 찾아내고, 찾아낸 근거를
이용해서 원리를 이해하는 능력.
이것은 하늘에서 떨어진 것이 아니라
어려서부터 배워 온 컴퓨터 때문이리라.
코딩을 배워서 꼭 프로그래머가 되라는
뜻이 아니다.
단지 그 훈련을 통해 요즘 아이들에게
가장 부족하고 필요한
'자기 스스로 생각해서 문제 해결하기'
능력을 배우고 개발하라는 것이다.
지금까지 말한 것이 바로 코딩 교육의
핵심이자 나아가야 할 길이다.
요새 코딩 교육이 열풍이 불자
다급해진 부모님들이 아이들을
마구 코딩 유치원이나 학원으로
보내고 있다.
보내는 것이 나쁘다는 것이 아니라
왜 해야 하는가를 제대로 이해하고
아이들과 상의를 해서
아이들의 뜻을 존중하여
계획적으로 선택해야 한다는 것이다.
그렇게 된다면 미래 시대에 꼭 필요한
컴퓨터를 다루는 데 있어
아이들이 능숙해질뿐더러
자신들의 길을 개척해 나가는데
큰 도움이 될 것이다.