이제 다시 코딩 이야기로 좀 돌아가서 "어떻게 코딩을 가르쳐야 하는 것인가" 하는 문제에 대해 필자의 생각을 적어보고자 한다. 하지만 코딩에 대한 이야기를 하려고 하면 굉장히 광범위한 주제를 다룰 수 밖에 없다. 단순히 어떤 프로그래밍 언어를 어떻게 배우느냐의 문제만 코딩교육에서 중요한 게 아니기 때문에 그러하다.
제목에서 언급했던 것 처럼 ... 필자는 코딩을 가르칠때 정말로 중요한 것은 기술도 아니고 지식도 아닌 "생각할 수 있는 힘" 이라고 생각한다. 특히 이 생각은 처음 코딩을 시작하는 단계에서 적어도 500라인 정도의 코드를 자기 힘으로 짜 내는 수준에 이를 때 까지는 거의 맞다고 생각한다. ( 그 이후는 조금 다른 세계가 펼쳐지긴 하더라. 생각의 힘이 아닌 직관의 힘이 필요한 단계... )
해서 이번 글에서는 생각의 힘을 가진다는 것에 대해서 이야기를 해 보려고 한다.
필자의 경우에 보면 ... 5개월 정도가 되는 장기 취업교육과정을 가르칠 때 처음 1주일을 굉장히 중요한 시간으로 본다. 그 때 확실하게 잡아주지 않으면 안되는 일이 한 두가지가 아니다.
그 중의 하나가 반의 반장을 뽑는것. 필자는 절대 민주적으로 반장 뽑지 않는다. 어차피 아이들도 다 누가 누군지 모른다. 그러기에 인기투표식으로 반의 의견이 모일 수 있는 중심에 선 인물을 선출하는 건 바람직하지 않다. 개인적으로 가진 노하우가 있지만 그건 나중에 이야기 하기로 하고 ㅎㅎ
그 일주일 동안에 나름 판단을 해 보는 것 중의 하나는 "누가 앞으로 공부를 잘 하겠구나" 하는 부분이다. 사실 시작할때 수준은 거의 유사하다. 아는게 별로 없다. 대학에서 전공을 경험한 아이들이라고 하더라도 내 앞에서는 별로 대단한 애들이 없다 ( 물론 학교다니면서 자기가 혼자서 죽자고 코딩하다 온 애들은 예외다. 그리고 컴공과 상위 5% 정도에 들어갈만한 대들도 예외 )
예전에 어느 교육에 과정 운영자가 와서 이야기 해 준게... 학생하나가 컴공 전공인데 자기 4년 배운게 2주일만에 밑천 바닥났다고 고민하더라는 얘기를 하던데... 원래 이 바닥이 그렇다. ㅎㅎ 그래서 취미로 하는 코딩과 전공으로 공부하는 코딩이 틀리고 전공으로 공부하던 코딩과 직업으로 삼고 있는 코딩이 틀리다는 거다. 필자는 철저하게 실전 지향이다. 아예 처음부터 필자의 과정에 입과한 사람들을 대상으로 "이 중에서 취미로 프로그래밍 하려던 사람들은 지금 마음을 바꾸든지 아니면 얼릉 그만두는 걸 심각하게 고려해 주길 바란다. 진심이 없으면 여기서 버티지 못할거다" 라고 ...
내 나름대로 아주 정확하다고 생각하는 판단 기준이 하나 있는데 그건 "말을 조리있게 잘 하는 애들은 거의 코딩이 좀 된다" 라는 것이다.
거기에 더하자면 좀 자폐적인 성향을 가지고 있는 애들 ( 병적이지는 않더라도 ) 은 아주 뛰어난 능력을 발휘하는 경우도 있다. 자신은 자기 나름의 확실한 논리를 가지고 있는데 남들은 그 생각을 잘 이해하지 못하는 그런 일종의 천재과? 그런 애들은 아주 뛰어난 개발능력을 보인다. 가끔 그런 애들도 있다. 흔하지는 않지만... ( 그러니까 횡설수설 하는 애들을 잘 주목할 필요가 있다. 자기 나름의 논리도약이 심하지만 그래도 자기 논리가 있는 애들이 천재성을 가진 애들이 많다. 내가 A 를 이야기 하고 있는데 얘는 이미 머리속에서 B C 건너뛰고 D를 이야기 하는 그런 애들 )
한 때 이런 주제로 고민을 해 본 적이 있다. 지금도 가끔 주위의 전문가들에게 넌저시 물어보는 주제이기도 하다. "어떤 애들이 코딩에 소질을 가지고 있는 것일까? 어떤 애들이 코딩 시키면 잘 하나?" 하는 문제이다.
이게 나름 중요한 문제가 되는게... 필자가 생각하기에는 이 바닥에서 먹고살 수 있는 수준의 기본을 만들어 주려면 필자가 생각하는 시간은 800 시간 정도이다. 헌데 이런 장기간의 교육을 실시하는데는 돈이 많이들고, 그 시간동안을 기다려 주어야 하는 문제가 있다. 즉 제대로 된 코딩을 배우는 건 공짜가 아니라 희생이 따른다는 얘기가 된다.
그런 희생을 감수하려면 그만한 가치가 있어야 하는데... 솔직히 소질없는 아이들에게 가르치면 돈도 날리고 교육받는 당사자도 힘들어지고 자신감과 시간과 기회비용만 날리게 된다. 그러니까 가급적이면 잘 할만한 아이들을 데려다가 교육을 시키는 것이 바람직한 일이 되고, 교육에 돈을 대는 기관이나 개인 입장에서도 그게 자신들의 "성과"가 되어서 여기저기에 내세울 수 있게 되니까 말이다.
너무 가혹한거 아니냐고? 헌데 괜히 코딩 안되는 애들 데려다가 모두가 힘들어하고 성과는 안나오는 거 보다는 훨씬 낫다. 물론 우리애가 소질은 없는데 그래도 코딩 잘해서 좋은 직장 잡았으면 바라는 사람들에게는 가혹한 얘기겠지만 ( 그런 분들은 좀 시간 넉넉하게 잡고 접근하셔야 하는데 말이다... )
이런 "어떤 애들이 코딩을 잘할까?" 라는 것에 대한 문제는 최근 코딩교육이 아이들에게 유행처럼 아이들과 학부모들에게 관심을 끌게 되면서 진지하게 공론화 해 봐야 할 가치가 있는 주제가 되었다고 생각한다. "과연 우리애가 정말 프로그래밍을 남다르게 잘 해서, 그걸로 대학도 가고 창업도 하거나 아니면 구글같은 회사에 입사도 척척 할 수 있을 정도의 인재가 될 수 있을까?" 하는 의문을 가지고 있는 사람들에게 그러한 기대감을 요구사항으로 구체화 하고 말로 꺼내기는 부담스러울 수도 있지만 나름 중요한 관심사이니까 말이다.
그런 "우리애가 과연..." 이라는 형태의 질문을 누군가가 필자에게 물어오면 필자의 대답은 거의 대부분 "해 보기 전에는 모르니까 한번 해 보죠 뭐. 헌데 본인들이 하고 싶어하긴 하나요?" 이다. 사실 그게 정답이다. 필자가 신도 아니고 ... 어떻게 아이가 가진 재능을 한번 보기만 하는걸로 딱 파악되느냐는 말이지...
하지만 나름 가지고 있는 비법이 하나 있긴 하다. 백퍼센트라고 이야기 할 수는 없지만 어느 정도는 신뢰할 수 있는, 경험에서 나온 "코딩 가르치면 잘 될 성 싶은 아이들을 추려내는" 기법이 있다. 그건 "생각에 힘이 있는 애들은 된다" 라는 거다. 그리고 생각에 담긴 힘을 알수 있는 방법을 알려고 하면 "말하는 것이 조리가 있고 힘이 느껴지면" 걔는 될 가능성이 상당히 높다. ( 해서 말 많은 애들은 일단 필자의 레이더에 포착이 빨리 되는 편이다 )
왜냐구? 필자의 경험에 의하면 코딩이라는 것이 사실 정석적이지 않더라도 스스로 판단해서 책임지는 힘이 실려 있다면 얼마든지 유효한 코드가 되는 경우가 대부분이다. 예를 들어서 구지 깔끔하게 정리가 되지 않고 if 문의 홍수로 만들어진 코드라도 돌아가면 일단은 되는 경우... 그리고 그렇게 돌아가는 코드를 짠 아이들에게 "이거 이런식으로 정리하면 어떨꺼 같냐?" 라고 짚어주면 걔는 확확 느는거다... 헌데 처음부터 스스로 판단하여 짜고 들어가지 않고 좌우의 눈치를 먼저 살피는 애들은 생각에 힘이 없는 경우가 많았다. 스스로 책임지는 코드를 만들어야 하는데 아직까지는 그런 자신이 없는 거다.
의외로 성적이 어설프게 좋은 애들인데도 생각의 힘이 없는 애들이 있고, 성적이 안 좋은 데도 생각에 힘이 있는 애들이 있다. 엉뚱하더라도 자신의 생각에 자신을 가지고 있고 그 생각대로 행동하기를 즐겨하는 약간은 반항기 섞여있지만 주체적인 아이들이 코딩을 잘한다.
사실 컴퓨터 앞에서 코딩을 하고 있으면 그 다음에는 자신과 컴퓨터만 존재하게 된다. 스스로에 자신을 가지고 있지 않으면 불가능한 작업이 코딩이다. 자신의 생각이 비록 백점짜리 생각이 아니라도 그 생각에 자신감과 긍지를 가지고 있어야 하는데... 사실 이건 필자의 생각에서는 무의식의 영역 아닌가 한다.
나중에 여기에 대해서 좀 더 깊이있게 고민한 이야기를 해 보겠다. 어느 뇌심리학자의 이야기를 다큐에서 보았는데 우리들의 행동을 결정하는 것은 의식과 지성의 영역은 5%이고 무의식의 영역이 95%를 차지한다고 하니... 거기에 대해서도 고민해 본 흔적이 있긴 한데 그건 나중에 ^^*
필자의 경우에는 장기 교육을 하다보면 성공하는 반과 실패하는 반의 차이가 명확하게 갈리는 건 많이 본다 ( 사실 필자는 실패한 경험은 없는데... 다른 반을 보면 실패 사례를 꽤 보기도 한다 ). 강의를 하는 반이 성공하기 위해서는 학생들과의 교감이 필수적인데, 가장 좋은 방법은 반에 있던 아이들중에서 별로 코딩을 잘 못할 것 같던 아이 하나가 갑자기 일취월장 해 버리면 그 반의 분위기는 확 살아난다. 뭐 선생이 이래 저래 크게 신경 쓸 일이 없어진다.
"둘리야 둘리야, 길동이 좀 봐... 쟤 처음왔을때 솔직히 너보다 잘할거라고 생각 안했지? 헌데 봐... 되잖아. 괜찮아. 너도 믿고 따라오면 되. 이건 될때 까지만 하면 되는 게임이야. 네가 괜히 지금 안된다고 기죽을 거 없어. 알았어? 될 때 까지만 하면 된다구!!"
이런 말도 안되는 ( 솔직히 될 때 까지 하면 다 되는건 맞는 말 아닌가 ㅎㅎ ) 얘기를 해 주면 먹히는 게 .... 실제로 눈 앞에서 살아서 움직이는 실제 사례가 있으면 선생으로 부터 배우는 거 보다 그 아이의 살아 있는 얘기가 걔들에겐 더 도움이 된다. 그 길동이에게 둘리가 찾아 갔을때 길동이가 "사실 나도 이거 막막했는데... 이렇게 생각해 보니까 될 거 같은 생각이 들어서 해 보니까 되더라고" 이런 한마디를 던져 주면 그게 정말 살아있는 교육이 된다.
그렇게 생각과 실제로 움직임을 하나의 세트로 움직이게 하는 건 솔직히 배우고 알아서 되는 것도 있지만 무의식의 영역의 문제가 아닐까나?...
필자가 겪은 예를 들어보기로 하자.
5개월 짜리 장기과정에 입과한 친구였는데... 팔에는 커다란 문신이 그려져 있었고 폼도 조금 껄렁해 보였다. 나중에 들었는데 모 중소기업 임원의 아들이라는데 그 부모가 하도 속이 상해서 보냈다는 얘기도 있었다. 반항끼도 살짝 보였다. 헌데 말을 해 보면 착했다. 조금 껄렁해도 보면 자기 생각에 힘이 있고 ( 그러니까 문신도 하고 사는거 아닌가 싶기도 하고 ) 자신에게 잘해 주면 진심으로 고마와 해 주는 모습이 있었다.
대체로 연애... 를 잘 하고 있는 애들이 보면 코딩도 잘하는 경향이 있다. 연애라는 것이 최근에는 각종 돌발상황에 대해 대처하는 능력이 모자라면 연애 못하고, 자신감이 떨어지는 애들도 연애 잘 못한다. 해서 보면 연애 잘 하는 애들이 코딩도 잘하는 모습이 역력한데 아니나 다를까 나중에 보니 알콩달콩 연애 잘 하고 있다고 한다.
자기소개 하는 과정에서 이 녀석이 자신의 사연을 짧게나마 읊어보는데 가관이었다. ㅎㅎ 뭐 솔직히 공부랑은 담을 싾고 살은 녀석이 한 둘이 아니지만 이 녀석은 정말 물건이었다.
필자의 경우 모두에게 공평하게 관심을 주는 걸 굉장히 커다란 원칙으로 삼는다. 누군가에게 특별 대우를 절대 절대 하지 않으려고 노력한다. 특히 여자 수강생의 경우는 그런 편애... 에 굉장히 민감하다. 그래서 아예 대놓고 처음부터 얘기한다 "눈길 주는 거 까지 내가 조심하려고 노력하는데, 여자 남자에게 눈길 주는 걸 5.5 대 4.5 정도로 차이를 두려고 하거든... 왜냐하면 여자들이 이런데 더 예민해서 조금 더 배려해 주는게 맞다고 생각하니까 남자들 너무 서운하게 생각하지 말아라" 라고 아예 대놓고 이야기 해 준다.
하지만 티나지 않게 신경을 좀 쓰긴 썼다. 우리반은 봉숭아 학당을 지향하고 있으니까 헛소리 나올 줄 뻔히 알면서도 일부러 질문 시키고... 손들고 서있으라고 시킬때도 그녀석의 맷집을 믿고!! 일부러 책 한권 더 얹어놓고... 졸고 있을 성 싶으면 일부러 믹스커피 진하게 타서 책상위에 살짝 올려놓기도 하고... 장난 좀 친거다. ㅎㅎ
헌데 이런 장난이 그 녀석에겐 정말 반가왔나 보다. 학교에서 그렇게 자기 자신을 받아주는 곳이 정말 반가왔던지 이녀석이 화답을 하더라. 수업에 적극성을 띄고 질문도 하고... 그렇게 질문을 해 오면 그 질문 하나를 가지고 진도를 올 스톱 시키고 그 질문을 풀기 위해서 같이 온 교실이 궁리하기도 했다. 물론 그렇게 해서 질문이 해결이 되면 그 녀석은 숙제가 하나 더 늘어난다. 자신의 질문과 답을 정리해서 제출하거나 아니면 교실 유리창에 전시해야 했다 ㅎㅎ
이 녀석이 그런식으로 반에 정을 붙이니까 적극성을 띄게 되는데 좋았던게 코딩을 하는데 두려움이 없었다. 코딩을 하다가 막히거나 에러가 나면 가슴이 턱턱 무너지고 머리가 하얂게 되는 애들이 꽤 있는데 이 친구는 코딩하다가 에러가 나면 화도 내고 짜증도 내면서도 그것에 맞서려는 모습을 보였다. 그걸 보고 필자는 이 녀석이 될 것 같다는 느낌이 들었다. 아니나 다를까... 기본이 어느정도 싾이는 시점이 되니까 갑자기 성적이 쑥 올라버렸다. 두번째의 시험에서 반에서 1등을 해 버린거다. ( 태어나서 1등해본게 처음이라고 하더라 ㅎ )
뭐 ... 그 다음에는 자동이다. 물론 그 이후에 좀 흩어지고 농땡이 부리다가 야단을 맞긴 했지만 그래도 잘 수료하고 고향으로 내려가서 취직하고 이쁜 여자친구 만들어서 연애도 잘 하고 지낸다는 그런 얘기를 들었다... 그 녀석은 아마 내가 이런 생각을 하면서 자기를 대했는지 모를거다 ㅎㅎ
생각의 힘이 있는 애들은 오히려 자기가 지금껏 경험하지 못했던 ... 공부란 것이 이렇게 내 생각에 힘을 실어 주는 재미있고 즐거운 것이라는 것을 깨닫게 되는 순간에 쑥 올라가 버린다. 필자가 가장 바라는 모습도 그러하다. 그리고 만일 교육의 기회를 모든 아이들에게 부여하기 어렵다면 우선적으로 그런 아이들에게 집중적인 기회를 마련해 주고 그런 애들의 솔직한 경험담과 사례를 통해서 전반적인 자신감을 젊은 세대들에게 심어주는 게 도움이 되지 않을까... 싶다.
이게 필자가 비장하고 있는 노하우 중의 하나다. 생각의 힘을 가지고 있는 애들을 우선적으로 끌어올려서 그걸로 반의 분위기를 "어 저 녀석은 정말 안될 줄 알았는데 저 녀석이 되네?" 라고 하는 놀라움을 반 안에 심어 주는 것...
물론 필자는 신이 아니다. 경험적으로 얻은 몇가지 노하우가 있을 뿐이지 아이들의 속을 들여다보는 능력은 없다. 그리고 이 깨달음을 얻기 까지 시행착오도 정말 많이 겪었다. 그 과정에서 남 모르게 마음 고생을 시켰던 아이들에게 이 자리를 빌어서 미안한 마음을 전한다.
생각의 힘을 가진 애들... 이런 애들이 어설프게 성적 좋은 애들 보다 나을 수도 있다.
그리고 앞으로의 세상은 이런 생각의 힘을 갖는 게 매우 중요한 세상이 될 거라고 확신한다.
인공지능은 계산과 통계를 바탕으로 합리적인 판단을 내릴 수는 있겠지만
결국 결정하고 책임지는 역할을 수행해야 하는 건 인간의 몫이니까 말이다...