뷰페이지

[김용석의 상상 나래] 코딩은 수단, 생각하는 힘부터 기르자

[김용석의 상상 나래] 코딩은 수단, 생각하는 힘부터 기르자

입력 2017-09-01 17:50
업데이트 2017-09-01 18:00
  • 글씨 크기 조절
  • 프린트
  • 공유하기
  • 댓글
    14
김용석 성균관대 전자전기공학부 교수
김용석 성균관대 전자전기공학부 교수
전 세계적으로 코딩(coding)의 중요성이 부각되고 있다. 이스라엘은 1994년, 영국은 2015년 초·중·고생을 대상으로 코딩 교육을 강화했다.

우리나라에서도 내년부터는 코딩 교육을 한다. 중학생은 2018년부터 34시간, 초등 5~6년생은 2019년부터 17시간을 필수로 하고, 고교생은 선택 과목에서 코딩 교육을 하겠다는 내용이다. 코딩 교육에 대한 관심이 높아지면서 일부 지역에선 코딩 사교육 열풍까지 불고 있다고 한다.

코딩이란 무엇인가. 외국인과 대화하기 위해 영어를 공용어로 사용하듯이 컴퓨터에 일을 시키려면 컴퓨터 언어가 필요하다. 그런데 컴퓨터는 계산과 비교만 가능하다. 이런 컴퓨터에 사람의 상상과 생각을 전달해야 하는데, 컴퓨터가 이해할 수 있는 언어로 표현하는 것이 코딩이고 그 결과물이 프로그램이다.

요즘 창의적인 아이디어만 있으면 누구나 쉽게 시제품을 만들어 볼 수 있다. 몇 가지 개발 도구가 있는데, 그중에서도 ‘아두이노’라는 개발 도구를 이용하는 것이 가장 쉽다. 소형 컴퓨터를 수행하는 작은 반도체칩이 들어 있어서 온도계, 습도계, 로봇, 조명 제어도 쉽게 할 수 있다. 공학과는 거리가 먼 일반인도 쉽게 접근할 수 있도록 친숙한 개발 환경을 제공한다. 시인, 화가, 철학자도 자신이 만들고 싶은 아이디어를 상상하기만 하면 된다.

아이디어, 생각들은 언어로 표현하고 이를 글로 남겨 공유하게 된다. 코딩을 한다는 것은 글을 쓰는 과정과 너무나도 똑같다. 어떤 내용의 글을 쓸 것인지를 고민하고 생각하는 것이 코딩에서는 동작시키고자 하는 하드웨어 시스템의 기능, 성능을 정하고 어떤 일을 시킬 것인지를 정하는 일과 같다. 생각이 정해지면 글로 옮기면 되고, 이것은 코딩하는 것과 동일하다. 글을 쓰면서 생각이 제대로 표현되지 않으면 몇 번이고 수정을 하게 된다. 이것이 코딩에서 오류(버그)를 고치는 것과 같은 의미다.

글을 쓰는 사람들을 작가라 부르며 그의 사고력과 창의적 능력에 찬사를 보내기도 한다. 훌륭한 작가는 멋진 글을 늘어놓는 사람이 아니고, 그 안에 들어 있는 글의 내용이나 전개 과정을 중시하는 사람이다. 좋은 글을 쓰기 위해 작문 연습을 많이 하고 여러 글들을 접해 봐야 하지만, 이런 것들만이 그 사람을 위대한 작가로 만들어 주진 않는다.

진정한 작가의 창의적인 질적 가치는 글의 내용에 있다. 코딩의 경쟁력은 규격을 정하는 단계에서 상당 부분 결정된다. 하드웨어 시스템의 기능과 성능, 서비스를 가장 효율적으로 할 수 있는 방법을 찾는 일이 먼저이기 때문이다. 좋은 소프트웨어를 만들려면 코딩 능력보다는 알고리즘 개발 능력이 더욱 중요하다.

알고리즘이란 어떠한 주어진 문제를 풀기 위한 절차나 방법을 말하는데 컴퓨터 실행 명령어들의 순서를 의미한다. 예를 들면 작년에 이세돌과 바둑을 겨루었던 인공지능(AI) 알파고는 효율적으로 데이터를 추론하고 분석할 수 있는 새로운 알고리즘으로 발전했고, 올해 중국 커제와의 대결에서 더 향상된 실력을 확인했다. 이전에는 사람이 둔 바둑 기보를 모범 답안으로 삼아 연습하면서 실력을 쌓았지만, 스스로 공부하면서 새로운 수를 찾아내는 알고리즘을 고안해 낸 것이다. 코딩은 외국어를 배우는 것과 비슷한 과정을 거친다. 외국어 교육은 새로운 언어를 익히고 나면 전달하고자 하는 내용이 중요하다.

코딩 교육도 마찬가지로 접근해야 한다. 컴퓨터 언어를 배운 뒤에는 내가 상상했고 만들어 보고자 하는 시스템을 정의하는 일, 효율적인 구현 방법을 고민하는 시간이 중요하다. 그래서 책 읽기, 글쓰기를 통해 생각하는 힘을 기르는 것은 기본이다.

손을 들어 ‘달’을 보라고 하는데, 달은 보지 않고 손만 본다는 말이 있다. 코딩 교육에서의 핵심은 코딩 그 자체에 있는 것이 아니다. 수학적, 과학적 소양을 토대로 문제를 설정하고 그것을 해결할 수 있는 가장 효율적인 방법을 찾는 알고리즘을 찾는 교육이 우선돼야 한다. 창의적 아이디어와 상상을 구현하면서 문제 해결 능력도 키울 수 있어야 한다. 코딩은 수단이다.
2017-09-02 22면

많이 본 뉴스

  • 4.10 총선
저출생 왜 점점 심해질까?
저출생 문제가 시간이 갈수록 심화하고 있습니다. ‘인구 소멸’이라는 우려까지 나옵니다. 저출생이 심화하는 이유가 무엇이라고 생각하시나요.
자녀 양육 경제적 부담과 지원 부족
취업·고용 불안정 등 소득 불안
집값 등 과도한 주거 비용
출산·육아 등 여성의 경력단절
기타
광고삭제
위로