[Tech essay] 알고리즘을 구현하는 힘, 코딩 교육

Story/효성



4차 산업혁명 시대의 필수 교육으로 부상한 코딩, 그 핵심과 미래 전망에 대해 짚어보는 시간을 갖습니다.




 컴퓨터의 언어, 코딩이란 


코딩(Coding)이란 Code(컴퓨터 언어) + ing(동작), 컴퓨터 프로그래밍의 기초 작업을 말합니다. 국적에 따라 사용하는 언어가 다른 것처럼 인간과 컴퓨터의 언어 역시 다른데요. 즉 인간이 1+1이란 계산을 풀 때, 이 작업을 컴퓨터에게 시키기 위해서는 컴퓨터 언어로 바꿔줘야 하는 것처럼 컴퓨터 언어를 이해하고, 이 언어로 규칙이나 식을 세우는 것이 코딩이랍니다. 게임, 애플리케이션 등의 소프트웨어 모두가 코딩을 통해 이루어진답니다.


코딩 교육에서 중요한 부분은 알고리즘에 대한 이해입니다. 알고리즘이란 어떤 일을 하기 위한 순차적 단계로 정의할 수 있는데요. 빵을 만들기 위해 재료를 준비하고, 반죽을 만들고, 오븐에 굽는 것과 같은 일련의 과정을 말하는 거죠. 컴퓨터에게 일을 시키기 위해 컴퓨터가 이해하고 실행하는 언어를 사용하는 것뿐 아니라, 컴퓨터의 사고체계인 알고리즘에 따라 논리적으로 사고하는 과정이 필요하기 때문에 알고리즘의 이해가 중요한 것이랍니다.  


과거 1차 산업혁명이 기계에 동력을 부여했다면, 4차 산업혁명은 모든 사물에 소프트웨어를 확대 적용하게 될 것에요. 그래서 미래에는 코딩 교육으로 인해 인공지능을 제어하고 활용할 수 있는 자와 그렇지 않은 자와의 차이가 크게 벌어질 수 있습니다. 페이스북 CEO 마크 저커버그는 “만일 당신이 코드를 짤 수 있게 된다면 앉은 자리에서 뭔가를 만들어낼 힘을 갖게 되고 아무도 당신을 막을 수 없을 것”이라고 말하기도 했어요. 미국을 비롯한 선진국에서 코딩 교육을 어린 나이부터 의무화하고 나아가 나이, 전공과 무관하게 많은 사람을 대상으로 코딩 교육이 활발하게 이뤄지는 것 또한 이런 이유 때문이죠.   






 코딩 교육의 핵심을 말하다 


코딩 교육은 컴퓨터 언어를 영어 단어처럼 외워야 하는 것은 아니에요. 코딩 교육은 이해를 해야 하는 분야입니다. 앞서 말한 것처럼 코딩 교육의 핵심인 문제에 대한 최적의 알고리즘을 찾아내기 위해서는 논리력과 창의력이 요구됩니다. 이러한 문제 해결력을 ‘컴퓨팅 사고력(Computational Thinking, 이하 CT)’이라고 하는데요. CT는 모든 문제에 적용되지만, 특히 복잡한 문제를 푸는 범용적인 사고방식에서 보다 확실한 효과를 발휘하게 됩니다. 코딩 교육에서 CT가 중요해진 이유는 기계에 지능을 아웃소싱(Outsourcing)하게 되면서 과거에는 불가능했던 것들이 가능해지고 풀지 못했던 문제와 새로운 문제들을 해결할 가능성이 빠르게 열리고 있기 때문입니다. CT의 과정은 아래와 같습니다.


①복잡한 문제를 풀기 가능한 더 작은 문제들로 분해한다. 

②문제를 정보화하고 중요도 등에 따라서 구분한다. 

③패턴을 찾는다 - 소프트웨어란 일시적인 해결책이 아니라 다양한 환경에서 반복이 가능한 해결책, 알고리즘을 만드는 것이다. 

④알고리즘화한다.   


코딩 교육은 위와 같이 복잡한 문제 해결력을 배우는 것이 핵심입니다. 구글, 페이스북과 같은 글로벌 IT 기업과 대학들에서 개발되어온 코딩 교육은 방법론에 있어서도 큰 변화를 제시하고 있어요. 1, 2차 산업혁명부터 형성된 기존의 교육 시스템은 데이터를 주입하고 이를 정확하게 대입하는 방식인 데 반해 코딩 교육은 아이들의 상상력을 넓혀주고 주도적으로 학습하는 것을 목표로 하고 있습니다. 흥미를 가지고 자기주도적으로 학습할 수 있게 알고리즘을 마음껏 구현할 수 있는 환경 또한 중요하답니다. 




 4차 산업혁명 시대에 걸맞은 전략이 되다 


세계적 흐름이 된 코딩 교육은 컴퓨터 엔지니어를 양성하기 위한 것이 아니에요. 코딩의 원리를 알면 공학, 법학, 의학, 금융, 인문학, 예술 등 다양한 분야에서 소프트웨어를 접목시켜 유익하게 활용할 수 있습니다. 코딩 교육은 소프트웨어에 대한 이해력을 키워줌으로써 앞으로 사물인터넷으로 대표되는 여러 분야와 제품에서 만나게 될 소프트웨어 개발자들과 원활하게 소통할 수 있는 기반이 되기도 하지요.

  

본격적으로 4차 산업혁명 시대를 거치며 모든 분야에서 소프트웨어가 폭넓게 활용되기 시작하면 개발자와 비개발자 간 소통이 지금보다 더 빈번하게 이뤄질 거에요. 그럼에도 불구하고 여전히 기존의 사고방식만으로 커뮤니케이션이 이뤄진다면 그 차이로 인해 여러 문제가 발생할 수도 있습니다. 코딩 교육은 이와 같이 융합과 통합을 전제로 한 4차 산업혁명 시대를 대비하기 위한 준비이며, 각 분야에서 혁신적인 해결책을 제시할 수 있는 능력을 키우는 단단한 기반이 되어 줄 거에요.



글 | 조정환(CIT Code Academy 대표)