[교육의 눈] 노기섭 청주대학교 인공지능소프트웨어학과 교수

얼마 전부터 우리나라에 일고 있는 재밌는 현상 중 하나는 '코딩 열풍'이다. DNA(Data, Network, AI) 기술이 미래 먹거리로 주목받으면서 인공지능에 대한 기대가 높아지고 있다. 인공지능이 성능이 빠르게 향상되면서 자연스럽게 코딩에 관한 관심도 덩달아 높아지고 있다. 일반 사람들은 누군가 코딩을 잘하면 인공지능도 쉽게 이해하게 되고, 자연스럽게 미래 핵심 소프트웨어 기술인력이 될 것으로 믿는다.

그러다 보니 대학에서는 교양 필수 과목으로 코딩 과목을 배치하고 있다. 유튜브와 같은 온라인 플랫폼에는 무료로 배울 수 있는 콘텐츠가 많다. 학생에서 직장인에 이르기까지 적지 않은 사람들이 코딩에 관심을 보인다. 정부에서는 2025학년도부터 초등학교에서 코딩 교육을 의무화하는 정책을 발표하였다. 초등학생까지 코딩을 배워야 하는 세상이 맞는 것일까? 필자의 답은 "그렇다" 이다. 왜 그럴까?

코딩 교육 확대에 거부감이 있는 사람은 대부분 코딩을 학교 성적과 연관하여 생각하기 때문일 것이다. 학원도 보내야 하고, 필요하면 과외도 해야 하는 일종의 '과목'이라는 심리적 압박이 있을 수 있다. 그러면 코딩을 잘 배우면 인공지능 소프트웨어 인재가 될까? 필자는 반만 맞는다고 생각한다. 코딩의 본질은 특수 기술을 배우는 것이 아니라, 창의력을 배우는 과정이기 때문이다.

우리는 컴퓨터가 어떤 일을 하도록 순서를 적어 놓은 것을 '프로그램'이라 부른다. 프로그램을 작성하는 일을 코딩이라고 부른다. 코딩은 하얀 도화지에 그림 그리는 것과 비슷하다. 그리기 예를 살펴보자. 사과를 그리는 방법은 몇 가지일까? 사진이나 다른 사람 그림을 보고 그리거나, 기존 그림을 변경하거나, 자신의 생각했던 형태를 그리는 등 수없이 많은 방법이 있다. 수많은 방법 중에서 자신만의 그림을 그려가는 과정에서 창의력과 사고력이 높아진다. 

코딩도 마찬가지이다. 컴퓨터에 '3에 어떤 수들을 더하거나 빼서 5를 만드는 프로그램'을 코딩한다면 가능한 경우가 몇 가지일까? 정답은 무한대이다. 3에서 3을 빼고 5를 더해도 된다. 3에 3을 더한 후 1을 빼줘도 5를 만들 수 있다. 하지만 가장 빠르고 간결하게 계산하는 방법은 존재할 것이다. 아마도 '3 + 2'라는 방법일 것이다. 그리기와 마찬가지로 코딩하는 방법은 수없이 많지만, 그중에 효율적이고 간결한 방법을 스스로 생각해 보는 것이 코딩의 핵심이다.

컴퓨터에 어떤 작업을 시켰더니 일주일이 걸렸다. 똑같은 작업이지만 코딩 방법을 달리하여 프로그램을 만들었더니 1시간에 끝낼 수 있다면 그것은 좋은 코딩 방식이라 할 수 있겠다. 이 경우 좋은 '알고리즘'이 적용되었다고 말한다. 짧은 시간에 정확한 답을 찾는 방법을 정리한 것이 '알고리즘'이다. 코딩은 알고리즘이라는 어려운 개념을 따로 배우지 않아도 알고리즘 자체를 스스로 배울 수 있는 효율적인 방법이다. 

코딩은 진입장벽 자체가 없다. 누구나 컴퓨터만 있으면 시작할 수 있다. 무엇이든 상상하는 것을 컴퓨터에 시킬 수 있다. 초등학생까지 코딩을 배우는 이유는 미래 인공지능 기술자를 키우는 것이 아니라, 우리의 상상력과 창의력을 높인다는 목적 때문이다.

 

저작권자 © 충청일보 무단전재 및 재배포 금지