[코딩 잘 하는 법]

in #yonghyun7 years ago
  1. 학부모 전상서
    첫 포스팅부터 무거운 질문이 올라와 예정했던 진도는 다음으로 미루고 우선해 답변드리도록 하겠습니다. 앞으로 간단한 답변은 바로 댓글을 달아 드리겠지만 지면을 할애해야 하거나 별도의 주제는 따로 포스팅하는 방식으로 진행할까 합니다.

중학생 아이를 둔 어머님 질문입니다.
"학원을 보내야 할까요? 예비 중2맘 입니다ㅜㅜ"

질문에 "ㅜㅜ" 감정 문자까지 넣으신 걸 보니 '이미 다니는 학원이 몇 개인데 코딩 수업까지...'라는 애환과 절규가 충분히 느껴집니다. 저 또한 학부형이니까요.

코딩(Coding)의 정의부터 말씀드려야겠군요. 코딩은 컴퓨터에게 특정한 일을 시키기 위해 일련의 명령어들을 작성하는 작업을 말합니다. '프로그래머가 프로그램을 만든다'라고도 합니다.
그렇다면 프로그램을 만드는 작업이 아이들에게 왜 필요할까요? 사실 질문은 여기서부터 시작되어야 한다고 봅니다.

요즘 회자되는 '4차 산업혁명', '인공지능', '빅데이터' 때문이라 보셔도 어느 정도는 맞습니다. 하지만 저는 조금 다른 곳에서 이유를 찾고 싶습니다. 그런 이유 때문에 이 포스팅을 시작하게 되었고요.

프로그램을 만드는 작업은 특정 문제를 해결해 가는 과정입니다. 그래서 많은 이들이 문제 해결 능력을 중요한 키워드로 내세우고 있습니다.
여기서 제가 질문을 드립니다. '문제가 해결되었다고 문제가 해결되었다' 단언할 수 있을까요?
이 질문은 많은 의미를 내포하고 있습니다. 간단한 예를 들어 보겠습니다. 음식 투정이 심한 아이가 있습니다. 아침은 먹는 둥 마는 둥 등교하기 일쑤이고요.

여러분은 어떻게 해결하시겠습니까?
'밥을 굶긴다', '좋아하는 음식만 차린다', '강제로 먹인다' 여러 해결 방안이 나올 수 있는데 운이 좋아 음식 투정이 사라지면 좋겠지만 대부분 부모님들은 해결하는데 상당한 노력과 시행착오를 경험하게 됩니다.

여기에 제가 드리고 싶은 말이 있습니다.
문제를 해결하기에 앞서 '문제를 알아라'입니다. 문제를 파악(분석) 하고, 이게 문제이구나 인식(정의) 한 후 해결 방안을 모색(설계) 하라 입니다.
소프트웨어 공학에서는 이런 과정을 요구사항 공학이라 칭하고 별도의 방법론으로 제공하고 있습니다. 그만큼 중요한 부분이죠.

그저 기술을 알고 기술을 활용해 문제를 해결하는 능력보다 문제의 핵심을 파악하는 능력이 더욱 중요한 시대입니다.
최근에 생겨난 데이터 과학자의 업무에 코딩만 있을까요? 절대 아닙니다. 요건(needs)을 파악하고 그 요건에 맞는 데이터를 선택 또는 생성하는 과정이 더욱 중요합니다.
인공지능 분야도 마찬가지입니다. 물론 문제를 해결하는 알고리즘(algorithm)이 필수이겠지만 그 알고리즘을 왜 만들지 판단하는 태생의 비밀이 있을 겁니다.

다시 본 질문으로 돌아와서 학원에 보낼 필요가 있을까요? 그 판단은 부모가 아닌 본인이 해야 할 몫입니다. 수많은 IT 기술 중 어느 기술이 본인에게 필요하다 생각이 들었을 때 그때 배우면 됩니다.
지금 아이들이 키워야 할 능력은 본인에게 어떤 기술이 필요하고 왜 필요한지 알아가는 것입니다. 그리고 그 과정을 즐기는 것입니다.

학부모님 너무 조급해 마십시오. 컴퓨터 기술도 도구일 뿐입니다. 자기 손에 맞는 도구를 찾아가는 과정을 아이들에게서 빼앗지 마시길 바랍니다.

감사합니다.