철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

정말 아이들에게 프로그래밍을 가르치는게 맞을까

with one comment

사람들이 아이들도 프로그래밍(코딩)을 배워야한다고 이야기하기 시작한다. 왜?

프로그래밍으로 얻을 수 있는 것이 무엇일까. 그냥 막연한(인터넷에서 본 글들의) 예를 들어서… 논리적인 사고, 그런건 다른 책에서도 얼마든지 찾을 수 있지 않나? 레고를 혹은 과학상자를 혹은 비디오게임을 주는 것과 무엇이 다를까. 논리적인 과학자라고 프로그래밍으로 논리를 배운 것도 아니고, 그런 이유로 프로그래밍을 잘한다고 할 수 없듯이 프로그래밍을 논리적인 사고를 위해 배워야 된다고 하는 것은 뭔가 그냥 유행같다. 프로그래밍을 잘하게 될 지언정. 그냥 머리에 떠오른 예시일 뿐이니 프로그래머들이 더 논리적일까에 대한 논쟁은 버려두자, 난 그리 생각하지 않으니.

많은 프로그래밍하는 사람들이 프로그래밍을 배우는 것이 좋다는 이야기를 하는 것을 그 사람들의 (그들이 인정받는 사람이라는) 문맥에서는 믿지 않을 이유는 없지만, 그 좋다는 것이 일반화되기에는 뭔가 오류가 있지 않을까. “내가 해봤는데…” 이거 어디서 많이 들어본 문구다.^^ 그 사람들이 인정받기 때문에 믿는 권위에의 오류일까, 아니면, 정말 프로그래밍을 해서 인정받게 된 증명되지 않은 사실(fact)일까. 혹은 통계적으로 잘된 경우가 더 눈에 띄는 심리적인 현상일까. 어떤 능력이 더 좋은 사람들이 프로그래밍을 잘하더라, 그렇다면 프로그래밍을 배우면 그 능력이 좋아지는 것인가. 우리는 프로그래밍을 배운 사람과 배우지 않은 사람간의 차이를 실험해서 일반화할 수 있을만한 의지가 있는 것일까. “왜” 배워야하는가에 대한 이야기는 많이 들리지 않는다. 사실 여부를 떠나, 프로그래밍을 무작정 교육에 집어 넣기 위한 근거는 턱없이 부족해보인다.

다른 관점으로도 생각해볼 수 있다. 반대로, 프로그래밍을 잘 할 수 있는 사람들이 프로그래밍이 할머니/할아버지가 할 수 있는 것으로 만들어줘야되는 것이 맞는 방향이 아닐까한다. 그렇게 되면, 정말 누구나 프로그래밍을 배우는 의미가 더 클 것 같다. 프로그래밍을 배움으로써 가지거나 가지도록 도움을 받을 수 있는 요소가 중요한 것이고, 그 효율적인(?) 보조매개로 프로그래밍이 각광받는 것이 아닌가.

사실은, 프로그래밍이 되려 누구나 할 수 있는 방향으로 흘러 지금쯤이면 속된 말로 할머니 할아버지도 할 수 있는 것이 되어 있어야하지 않았을까? 꼭 프로그래밍을 배워야된다는 것보다 도구가 프로그래밍을 쉽게 도움(Facilitate)을 주고, 어렵게 배우지 않아도 될 그런 경험을 선사해야하지 않았을까?

하지만, 아쉽게도 그런 세상과는 꽤나 멀다. (IT)세상은 돈이 지배적이고, 그 돈이 지배적인 세상에서는 Innovators Dilemma 때문에 생각보다 발전은 느릿느릿 거북이 걸음이다. 사실 IT 산업이 우리 할머니가 프로그래밍을 할 수 있게 되는 것으로 얻을 수 있는 것은 보이기에는 그다지 없다. IT 산업은 분명 필요하다. 하지만, 모두가 IT 산업에 종사해야하는건 아니다. 왜 모두가 스티브잡스이고 마크저커버그이고 빌게이츠이어야하는가. 웃긴 일이지만, 안웃기게도 자본이 모이는 곳에 아이들의 미래를 보내고 싶어하는 심리는 어쩔 수가 없다. (이런 기사도 좀 안타깝다.)

우리는 예를 들어 마당의 워터쿨러 시스템 같은 홈 오토메이션에서 은연중에 생활속 프로그래밍을 한다. “시간이 몇시가 되면 물을 틀어 몇분후에 끄고, 수요일은 예외로 하고, 온도가 몇도 이상이면 틀지 말아라.” 프로그래밍 로직이다. 이렇게 말로 하면 쉬운데, 프로그래밍 언어로 적으라고 하면 왜 그렇게 어려운 것이 되어버리는지. 이 둘간의 패러다임 쉬프트는 일어나지 않았다 – 여전히 다수가 프로그래밍은 프로그래머의 몫으로 생각한다. 앨런 케이의 끊임없는 노력이나, IFTTT와 같이 프로그래밍이 아닌 프로그래밍 같은 것등 노력은 꽤 많다. 삶속에서의 프로그래밍 메타포를 적용할 수 있는 것들은 많지만, 둘의 융합은 아직인 것 같다. 되려 우리의 사고가 프로그래밍 언어의 틀에 구애받는 것이 올바른 것인가하는 질문도 던질 수 있다.

이는 우리 아이들에게 프로그래밍을 가르친다는 개념과는 사뭇 다르다 – 적어도 지금 주류의 패러다임에 있어서는 말이다. 프로그래밍을 가르친다면 프로그래밍 언어를 가르치고 있을 것이다. 그것보다는 프로그래밍을 프로그래밍을 이해하지 못하는 사람들에게 이해시키기 위한 다른 형태로 만들고자 하는 시도들이다. 우리 할머니가 C코드를 작성하실리는 절대 없지만서도, 우리 아이들도 C코드를 작성할 필요가 없지 않냐는 것이다. 왜 아이들에게 포인터의 개념을 가르치고 있어야되나, 살아가면서 꼭 알아야할 필요는 없는 내용같은데.

비주얼 프로그래밍이라고 이야기하는데, 자칫 잘못 오해하면, 뭔가 휙휙 끌어다 놓고 연결하면 다 될 것 같은 느낌이 드는 말이다. 하지만, 어린이들에 맞춰서 충분히 추상화된 경우가 아니라면 도메인 지식을 필요로 하는 경우가 상당수다. 전문가에게는 쉬울지언정, 일반인에게는 선택의 폭이 넓지 않다. 프로그래밍을 가르치는 것이 아니라 게미피케이션으로 논리/로직을 가르친다고 생각해보면 어떨까? 프로그래밍을 가르쳐야된다는 이야기는 사실은 프로그래밍의 어떤 요소를 가르치기 위해서 사용하는 도구를 이야기하는 것이지 않을까. 그렇다면 프로그래밍이 가장 효율적인 도구가 아니라면 꼭 프로그래밍일 필요는 없는 일이다. 역시나 택타일한 레고나 과학상자가 더 효율적이지 않을 것이란 법은 없다. 어떤 도구를 아이들에게 잘 가르쳤더니 굉장히 창의적이고 재미난 결과물을 많이 만들어내더라…그 도구를 프로그래밍으로 치환하지 않아도 맞는 말이 될 가능성이 크다는 이야기다. 게다가, 그것이 아이들의 사고에 어떤 도움이 될 것인지, 아니면 교육으로써 커서 어떤 영향을 미치고 있는지에 대한 연결고리는 여전히 불문명하다.

프로그래밍 방식과 언어가 바뀌는 것은 또 어떻게 적용할 것인가도 골치다. 교육제도라는 것이 그렇게 유연성이 있는 것도 아니고, 바뀐다고 바꾸는 것에 아닌데, 자칫 잘못 도입했다가 아이들만 헷갈릴 부작용도 생각해볼 수 있다. 고등학교 2학년때 학력고사 공부를 하다가 갑자기 수능으로 바뀐 상황이 떠오른다.

인터넷에 있는 글들을 읽어보면, 그 이유는 그다지 찾기 힘들다. “이유” “왜” 이런 제목을 붙여놓고는 경험만 길게 이야기하거나 어떤 나라에서는 이렇게 한다카더라 나열하거나 혹은 그냥 신념만을 이야기한다. 여전히 “왜”는 없다. 아이들에게 프로그래밍을 가르쳐야된다는 추상적인, 그리고 마치 별 이유없는 정책적인, 혹은 무슨 제품을 파는 마케팅의 포지셔닝처럼 만들지 말고, 장기적으로 왜 그것이 필요한지, 그것으로 어떤 긍정적인 그리고 부정적인 효과가 있을 것인지를 연구해서 일반화할 필요가 있지 않을까하는 생각을 해본다. 솔직히 나는 중립적이라는 이야기도 살짝 붙여본다.

Written by charlz

2013년 11월 4일 , 시간: 오전 12:30

Uncategorized에 게시됨

One Response

Subscribe to comments with RSS.

  1. […] “정말 아이들에게 프로그래밍을 가르치는게 맞을까“를 적은 이후에 봐도 여전히 비슷한 이야기를 하는게 재탕좀 해도 되겠다 싶었다, 자신의 생각을 구체화하는데 반복은 중요하니 생각을 더 적어본다. […]


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: