※ 주: 이글의 모든 견해는 NHN NEXT와 무관한 사견입니다.
초중고 공교육에서 소프트웨어를 다루기로 했다는 이야기에 일단 총론적으로 환영한다. 이와 관련된 정부의 공식 보도 자료는 다음과 같다.
각론의 미세한(?) 차이는 있었지만, 소프트웨어 교육의 중요성은 소프트웨어 업계, 교육계에 종사하는 모든 사람이 오래 전부터 지속적으로 주장해왔던 바이다. 따라서 늦었지만 정부의 이런 결정을 환영하는 바이다. 이제는 제대로 되게 만들어야 할 때다.
이 중차대한 순간에 ‘부정적인 자세를 보이면 안 되는데…’하는 마음이 한켠에 있지만, 그런 이야기 하는 사람도 있어야 한다는 객기어린 사명감에 이 글을 쓴다. 아시는 분은 아시겠지만, 난 소프트웨어의 중요성, 소프트웨어 만드는 사람의 중요성에 대하여 엄청난 확신을 가지고 있는 사람들 가운데 하나이다. 이 글의 부정적 우려들이 현실화 되지 않기를 기대한다.
대학 입시와의 연계, 사교육 시장을 넓힐 수 있다
먼저 뉴스에 나왔길래, 가장 많은 사람이 우려하고 있던 입시 연계 문제에 대통령이 바로 접근하셨다.
“대학입시에 자꾸 부담을 주면 안된다는 것도 중요한 얘기지만 입시와 연계가 안되면 잘 배우지 않으려는 경향이 있다. 그래서 이것을 ‘절대평가’를 하든지 해서 어떻게든지 배우지 않으면 안되게 하는 노력도 필요하다고 생각한다”
“이번에는 정말 제대로 만들어야 되지 않겠는가. 그러려면 이 자리에 계신 여러분(소프트웨어 전문가 및 자문단)이 개편과정에 참여해야 한다. 그 부분을 교육부에서 책임지고 자문단이랄까 TF를 만들어서 이분들의 생각이 반영이 되도록 하는 것이 중요하다”
대통령이 이런 발언을 했으니, 뒤에 발생할 일은 두고 볼 일이지만, 비교적 잘 예측이 된다. 수능에 소프트웨어(코딩)을 넣는 것은 거대한 반발이 있을 것이므로, 논의가 시작되는 선에서, 다음 정권 또는 다음 교과과정 개편이 영향을 미치는 학생들부터 적용을 검토하는 정도에서 그칠 가능성이 높다. 그래서 건드리기도 쉽고 압력도 넣기 쉬운 대학 입시 특별 전형, 입학 사정관 전형에 소프트웨어 특기자 특별 선발 같은 것을 도입할 것을 적극 push할 가능성이 높다.
대통령이 말씀하셨으니, 실적을 만들어야 한다. 정보 올림피아드 수상자, 각종 소프트웨어 대회 수상자, 앱 다운로드 다수자 우선 전형 그런 거 생기고, 시장이 반응하여 이름도 몰랐던 단체, 협회, 학회들이 국제 청소년 소프트웨어 대회를 만들어 낼 것이다. (올해 초, 모 회의에서 역시 박 대통령이 ‘소프트웨어 대회도 열고’ 라는 발언도 하신 기억이 있다.) 그리고 최종적으로 대학들이 자체적인 소프트웨어 대회를 만들기 시작하여 자기 주최 대회 수상자에게 묵시적인 가산점을 부여하는 것으로 수익 사업을 할 것이다.
대학 입시와의 연계되는 순간, 대회 자체가 문제가 아니라 학부모들이 대회를 대하는 자세가 문제가 된다. 수업 시간에 시험을 보는 순간 사교육 시장이 활성화 되는 것도 문제지만, 소프트웨어 경진 대회라는 것이 대학 입시를 위한 하나의 인정된 포트폴리오로 자리매김하며 생기는 사교육도 문제다.
대치동에 지금 온갖 과학 경시대회 처럼… “~~경진 대회 대비반”, “~~대비 C 언어 고급 과정”, “~~소프트웨어 대회 작품 준비 교실”, “창의 SW 교육 컨설팅” “최고급 개발자 10명 대기 중”, “자기 주도적 소프트웨어 개발” 학원이 생겨 거의 대신 만들어주고, 지금 대학교 4학년 졸업 프로젝트 작품 제작 대행해준다고 광고하는 회사들이 사업 영역을 고등학교 시장으로 넓히는 계기가 마련될 수 있다.
입시 도입 이전, 교사 양성이 중요하다
위 뉴스가 나오고, 불과 몇 시간도 안되서, 소프트웨어 개발자들이 닭집 대신 코딩 교육 학원을 차리는 커리어 패스가 하나 더 생겼다는 자조적인 글들이 트위터와 페이스북에 나타났다. 이 때문에 아마 소프트웨어 산업에의 유입 인구가 늘 수도 있겠다.
사교육이 활성화되면 결국 많은 사람들이 소프트웨어를 억지로라도 배우게 되므로 목표가 달성될 수 있다는 의견을 가진 전문가들도 있다. 얼치기다. 수학 학원이 많이 생겨서 우리나라가 수학 강국이 되었나? 물리 학원, 논술 학원이 많이 생겨서 우리나라가 노벨상을 받게 되었나? 그런거 아니다. 사교육은 사교육 강국을 만들 뿐이다.
내가 생각했던 것은 전면적인 소프트웨어 교육 실시보다는 적어도 당분간은 입시나 시험과 연계되지 않는 방식이다. 직접적인 코딩 교육이라면 학생들이 선택적으로 수강하고, 잘 훈련된 교사가 좋은 콘텐츠로 교육하여 관심있는 어린 학생들에게 열정을 불어 넣어주는 것이어야 효과적일 것이라고 생각했었는데 약간 아쉽다.
또 직접적인 코딩 교육이 아니라 소위 말하는 Computational Thinking (주: 컴퓨터 알고리즘적인 사고의 이해) 교육은 이미 소프트웨어 교육계에서 꽤 많은 노력을 들어 준비된 콘텐츠가 있는 영역이기도 한데, 이것이 교사들이 교육을 할 수 있는 수준으로 체화하는데 걸리는 시간까지는 좀 살살 가야할 것으로 생각된다.
한편, 정부 대책에도 언급이 있지만, 정말 확실한 교사 양성 방안이 마련되어야 한다. 이것도 매우 쉽지 않다. 지금도 정보화 교육을 담당하시는 훌륭한 교사들이 계시는데 전면적 교육을 제공하기에는 그 숫자가 너무 부족하다. 교사들을 소프트웨어 교육에 유인할 방법이 마땅치 않았던 차에 입시 연계와 같은 미끼가 긍정적으로 동작할 수도 있지만, 소프트웨어라는 것이 책만 보고 배워서 가르칠 수 있는 성질의 것이 아니기 때문에 제대로 된 교사 양성책이 다각도로 필요하다.
지금 온라인 플랫폼을 통해서 주로 이루어지는 교사 교육 프로그램도 효과가 없지는 않겠지만, 훨씬 더 프랙티스에 접근할 수 있는 실습과 스스로 문제를 내고 해결하는 과정, 대단하지는 않더라도 유용한 소프트웨어를 만들어서 다른 사람과 나눠보는 경험이 포함된 교육이 반드시 필요하다. 최근에는 다행스럽게도 이런 노력들이 커뮤니티에서 조금씩 일어나고 있다.
답이 있는 교육이 아닌, 문제 해결을 위한 교육으로 가야 한다
물론 실제 현업에서 필요한 프랙티스를 초중고 교육에 직접 적용할 필요까지는 없지만, 교사에게 그런 경험이 없으면 소프트웨어적인 사고를 하기 어렵기 때문에 교육이 좀 엉뚱한 방향으로 갈 가능성이 생긴다.
예를들면, (사실 대학에서도 이런 경우가 꽤 많이 발견되어 안타깝지만) 어설픈 교사는 컴파일해보면 1초만에 고칠 수 있는 Syntax 에러가 맞나 틀리냐하는 문제를 낸다거나, 별 성능 차이도 없는 백만가지 알고리즘 중에 하나만을 정답으로 채점한다거나 하는 일이 발생할 수 있다.
이런 문제는 이미 국사 문제에서 꽤 많이 보고 있다. ‘임진왜란이 몇 년도에 일어났나?’ (그 시대적 배경이 아니고), ‘이순신 장군이 화살을 왼쪽 가슴에 맞았나? 아니면 오른쪽인가?’ (그 즈음에 난중일기에 기록한 그의 전쟁에 대한 소회가 아니고). 중학교 학생이 있는 학부모들이 이 글을 보신다면 지금 아이의 기말고사 시험 문제를 꺼내서 보시라. 다는 아니겠지만, 또 교사마다 차이가 심하지만, 국어, 수학, 영어, 과학 모든 분야에서 어처구니 없는 문제, 답이 여러개이지만 하나만 정답인 문제를 어렵지 않게 발견할 수 있다.
또한 사교육 시장에서는 거의 전과목에 대하여 어느 학교 특정 교사의 문제 스타일을 고려한 중간고사, 기말고사 대비반도 있고, 당연히 학교별 문제집 나온지도 오래다. 난 소프트웨어 교육도 그렇게 되는 것이 두렵다. 결국 학생들이 결국 시험을 봐야만 한다면, 교사들에게 뭘 가르쳐야하는가를 가르칠 때, 어떤 문제를, 어떻게 문제를 내서는 안되는지를 먼저 가르치는 것도 방법이겠다.
장황하게 이야기 했지만 정리하면, 어설픈 교사는 문제 해결형이 아닌 문제 풀이형 교육을 한다. 그것도 어쩌면 잘못된 문제로. 때문에 학생들이 문제를 스스로 만들도록 유도하거나, 적어도 교사가 좋은 문제를 내서 학생들과 같이 해결하면서 배울 수 있도록 해야한다.
이를 위해, 교사에 대한 잘 정돈된 교육과 함께, 적어도 당분간은 또는 지속적으로 개발 경험이 많은 커뮤니티 개발자들이 초중고 소프트웨어 교육에 참여할 수 있는 길을 열어 주고, 그들의 참여를 유인하는 작전이 마련되어야 한다. 그들이 교사와 같이, 교사를 교육하면서 교육을 리드하거나 지원하는 방안이 필요하다.
앞서 문제로 제기되었던, 소프트웨어 대회를 만든다면 학생들이 참여하는 대회가 아니라 교사들이 자신이 만든 소프트웨어, 자신이 만든 교육 콘텐츠, 자신들의 문제와 해결 방법을 보여주고, 서로 공유하고, 또 상을 받아 학생들에게 자랑할 수 있는 대회가 먼저 필요하다. 또 교사와 커뮤니티가 같이 참여하는 교육 콘텐츠 만들기 해커톤 같은 것도 좋겠다. 재미가 있어야 소프트웨어는 된다. 소프트웨어는 문화다.
SW 교육에 앞서 좋은 수학·과학 교육이 필요
본질적인 문제가 하나 더 있는데… 과학 교육 축소 현실화… 개정안 모두 과학 이수단위 줄어라는 기사를 보자.
시니컬하게는 제대로 못 가르친다면 차라리 안가르치는 것이 날 수도 있겠다는 생각도 들지만, 수학 과학 교육은 더 없이 중요하다. 수학 과학 교육이 정상화되지 않으면, 소프트웨어 교육도 무용지물이다. 미국에서는 소프트웨어를 배우면 과학이나 수학 과목을 들은 것으로 인정해주는 주도 있다고는 하지만, 어쩌면 소프트웨어보다 수학 과학적 마인드를 제대로 배우는 것이 더 중요할 수 있겠다는 것이 내 생각이다.
지금의 수학, 과학 교과서는 예전에 비하여 더 없이 훌륭하다. 그런데 이것이 입시와 맞물려, 생각하지 않는 (또는 생각하면 안되는) 과학, 이것이 왜 문제인지를 모르는 (또는 공식을 외워서 풀어야 하는) 수학으로 바뀌었다.
수학 과학이 중요한 이유는 세상이 변화하는 것에 적응하기 위한, 세상이 변화하는 것을 설명하기 위한, 세상의 여러 면들을 엮기 위한, 내 생각을 가장 잘 전달하기 위한 도구이기 때문이다. 물론 소프트웨어를 배우는 과정에서 수학적, 논리적 사고력이 따라서 증가하고, 또 이전엔 없던 수학 과학에 대한 흥미가 나중에 생기기도 하지만, 기초적인 수학 과학을 어릴 때 잘 배우는 것은 너무나 중요하다.
결론
초중고 소프트웨어 교육의 목표가 소프트웨어 개발자를 만드는 것이 아니었으면 한다. 엄청난 인력 수요가 있고, 미래 산업에 개발자가 절실히 필요하다는 거 그 누구보다도 잘 안다. 모두가 수학자, 과학자, 영문학자가 될 필요가 없듯이 모두가 소프트웨어 개발자가 될 필요는 없다. 저절로 나오게 해야한다.
소프트웨어 개발자가 꿈이어서는 안되고, 초중고 다닐 때 내가 만든 문제를 소프트웨어로 해결해 본 재미있고, 강렬한 경험을 바탕으로, 어떤 직업을 가지던지 무엇을 하던지, 나중에 ‘자신의 문제를 소프트웨어로 해결해 볼 수도 있겠다’라는 생각을 가진 사람이 많아지는 것을 목표로 하면 좋겠다. 그것을 C로하든, Java로 하든, 스크랫치로 하든, 아니면 excel에서 프로그램을 하든.
보편적인 소프트웨어 교육을 통해서 대부분 사람이 소프트웨어 마인드를 가지게하는 것이 중요하고, 바라기는 그 중 적지 않은 몇 명이 개발자로 직업을 선택하면 된다.
이전에 이 초중고 SW 교육에 관하여 청소년 소프트웨어 교육과 초등 코딩 교육에 대해 쓴 적이 있다. 내가 썼지만, 지금봐도 별로 틀리지는 않았다.
원문: 쉽게 쓸 수 있을까?
woolrich outletClooney ordered to testify in fraud trial