코딩 배울 때 염두에 둘 점들

익명
2015.03.05 09:34 1,163 0

본문

코딩교육이 열풍이다. 과거에는 오피스 등 어플리케이션을 다루는 정도로만 해도 컴퓨터를 할 줄 안다고 했는데 이제는 달라졌다. 스마트폰 안에 앱들이 들어오고, 웹사이트를 통해 처리하는 일들이 많아짐에 따라 각 분야에서 코딩 교육을 필수가 되어 간다. 영국, 미국을 비롯한 선진국들의 코딩 교육 의무화도 이런 현상을 반영하고 있다.

 

그렇지만 비전공자나 어린이들 입장에서 아무렇게나 코딩 교육에 뛰어들다가는 비효율적이 될 수 있다. 코딩 교육은 한두 번의 가르침으로 끝나는 단기간 적인 성격의 교육이 아니기 때문이다.

 

 

 
 
 
[그림] 코딩 열풍을 반영하듯이 최근 페이스북의 한 커뮤니티인 생활컴퓨팅에서는 한국어 어순과 조사를 포함하는 쉬운 코딩 방법을 다루고 있다.

(https://www.facebook.com/groups/lifecomp/)

 

 

첫 번째 팁 할 거라면 제대로 배워라

코딩은 제대로 배우기 위해서는 수학보다 더 심도 있는 교육 과정을 거쳐야 한다. 이 부분이 기존의 컴퓨터 교육과 큰 차이점이다. 컴퓨터 교육은 상식을 넓히는 차원의 교양 교육이었다고 하면,코딩 교육은 지식을 넓히는 전문 교육이기 때문이다.

 

코딩 교육은 알고리즘에 대한 이해와 동반되어야 한다. 단순히 코딩에 사용되는 컴퓨터 언어 익히기 정도에 끝난다면 아무런 쓸모가 없게 된다. 알고리즘은 수학 문제를 푸는 과정과 흡사하다. 숫자나 기호를 안다고 해서 수학을 안다고 말할 수 없듯이, 코딩도 프로그래밍 언어만 알고 있다고 해서 제대로 교육했다고 볼 수 없다. 주어진 문제를 알고리즘적인 사고로 풀어낼 수 있어야 코딩을 제대로 익힌 거라 할 수 있다. 국내에서는 코딩도장이라는 사이트를 통해 다양한 알고리즘 문제가 제시되고 있다. 이런 사이트를 통해 코딩으로 해결하는 문제가 무엇인지를 사전에 보는 것도 효율적인 코딩 교육을 선택하는 가이드가 될 수 있다.

 

프로그래밍 언어만 배우겠다는 생각으로 코딩 교육을 선택한다면 다시 말해 지금까지 했던 컴퓨터 어플리케이션 교육과 별반 차이가 없다. 이는 단순히 숫자와 기호를 이해했다고 수학을 공부했다고 할 수 없는 것과 같은 이치이다. 코딩 교육을 선택하기 전에 반드시 생각해야 할 가장 중요한 부분이다. 스스로 학습을 하던, 개인 교습을 받던, 학원을 선택하던 간에 제대로 알고리즘을 배울 수 있는 곳인지를 먼저 판단해보고 선택하는 것이 시간적으로나 비용 적으로 효율적인 코딩 교육 선택방법이 될 수 있다.

 

쉽게 말해 수학보다 차원이 높은 교육이고 조기에 시작하지 않으면 뒤쳐질 수 있다는 생각을 할 때 제대로 된 코딩 교육을 선택할 수 있는 눈이 생기게 된다. 아이들의 경우는 선택의 몫이 부모가 될 수 있다. 아직 코딩에 대한 인식들이 확산되어 있지 않는 상황이므로, 비전공자라면 부모가 먼저 코딩 교육을 접해보는 것도 아이들의 교육 선택에 도움이 될 수 있다.

 

올바르지 못한 수학 교육처럼 첫 단추가 잘 못 끼워져 아무렇게나 코딩 교육을 시작하게 되면 나중에 제대로 바루는데 더 많은 시간과 노력이 들 수 있다는 점도 반드시 숙지해야 할 부분이다. 필자가 아는 사람 중에서도 전문 교육 기회를 활용하지 않고 시행착오 방식으로 코딩을 익힌 사람이 있다. 그런 경우, 연습이나 개인적으로 사용하는 몇 줄의 코드는 짤 수 있지만 전문화된 코드를 작성하는 데는 시간이 오래 걸리거나 아예 혼란을 겪는 경우를 보았다.

 

아이들이나 비전공자들이 이런 혼란을 겪지 않기 위해서는 개인이 스스로 학습하던 교육 기관을 선택하든 간에 처음 시작하는 단계에서 제대로 배울 수 있도록 방법을 찾는 것이 중요하다.

 

두 번째 팁 어려운 길을 선택하라

코딩은 얼마 지나지 않아 배울 필요가 없을 정도로 쉬워질 거라고 문제를 회피하는 경우가 있다.이런 생각은 앞으로 글이 없어지고 말이나 동영상으로 의사소통하는 시대가 온다는 것과 비슷한 현혹하는 말에 불과하다. 사실 아직도 코딩이 발전해야 할 부분이 많기 때문에 역으로 점점 더 어려워진다고 보는 게 더 현명한 생각이라 할 수 있다. 이제 막 일반인들도 코딩을 할 수 있도록 개방된 상황이라고 보면 된다.

 

앞으로 모바일, 사물인터넷, 빅데이타, 병렬처리 등 코딩이 담당해야할 영역이 더 늘어나야 한다.현대의 코딩 언어로는 아직 이런 새로운 분야를 효율적으로 처리하지 못할 정도로 코딩 자체가 더 복잡하게 발전하고 있는 상황이다. 이런 상황에서 코딩이 쉬워진다는 말에 현혹되어 회피하거나 쉬운 방법으로 익히려고 한다면, 오히려 나중에 후회하는 상황이 발생할 수 있다.

 

수학 교육이 그러하듯이 쉬운 길이 아니라 어려운 길을 택하여 가게 된다면 고학년이 되거나 실제 현장에서 제대로 역량을 발휘할 수 있게 되듯이 코딩도 가능하면 어려운 길로 가야 그 보상이 크다고 하겠다.

 

말로 하는 코딩 시대가 온다는 사람들이 있다. 사람의 말도 제대로 알아듣지 못하는 시대인데 말로 코딩하는 시대가 온다는 것은 너무 큰 희망에 불과하다. 코딩하는 단어를 키보드가 아닌 음성으로 입력하는 시대는 근년 간에 올지는 모른다. 그러나 코딩 전체를 말로 대체하는 일은 음성인식이 된 후로도 더 많은 시간이 지나야 가능할 일이다. 그 이유는 앞서도 언급했듯이 코딩은 알고리즘에 대한 이해와 연계해서 생각해야하기 때문이다. 주어진 문제에 최적의 알고리즘을 제시하는 일은 음성인식의 수준이 아니라 인간의 지각 능력을 대체하는 수준이 되어야 되기 때문에 현세대에서는 일어나기 힘든 일로 봐야 한다.

 

어린이들의 경우에 블록 쌓기와 같이 비주얼 툴을 통해 코딩에 대한 감을 익힐 수 있다. 그런 툴들도 사실 코딩 언어에 초점을 두기 보다는 알고리즘적인 사고 형성에 초점을 두고 있다. 그런 관점에서는 아이들에는 처음 단계에서 시작하는 하나의 선행 툴이 될 수 있다. 그러나 그런 비주얼 툴에 계속해서 머물게 된다면 이유식을 못 땐 아이처럼 코딩 실력을 늘려 가는데 한계가 올 수 밖에 없다. 과거에도 많았던 여러 가지 코딩 툴들이 지금은 다 뒤안길로 사라졌거나 크게 코딩 처리에 기여하지 못하는 것도 같은 이치이다. 코딩을 하는 게 중요한 것이 아니라 알고리즘을 컴퓨터의 언어로 어떻게 풀어내느냐가 중요하기 때문에 프로그래밍 언어를 통한 코딩 교육이 결국 초점이 될 수밖에 없다.

 

페이스북의 생활컴퓨팅에서는 언어를 통한 프로그래밍 교육이 핵심이라는 사실에 초점을 두고 비쥬얼 방식보다는 쉬운 모국어를 통해 코딩 교육에 초점을 두고 코딩 교육 가이딩을 진행하고 있다.초기에 한글을 사용할 수 있다는 부분을 강조하여 한글언어라고 불렀다가, 점차 더 나은 모국어 표현 방법을 찾아 한국어언어 단계로 발전하였다. 최근에는 꼭 한국 뿐 아니라 전 세계의 다양한 언어를 사용하는 어린이나 비전문가들을 위한 국제적인 언어로 발전시킬 계획도 만들어 가고 있다. 다양한 분야의 일반인들이 모여 있는 친목 커뮤니티이지만, 사람들의 언어가 그러하듯이 필요성에만 잘 부합된다면 새로운 언어로 자리매김을 할 수 있다는 생각 하에 프로그래밍 언어의 국제 표준화에도 기여할 각오로 소규모 미팅도 하고 있는 등 개설자를 중심으로 적극적으로 커뮤니티가 움직이고 있다.

 

 

 
 
 
[그림] 페이스북 커뮤니티인 생활컴퓨팅에서 다루어지고 있는 글로벌 프로그래밍 언어 체제인 글로리 (Glory)의 개념, 링크 - 글로리 메뉴얼 (http://goo.gl/MVFqPc) 

(https://www.facebook.com/groups/lifecomp/)

 

 

세 번째 팁 어떤 걸 배울지 심각하게 고민하라

아이들 뿐 아니라 학생들이나 성인들도 코딩을 배울 때 어떤 걸 배울지에 대해 잘 알아보아야 한다. 선뜻 쉬운 툴을 통해 감만 익히려고 한다면, 실제 문제에 있어 듣기는 했지만 실제로 행하지는 못하는 어중잡이가 될 수 있기 때문이다.

 

코딩은 우선 진학, 취업 그리고 창업을 위해서 이제 필수 능력이 되고 있다. 그렇지만 세 가지의 용도에 따라 배워야 할 부분과 접근 방법은 정말 다르다. 같은 코딩 교육이라고 해서 무턱대고 시작했다가는 실패하기가 십상이다. 당장은 비용이나 시간이 좀 더 덜지라도 내가 하려는 부분에 맞는 최적의 교육을 선택해야 제대로 된 효과를 볼 수 있다.

 

프로그램 언어로만 보아도 진학, 취업, 창업에 따라 선택이 달라져야 한다. 상황에 따라 좀 달라질 수는 있지만 개념적으로 보면 진학을 위해서는 파이썬 언어와 같이 진학 후에 배우게 될 문제를 해결하는데 집중하는 언어를 선택하는 것이 바람직하다. 그리고 취업을 위해서는 자바스크립트와 자바와 같이 웹이나 앱 프로그램을 만드는데 필요한 실무 언어를 배우는 것이 좋다. 마지막으로 창업을 위해서는 깊이 있는 코딩 지식을 익히는 데 도움이 되는 C/C++까지 배워두는 게 더 좋다. 물론 창업의 경우는 무엇을 창업할 것이냐에 따라 다르다. 그러나 정말 IT와 무관한 창업이 아니라면,가장 어렵고 깊이 있는 코스라고 할 수 있는 C 언어까지 배워두어야 나중에 난관에 부딪힐 때 효율적으로 헤쳐 나갈 수 있다.

 

비단 당장은 IT와 전혀 상관없는 분야에 대해 창업을 한다손 치더라도 IT 부분의 역량이나 연계가 병목지점이나 비용 효율화에 절대적인 부분이 될 수 있기 때문에 가능하면 이런 규칙을 따르는 게 현명할 수 있다. 에어비엔비, 배달 앱 등을 생각해보면 호텔업이나 배달에까지 코딩 기술에 의해 영향을 받는 걸 쉽게 알 수 있다. 직접 앱을 만들지 않고 식당과 관련된 창업을 한다고 하더라도 배달 앱의 원리를 모른다고 하면 효율적인 영업을 할 수 없고, 수수료 지불의 효율화에 대한 아이디어 얻기에 한계가 오기 때문이다.

 

코딩 교육에 대한 국내외적으로 여기저기서 열풍인지 한파인지 거센 풍파가 일어나고 있지만 나와는 상관없을 거라 생각할 수 있다. 나는 나이가 어리거나 많아서, 하는 일이 달라서라는 변명을 할 수 있다. 그러나 현재의 움직임은 코딩이 필요하고 적용되는 분야를 고려해 볼 때 그렇게 특정한 분류의 사람들에게만 해당되는 것은 아닌 거 같다. 또한 굳이 일찍 배울 필요가 있겠느냐 라고 생각할 수도 있다. 그러나 코딩 교육이 기존의 컴퓨터 교육처럼 단순히 상식 수준에서 몇 가지 알면 끝나는 게 아니라 알고리즘적인 사고를 훈련받는 부분인 점을 생각해보면 서둘러 시작하는 것이 최상임을 알 수 있다.

 

일찍 일어난 새가 먹이를 먹는 다는 말이 있다. 아주 평범한 말이고 상식 수준의 격언이라 할 수 있다. 그러나 실상 평범한 이 상식을 알아도 현실에서 적응하기는 쉽지 않다. 바쁜 삶을 살다보면 이런 저런 핑계가 생기기 때문이고, 사람의 특성상 차일피일 미루기가 십상이기 때문이다. 그러나 지금 다가오는 코딩 교육의 바람은 배운 자와 배우지 않은 자를 극명하게 갈라놓는 중요한 전환점이기에 가능하면 일찍 시작하고 할 거라면 노력이 더 들더라도 제대로 시작하는 것이 현명하다고 할 수 있겠다

 

[이 게시물은 코더블님에 의해 2020-03-23 17:47:29 press에서 이동 됨]

댓글목록 0

등록된 댓글이 없습니다.