최근 수정 시각 : 2025-01-01 01:59:21

코딩 교육


1. 교육 과목2. 대한민국에서의 코딩 교육
2.1. 부정적 견해2.2. 긍정적 견해
3. 같이 보기

1. 교육 과목

컴퓨터 프로그래밍을 통해서 일반적 문제해결 능력 / 논리력을 기르고자 하는 새로운 교육 과정. 기존에도 중고등학교 과정에 정보 교과는 있었지만 존재감이 없었는데 이를 흡수하여 별도의 필수 정규교과목화 한 것.

SW 교육은 2015 개정 교육과정에 따라 2017년에 초등학교 1~2학년이 처음 배우기 시작했고, 2018년에는 초등학교 1~4학년을 거쳐 2019년부로 모든 초등학생들이 SW 교육을 받기 시작했다. 중고등학교는 2018년부터 중학교 1학년과 고등학교 1학년이 배우기 시작해 2019년에는 중2와 고2 학생들이 배웠고, 2020년을 기점으로 모든 초등학생과 중고등학생들이 SW 교육을 배우기 시작해 코딩 교육이 정규 교육 과정으로 완전히 도입되었다.해당 기사[1] 하지만 직업적 프로그래머 양성을 목표로 C언어 등을 가르치는 전문계 특성화고등학교에서 배우고 대학수학능력시험직업탐구 영역의 하나인 프로그래밍 과목과는 다르다. 하지만, 중고등학생용 정보 교과서를 보면 불 대수가 나오고 python, C언어를 가르치게 되어 있다.

일반인이나 교육 관계자들이 가장 크게 오해하는 것이 코딩 교육이 미래의 소프트웨어 개발자를 확보하기 위한 교육이라는 잘못된 접근이다. 초등 ~ 고등학교에서 음악 교과를 가르치는 것이 가수나 작곡가 등 전문 음악인 양성을 위한 것이 아니고 단지 감성을 풍부하게 하는 교양으로 가르치듯이 모든 학생을 대상으로 가르치는 코딩 교육도 사고력과 응용력을 풍부하게 하는 두뇌의 체조에 불과하다. 이걸로 미래 전문인 양성에 도움이 된다고 할 수는 없다. 그저 일반인들에게 컴퓨터의 원리에 대한 기본적 이해를 늘리고 그중에서 재능이 있는 사람은 자신의 재능을 발견할 기회를 주는 정도에 불과하다.

흔히 코딩을 어렵지 않다고 강조하기 위해 코딩 학원 또는 프로그래밍 취업 과정 등에서 마치 6개월 정도 집중적으로 배우면 취업을 할 수 있다는 식으로 코딩이 어렵지 않다고 광고를 하지만 마치 6개월 정도 배우면 누구나 변호사나 의사나 수학자나 프로 축구 선수가 될 수 있다는 거나 마찬가지이다. 직업적으로 프로그래밍을 하려면 다른 직업들과 마찬가지로 적어도 2 ~ 4년은 전문적인 교육이 필요하고 연구 능력을 갖추려면 대학원 석사 등 그 이상의 교육이 필요하다. 초중고에서 12년이나 수학을 배웠다고 누구나 직업적인 수학자가 될 수는 없다. 취미로 바둑을 좀 둘 줄 알거나 공을 찰 줄 아는 것과 직업적인 프로 기사나 직업적인 프로 축구 선수가 되는 것은 전혀 다른 일이다.

마치 수학을 가르쳐서 수리적인 사고 능력을 기르거나 체육 / 음악 / 미술 교과를 통해 신체를 단련하거나 예술적 교양을 기르는 것과 비슷한 취지의 교육이다. 초중고 수학 교육이 사회에서 수학을 직접 활용하는 게 목표가 아니고 체육 / 음악 / 미술 교육도 운동선수나 예술가 양성이 목적이 아니듯이 코딩 교육도 프로그래밍 / 코딩 기술 습득 자체나 프로그래머 양성이 교육의 목표가 아니다. 초중고 수학 교육의 목적은 수학적, 과학적 사고 능력 배양이 목표다. 코딩을 배우는 것도 코딩을 직접 사회에서 활용할 기회가 있어서가 아니라 코딩을 통해 배울 수 있는 여러 가지 문제 해결 경험이 지능 발달과 문제에 대한 통찰력과 분석력 증진에 도움이 되기 때문이다. 다만, 교사가 코딩 수준을 컴퓨터교육과 1학년 수준으로 생각하고 가르친다면 이야기가 달라지니, 기성세대인 교사와 학부모가 어떻게 코딩을 이해하느냐가 관건이다.

그보다는 논리적이고 조직적인 사고방식, 복잡한 문제를 분석해서 이를 명확하게 이해하는 능력, 큰 문제를 간단한 여러 문제로 분할하여 추상화하는 능력, 문제를 순차적 기계적으로 이를 해결하는 능력, 수치와 판단을 기반해 문제를 해결하는 방법, 작은 부분을 조합해서 크고 복잡한 기능을 만드는 능력, 시행착오를 통해 해결책을 찾아가는 과정, 다른 사람과 소통하고 협력하여 큰 문제를 해결하는 능력 등등, 한마디로 말하면 "복잡함(Complexity)"과 순차적 조직적 문제해결 과정을 다루는 능력을 기르는 것을 목표로 한다. 이를 요즘은 디지털 문해력(digital literacy)라고 부르기도 하는데 코딩뿐 아니라 컴퓨터나 정보 기술 전반에 대한 지식이나 이해력이나 이런 정보 기술을 일이나 놀이에 활용할 수 있는 전반적인 이해력과 응용력을 말한다. 기술적 운동 신경이나 감각 또는 눈썰미에 해당하는 개념이라고 할 수 있다.

어쩌면 어린이들의 레고 블록 놀이나 비슷하기도 하다. 따라서 어떤 구체적인 지식 자체를 배우는 걸 목표로 하는 것이 아니고 그 배우는 과정에서 수많은 실패를 경험하면서 점진적으로 목표인 문제해결을 향해 한걸음 씩 나아가며 탐구심, 도전 정신, 끈기, 명료한 사고, 틀을 벗어난 창의적 사고방식, 흥미 유지, 타인과의 의사소통, 협동 정신 등 다른 공부나 활동에 유리한 여러 기술들을 몸에 익히게 된다. 수학이나 과학 실험도 그러한 능력을 기르는 데 좋은 도구이지만 수학보다 좋은 점은 비교적 난이도가 낮고 비용이 적게 들고 쉽게 실험을 반복하여 손에 잡히는(tangible)한 결과를 얻을 수 있으므로 수학에 비해 사전 지식이 덜 필요하고 학습자의 흥미를 유지하기가 좋다는 것이다. 수학은 한번 뒤쳐지기 시작하면 다음 과정이 이해가 되지 않아 따라가기 어렵다. 따라서 요즘 수학을 포기하는 학생 수포자 문제의 한 대안이 될 수 있다.

현재 초등학생의 경우 일주일에 1시간가량 가르칠 예정인데 이렇게 가르친다고 일부 코딩 교육 정책 추진자들이 주장하듯이 미래의 빌 게이츠나 저커버그 같은 IT 인재를 양성하는 교육인 건 결코 아니다. 일주일에 한 시간씩 미술이니 체육 교육을 시킨다고 미래의 피카소나 손흥민을 양성한다고 주장할 수는 없다. 코딩 교육의 목표를 구체적 인물로 예를 들자면 맥가이버 같이 호기심이 많고 임기응변, 응용력이 풍부한 인물일 것이다. 사실 단점도 없지는 않은데 과학은 발전 속도와 방향에 따라 어떻게 될 지 몰라서 코딩 의무화는 아무래도 국가가 선택권을 강제하는 면도 있다.[2]

무엇보다 도구를 만드는 인간, 공작인 (工作人, Homo faber)으로서의 본능을 어릴 때 일깨워서 미래의 이공계 인력 자원을 확보하기 좋은 교육이다. 원래는 실과 과목이 그런 목적이 있었지만 초중고 학교 현장에서 학생들에게 직접 목공 등 공작이나 제작 교육을 하기에는 예산이나 교사 등 여건이 부족하여 거의 효과가 없었는데 코딩은 학생들에게 직접 실용적 "물건"을 자기 손으로 제작해보는 경험을 하게 함으로써 이런 공작인으로서의 재능과 즐거움을 조기에 발견하게 하여 미래의 공돌이나 덕후의 길로 가게 하는 것이다.

코딩 교육에서 널리 채택되는 프로그래밍 언어들은 보통 굉장히 직관적이고 배우기 쉬우며, 경우에 따라 마우스 등의 입력기기를 통해서도 쉽게 작성 및 실행[3]이 가능하면서도 단순한 기본 요소들을 가지고 조합과 응용으로 복잡한 문제도 탐구적으로 시행착오를 통해 문제를 점차 점근적으로 해결하는 데 적합한 언어, 또는 그런 목적만을 위해 별도로 제작된 언어들이다. 과거에는 LOGO 언어라든지 BASIC 언어 등이 쓰였고 현대에는 스크래치, 엔트리 등의 GUI 기반 언어나 파이썬 등의 스크립트 언어, 조금 더 고등교육으로 넘어가면 Scheme[4], MATLAB 언어 등이 자주 쓰이는 편이다. 대체로 Java나 C++ 등 컴파일 언어보다는 간단한 파이썬이나 자바스크립트 같은 데이터형 선언이 없고 빠르고 반복적인 개발에 적합한 인터프리터 언어가 더 많이 쓰인다.

다만, 앞서 말했다시피 기성세대에겐 코딩=프로그래밍이라는 인식이 잡혀있어서 이 부분을 해결해야 한다. 또, 프로그래밍이나 코딩 해본 사람은 알겠지만 저게 어째서 되는 거지이게 어째서 안되는 거지에 대한 절망은 전공자들도 엄청 심하게 느끼는 부담감이다.

그리고, 현실은 이러한 우려가 가장 심하게 나왔다. 이미 학원가에서는 초등학생 4학년은 이제 초등학교 수준을 넘어서 가르침을 받는다라고 하며, 실제로 강남권 등에서는 컴퓨터 공학과 전공 학생들도 어려워하는 대학 전공 수준을 가르치고 있다. 또, 학생들이 실패를 자주 겪고 초등학생 수준 수학보다 더 복잡한 코딩 때문에 심각한 좌절을 겪고 있다. 그리고 특히 2021년 들어 게임 회사와 네이버 등 IT 기업들의 연봉 인상 붐이 불며 미래 고소득 직업으로 부각되자 단지 교양 차원이 아닌 미래에 직업으로서 프로그래밍 기초 양성을 원하는 학부모들이 늘고 있다.

하지만 이걸 문제로 볼 것인지에 대해서는 다르게 볼 수 있다. 예를 들어 음악이나 스포츠 분야도 학교 교육이 아닌 미래의 음악가나 프로 스포츠 선수 등 해당 직업인을 희망하는 초등학생이라면 그런 수준이 과하다고 볼 수 없다. 초등학생 피아노 교육도 이미 체르니 30번 까지는 기본이다. 음악 대학에서 그보다 훨씬 고급의 과목을 배운다. 단지 과거에는 컴퓨터 분야는 중고등학교에서 그런 교육을 받은 학생이 없어서 대학교에서 그런 과목을 기초로 가르치는 것이지 만약 대부분의 입학생이 초중고에서 피아노 학원에서 배운 음악대학 입학생처럼 컴퓨터 프로그래밍을 배운 학생이라면 그 교육 수준은 크게 올라갈 수밖에 없다. 현재대다수 대학의 프로그래밍 입문 강의는 아주 기초적인 수준에 불과하고 이는 초중고에서도 시간만 들이면 충분히 습득할 수 있는 내용이다.

이런 코딩 조기 교육은 다른 조기 교육과 마찬가지로 좋은 점도 나쁜 점도 있다. 같은 초등학생도 수학이나 운동이나 음악 등에서 개인의 성취 정도 차가 매우 큰 것처럼 코딩도 개인 차가 매우 크다. 수학도 초등학교 3학년에 고등학교 수학의 정석 수준을 끝내고 나중에 수학 올림피아드에 나가는 학생도 있고 고등학교를 졸업하고도 분수 셈도 어려워하는 학생도 있다. 11살에 바둑 프로에 입단을 하는 천재도 있고 평생 5급 바둑을 벗어나지 못하는 사람도 많다. 재능과 흥미가 있는 학생이면 초등학생이라도 책과 컴퓨터만 가지고도 남이 가르치지 않아도 자기 스스로 공부해서 간단한 게임 정도는 충분히 만들 수 있다. 이런 학생들에게 조기 교육은 호랑이에게 날개를 달아 주는 격이지만 반면 재능이 없는 학생에게는 억지 조기 교육은 수학과 마찬가지로 재미없고 지루해서 컴퓨터에 대한 공포심이나 반감만 갖게 할 따름이다. 또한 코딩은 실패가 잦을 수밖에 없는데, 이 점은 학습된 무기력으로 이어지기 아주 좋은 과목이라서 자괴감만 들게 한다. 당장 앞에서도 말했듯이 전공자들도 코딩에 대해 좌절을 현재 진행형으로 맛보고 있다. 이 문제에 관해선 버그 문서로.

이런 코딩 교육의 목표는 꼭 컴퓨터나 프로그래밍 언어로만 할 수 있는 건 아니다. 코딩으로 땅콩 샌드위치 만들기처럼 크고 복잡한 문제를 작고 간단해서 모호함 없이 바로 실행할 수 있는 요소로 분해하고 순서대로 나열하고 조합하고 엄밀하게 기술하여 아빠로 하여금 땅콩 샌드위치를 만들게 하는 과정을 가르치는 방법이야 말로 코딩 교육이 가르치고자 하는 핵심 요소를 담고 있다.[5] 아빠 대신 로봇 팔이 그런 역할을 하게하면 그게 바로 산업 현장에서 쓰이는 로봇 프로그래밍이다.

실제로 레고가 이를 위해서 마인드스톰 외에 초보를 위한 단순 코딩 제품을 출시했다. 교육용 스마트 로봇을 코딩으로 움직여 조종하는 교육은 학생들의 흥미를 유지하고 코딩의 기초를 가르치는데 매우 좋은 방법이라 여러 기관에서 이를 시도하고 있다. 그리고 이런 로봇이나 레고나 마인드스톰 자체도 실제 기계 로봇이 아닌 컴퓨터 화면에서 움직일 수 있는 가상의 로봇이나 가상의 마인드스톰 시뮬레이터가 있기 때문에 비싼 로봇을 학교에서 보유하지 않더라도 그런 로봇 프로그래밍을 교육하거나 연습할 수 있다. 이로써 로봇 코딩의 비용의 문제나 유지 보수 문제를 해결 할 수 있다.

또 이런 코딩 교육의 일환으로 간단한 게임 제작을 가르치는 경우도 있다. 예를 들어 Pong이나 벽돌깨기 뱀 게임 스페이스 인베이더 수준의 극히 간단한 게임은 아이들도 이미 잘 알고 있으므로 그걸 구현해보는 것은 아이들에게도 흥미로운 경험이 되고 좌절하지 않고 흥미를 유지하기 쉽다. 또 보기엔 간단해 보이지만 좌표 처리 실시간 화면 표시 입력 처리 게임 논리 등 게임 제작의 이해에 필요한 뼈대는 모두 가지고 있어서 실질적 교육 효과도 크다.

이런 코딩 교육에 대해 학교에서 주에 1시간 정도 연간 30여 시간 가르치는 정도 외에 따로 학원이나 개인 교습 같은 과외가 필요할지는 개인에 따라 차이가 크다. 예를 들어 음악이나 미술, 체육 교육 에서는 음악, 미술, 체육 대학을 진학하고 이를 직업으로 삼으려면 현재는 중고등학교 때 그런 음악, 미술 학원이나 과외는 거의 필수적인 것으로 여겨지고 있다. 아마 코딩도 같은 길을 갈 확률이 높다. 즉 나중에 코딩을 직업으로 삼는 전문가들은 대부분 어릴 때부터 코딩을 전문가들로부터 전문적으로 배운 사람들이 하게 될 것이고 해당 대학 등의 정규 과정을 거치지 않은 사람은 마치 음악 / 미술 대학 출신이 아닌 음악가 / 미술가처럼 경력에 상당히 불이익을 받을 가능성이 있다. 하지만 단지 아이의 교양을 늘리거나 체력을 키울 의도로 피아노 학원이나 태권도 학원에 보내는 정도라면 굳이 현 단계에서 코딩을 배우는 데 학원을 보내야 하는 지는 아직은 시기상조이다. 아이가 코딩에 흥미를 보인다면 그냥 태권도 학원 보내는 정도로 가벼운 마음으로 보내는 정도가 적당할 것이다.

다만 2020년대 들어 이런 양상은 변하고 있다. 인공지능의 급격한 발전으로 미래의 노동이나 취업시장의 양상이 크게 달라질 수밖에 없고 이런 발전 추세가 멈출 가능성은 거의 없다. 지금 아이들이 사회에 나가 취업을 할 무렵에는 인공지능은 현재의 PC나 스마트폰 만큼이나 사회에 깊숙히 침투해 있고 직업적 일을 하는데 거의 필수적 도구가 될 것이라 그런 인공지능을 잘 다루는 능력이 생산성을 좌우하게 될 것이다. 스마트폰도 어릴 때 부터 컴퓨터 접해 잘 이해하는 신세대들이 쓰는 것과 노인들이 쓰는 능숙도가 크게 다르듯이 인공지능이 더 발전해 직접 사용자가 인공지능 코드을 코딩할 필요가 없어진다고 해도 코딩교육을 통해 양성된 분석력이나 인공지능의 원리에 대한 이해력은 그런 인공지능을 더욱 더 잘 사용하게 할 수 있어서 이제는 어릴 때의 어느 정도 심도가 있는 코딩교육은 거의 필수로 보인다.

특히 일부 인공지능 주창자들은 이제 인공지능이 인간 개발자만큼 프로그래밍을 잘하니까 또는 미래에는 직업적 개발자의 수요가 줄어들 터이니 학생들이 코딩을 배울 필요 또는 학생들에게 가르칠 필요가 없다고 주장하기도 한다. 하지만 위에서도 지적했듯이 초중고에서 코딩교육의 목표는 소프트웨어 개발자 양성이 아니다. 코딩교육은 "복잡한 문제"를 해결하고 관리하는 요령과 경험을 가르치는 교육과정이다. 현재 교육과정 중에서 코딩교육보다 복잡한 정보나 시스템과 과정을 잘 관리하는 기술과 경험을 조직적으로 잘 가르칠 수 있는 교과는 없다. 평생 코딩할 일이 없는 사람도 코딩을 배워야하는 이유이다.

프로그래밍 직업인을 양성하는 것은 현재 학교에서 실시하는 코딩 교육은 턱도 없이 부족한 맛보기 정도밖에 되지 않으니 만약 프로그래밍이나 이와 유사한 기술 전문으로 하는 직업인으로서의 교양을 양성하려면 중학교 정도에서 진로를 정하고 최소한 학원이나 전문 교습을 받거나 특별 활동으로 컴퓨터 동아리 등을 통해 전문적인 프로그래밍을 익히는 것이 좋다. 프로그래밍도 수학이나 음악처럼 일찍 시작하는 게 크게 유리한 기술 중에 하나이다. 가끔 큰 해킹 사고를 일으킨 범인을 잡고 보니 중고등학생이었다는 보도가 나올 만큼 이 분야도 일찍부터 재능이 개화하는 과목이다. 그래서 영재 학교나 과학고 같은 데서는 코딩은 일찍부터 가르치는 게 타당하다. 프로 축구 선수로 성공하려면 최소 중고등학교 때 학교 축구부 선수는 해야 하는 거나 마찬가지다.

더 나아가 미래에는 마치 스포츠나 음악 등의 분야에도 유소년 클럽이나 컨서버터리가 있듯이 직업적 프로그래밍도 재능이 있는 학생을 선발해서 일반 중고등학교 공부와 병행해서 전문적인 교사 아래에서 체계적으로 실전적 프로그래밍 교육을 시키는 교육 과정이 등장하게 될 것이다. 또 대학 과정도 마치 음악이나 미술 대학 입학 시험에 해당 실기 시험이 있듯이 컴퓨터과학 관련 학과의 입학에는 기초적인 자료구조프로그래밍 등 관련 시험이 포함될 수 있다.

미국에서는 AP 컴퓨터과학 기본AP 컴퓨터과학 A 교육 과정 및 시험이 실시된다.

2. 대한민국에서의 코딩 교육

2.1. 부정적 견해

코딩교육 새 논란...“코딩없는 개발 비효율만 불러”
코딩 열풍, 명과 암
[현장클릭]코딩으로 대학간다면?
[MT리포트]학부모 불안감 파먹는 '코딩 광풍'
[MT리포트]"국·영·수·코 하란거잖아요”…'코딩'이 싫은 아이들
"주입식 SW교육은 청년실업 더 심화시킬 것"…소프트웨어 전문가 쓴소리
코딩 열풍의 이면-도입 취지 좋지만 제2의 영어·수학 될라 '코포자’ 양산 우려…전문인력 충원 우선
코딩 취업설명회

코딩에 대해 기이하게 집착적인 정치인들이 많다. 정확히는 기성세대의 잘못된 인식이 매우 크다. 이러한 경향은 알파고의 등장과 ChatGPT의 상용화로 높으신 분들 사이에 AI 붐을 터뜨렸다. 결국 코딩 교육이 실시되게 되었으며 대한민국조차도 코딩 교육이 의무화 되었고 논란이 터졌는데도 정작 공무원들에게조차도 코딩을 가르쳐야 한다는 주장까지 제기되고 있다. 코딩 부트캠프 역시 미국에서 수입되어 서울과 경기도 지역을 중심으로 광범위하게 퍼졌다.

이런 현상에 대해서는 반응이 엇갈린다. 각종 시뮬레이션이나 프로그래밍이 연구에서 반드시 필요할 것만 같은 전공자 중에서도 코딩을 싫어하는 사람들은 엄청 싫어한다. 관심 있는 분야나 전공의 이론적인 연구는 좋아하지만 그것을 코딩을 통해 시뮬레이션 및 검증을 거치는 과정에서 스트레스를 받는 이공학도들은 자연 과학, 공학, 의학 등 분야를 막론하고 적지 않다. 심지어 컴퓨터 공학을 복수 전공으로 접하기에 가장 좋은 학과인 수학과에도 코딩을 싫어하는 학생은 굉장히 많다. 코딩 안 하면 학점 못 받고 졸업 못 하고 논문 못 쓰니까 타성에 젖어 하는 공부의 반복이다. 밥벌이와 연구를 위해서라도 코딩을 익혀야 한다는 이공계조차도 코딩에 대한 시선이 애증으로 얼룩져있는데 범위를 넓혀 대학생 및 젊은이들 전체로 따지면 더 말할 필요도 없을 것이다.

이렇듯 코딩에 대한 흥미 정도는 사람마다 천차만별이다. 허나 이에 대해 필요한 근본적인 고찰은 뒷전으로 미룬 채 대한민국이나 해외나 정치인들과 기성세대의 필요성에 의해 거의 강제적으로 코딩 교육을 집어넣고 있어 문제가 된다. 특히 코딩 교육을 강조하는 정치인들 대다수가 코딩에 대한 전문성이 없다는 것이다. 취업 준비생도 아니고 이미 기존 직장에서 무난하게 근무하며 잘 지내는 사람들에게 업무에서 잘 쓰지도 않아서 굳이 배워봤자 활용하지도 못할 코딩을 가르쳐야만 하는 가에 대해 의문을 갖는 이들도 늘고 있다. 과거엔 직장인들과 공무원들에게 니들이 고리타분하다고 주장해대며 창의성과 발상의 전환이 필요하다며 인문학 배우기가 유행하더니 이젠 또 코딩으로 유행이 옮겨간 것이다.

그 와중에 대한민국의 강력한 입시 열풍과 결합하여 코딩 사교육 시장이 성장하기 시작했다. 이들의 주 타겟은 고등학생 이하의 자녀를 둔 학부모와 취준생으로, IT 쪽은 학력도 나이도 안보고 매우 개방적이며 미래지향적이고 전망이 좋다는 둥 온갖 꽃밭으로 물든 미사여구로 고객을 현혹한다. 이게 무서운 점은 다른 과목과 다르게 코딩은 '그 결과물이 눈에 보인다'는 것이다. 가령 "수학과 영어를 공부해야 나중에 좋은 직장 간다"라고 백날 말해도 이게 현재 공부중인 학생이나 취준생에겐 와닿지가 않는다. 그러나 우리 일상에 밀접한 스마트폰, 게임, ChatGPT, 사물인터넷 등의 문명의 이기는 분명하게 사람들이 그 편의성을 인지하고 있기 때문에, "이런거 써보셨죠? 멋있죠? 코딩을 배우면 당신도 이런거 하는거에요. 좋은 회사 들어가서요." 식으로 고객들을 꾀는 것이 코딩 학원가의 주 전략이다.

알아둬야 할 것은, 각 학원에서 수업을 진행하는 강사들은 실제 개발 경력도 있고 업계에 종사경험이 있는 전문가가 맞겠지만, 일반인들에게 대뜸 코딩을 배우라며 권유하는 사람들은 그냥 학원을 홍보하는 사람이지 그 본인이 코딩을 해본 사람들이 아니라는 것이다.[6] 코딩 공부의 필요성을 본인이 느낀다면 당연히 공부하는 것이 맞고 학원을 다니는 것도 분명 좋은 선택이지만, 정말 코딩을 배워서 어디에 쓰는지, 업계 현황이 어떻게 되는지 등의 민감한 이야기는 그냥 실제 현업에 일해본 사람에게 물어보는게 정답이다.

이러한 코딩 열풍에 코딩 종사자들과 전문가들, 코딩을 가르치는 공교육 및 사교육계 인사들은 함박 웃음을 짓고 있지만, 사실상 입시위주 교육마냥 코딩을 가르치는 교육의 동기와 목적이 크게 변질된 것이다. 이러한 현상이 더 악화하기 전에 코딩 교육의 근본적인 목적과 의의가 무엇인지 교육계와 소프트웨어 업계, 그리고 한국 사회는 깊이 성찰을 해야만 한다.

2.2. 긍정적 견해

코딩 교육에 대한 긍정적인 근거 또한 존재한다. 예를 들어 초, 중, 고등학교에서 음악이나 미술이나 체육을 가르치는 것도 이들이 다 예술가나 선수가 되기 위한 것이 아니라 상식적 현대 시민이 될 수 있는 기본이기 때문이다. 예술적 재능이나 신체적 능력이나 흥미가 없다고 해서 학생들에게 음악이나 미술, 체육을 가르치는 게 잘못이라고 하지는 않는다.

이런 부작용에도 불구하고 프로그래머를 직업으로 하지 않을 사람에게도 코딩을 가르쳐야 할 이유는 있다. 문학이나 예술이나 문화 교양 역사 등이 종합적, 융합적 사고나 예민한 감수성과 공감 능력 등 인문적 지능을 훈련하는 데 적합한 교육이라면 코딩은 반대로 조직적 분석적 사고력이나 명석한 표현 등 이공계적인 지능을 훈련 시키는 데에 매우 효과적인 교육이다. 일부 학생들이 코딩을 배우는 데 어려움을 느끼고 힘이 든다는 것은 그만큼 기존의 사고방식에 큰 변화를 요구한다는 것이고 그만큼 교육의 효과가 크다는 것을 의미한다. 학교에서 코딩 교육의 목표는 코딩 가능자를 양성하려는 것이 아니고 바로 사고방식과 과정에 큰 변화를 일으켜 조직적 분석적 사고력을 높이기 위한 것이다.

코딩을 이해하는 사람과 그렇지 않은 사람은 컴퓨터와 관련 없는 복잡한 문제를 분석하고 접근하는 방식 자체가 다르고 결과물도 다르다. 예를 들어 순서도라든가 모델링이나 시뮬레이션의 개념은 코딩에서 나온 개념이지만 일반적 업무나 연구 분석에도 매우 유용한 개념이다. 프로그램 설계 도구인 UML은 경영컨설팅 회사 같은 데에서도 업무 과정의 설계나 개선에 많이 쓰인다. 코딩에서 나온 추상적인 것을 구체화하는 기술과 개념은 이와 같이 일반적 문제를 조직적으로 분석하고 구체화하는 데 매우 강력한 사고의 도구이다.

또 예를 들어 업무를 전산화하려고 할 때 해당 기존 업무 담당자가 자기 업무를 분석해 세부적인 요구 사항을 작성할 때 프로그램이 어떻게 그런 업무를 할 수 있는 지 코딩을 이해하는 것과 아닌 것은 개발진과의 소통 능력에 차이가 커서 결과에 큰 차이가 난다. 코딩을 하지 않더라도 코딩의 방법론을 이해하는 것은 다양한 현실의 업무나 소통에 엄청난 도움을 준다. 게임을 기획하는 프로듀서는 코드 한 줄 쓸 필요가 없지만 프로그램의 개발 과정이나 코딩을 이해하지 못하고 기획을 하면 현실적 기획도 소통도 되지 않아 프로그래밍 팀이 제대로 된 결과물이나 개발을 하기 어렵다.

위의 부정적 견해에 이공계도 코딩을 싫어한다고 하는데 이제 제대로 된 이공계 직장이나 연구직은 (인문계 연구직 포함) 코딩을 못하는 연구직은 할 수 있는 일이 지극히 한정이 되고 살아 남기 어렵다. 코딩을 못하는 것은 마치 과거 컴퓨터나 워드, 엑셀, 파워포인트 잘못 다루던 꼰대 부장님 정도로 업무 능력에 큰 핸디캡을 지게 된다. 코딩 못하는 신입 사원은 미래 꼰대 부장님 확정이다. 지금 대학생은 앞으로 40년 직장 생활 해야 하는데 현재의 40년 전 1980년대 직장에서 타자기나 주판이나 계산자청사진으로 업무를 보던 시대였다. 즉 현대에 코딩 못하는 것은 한국 직장에 PC 보급을 시작하던 1990년대에 컴퓨터를 쓸 줄 몰라 주판이나 타자기가 더 간편하고 빠르다고 고집하던 1990년대 꼰대 부장님 같은 꼴이 나는 거다.

현대의 사무직은 업무에 다량의 빅 데이터를 다루어야 하는 일이 흔해지고 역사학 연구도 빅 데이터 분석이 필요하다. 액셀로 간단히 다룰 수 있는 정도를 넘어서면 자기 업무에 필요한 다종다양한 분석 도구는 그걸 일일이 전산실에 의뢰하거나 외주를 주어 개발할 수도 없고 스스로 만들 수밖에 없다. 그래서 교양으로 배운 코딩으로 엉성하게라도 엑셀 + 비주얼 베이직이나 파이썬 따위로 스스로 도구를 만들어 쓰는 직장인도 많다. 모바일 게임에서 리세마라나 챗봇이나 게임 모드 등 게임 매크로를 스스로 만드는 겜돌이도 많다. 이제 전산 개발과 전혀 관련 없는 일을 하는 사람도 어느 정도의 코딩 능력은 웬만한 고등학교 정규 과목보다 직장 생활이나 취미 생활 등 실생활에 유용하다.

위 부정적 견해에 코딩을 이해하지 못하는 고위층에 대해 비판하고 있는데, 이러한 현상을 줄이는 것이 코딩 교육의 보편화이다. 지금 가르치면 20 ~ 30년 후에는 그 학생들이 코딩을 이해하게 될 것이 아닌가? 코딩이 뭔지도 모르면서 그 중요성이나 영향력을 제대로 가늠할 수 있겠는가? 그러므로 지금 학생들에게 코딩을 가르치는 것은 10년후에 코딩을 할 프로그래머를 양성하기 위한 것이 아니라 바로 20년 후에 제대로 된 정책을 기획하고 개발 업무를 관리할 코딩을 이해하는 교육부, 문화체육관광부 공무원이나 기자나 회사 관리자를 양성하기 위해서이다. 더 나아가 컴퓨터나 프로그래밍 등 현 사회와 경제를 움직이는 핵심적 기술을 이해는 일반 시민을 양성하기 위해 필요한 교육이다.

옛날 선비들도 공맹 공부만 한 게 아니고 거문고도 배우고 활도 쏘았다. 코딩도 마찬가지이다. 이제 컴퓨터는 현대인의 상식이고 코딩은 교양이다. 더구나 이제 IT 기술은 현대 경제를 움직이는 가장 큰 동력이고 AI 는 인류의 미래를 근본적으로 변화시킬 동력으로 여겨지고 있다. 학교에서 과학을 가르치는 이유도 과학자 양성이 아니라 과학기술로 움직이는 현대사회를 이해하는 시민, 직업인을 양성하는 것이고 최소한 각종 유사과학 사기에 속지 않기 위해서이다. 예술을 가르치는 것도 하다못해 예술이나 스포츠 팬이 되었을 때나 예술이나 문화 관련 투자를 할 때도 최소한 용어나 개념과 과정을 이해해야 제대로 펜질이라도 할 수 있기 때문이다. 세계적 투자가 워렌 버핏도 80년대부터 지금까지 이어지는 컴퓨터 인터넷 등 장기적인 IT 산업 붐에도 2000년대 후반에 들어서야 애플이나 아마존 등 IT 주식에 투자하기 시작할 정도로 IT 산업의 성장에 관심이 낮았는데 이는 그가 IT 쪽에 문외한이었기 때문이었다.
모든 것이 과학기술과 컴퓨터와 프로그램으로 움직이고 변화하는 현대사회에서 과학기술과 IT기술은 정치적 국제적 외교적 군사적 사회적 경제적 문화적으로 막대한 영향을 미치고 있다. 그런 사회에서는 과학기술과 IT 기술을 알아야 공무원도 정치가도 군인도 기자도 사업가도 투자자도 예술가도 회사원도 농부도 주부도 될 수 있다. 이런 현대사회에서 컴퓨터나 코딩 모르면서 시민으로서 또 직업인 생활인 유권자 투자가 문화애호가 로서 제대로 활동할 수 없고 사회나 정치 경제 문화에 대한사회와 경제를 제대로 이해하고 올바른 여론이나 의견을 형성할 수는 없다.

3. 같이 보기



[1] 2000년대생 부터 대부분 2015 개정 교육과정 적용에 따라 코딩 교육을 정규 교육과정으로 배우기 시작했다.[2] 하지만 수학이 그렇듯이 컴퓨터과학의 지식 대부분은 개념이나 논리에 가까운 것이기 때문에 시대가 지난다고 해서 크게 바뀌지는 않는다. 단, 윈도우용 프로그램, 안드로이드나 iOS용 애플리케이션 등 특정한 플랫폼에서 돌아가는 애플리케이션이나 프로그램을 만드는 법은 매우 자주 바뀌는 편이다. 따라서 코딩을 배울 때 썼던 방법을 나중에 그대로 써먹지는 않을 거다. 그러나 컴퓨터 과학의 개념들이나 문제 해결 방법들은 수학처럼 죽을 때까지 써먹을 수 있다.[3]컴파일 등의 과정이 간단한 GUI 내부적으로 가려지는 환경을 사용하거나, 인터프리터 언어를 사용한다.[4] 주로 프로그래밍 언어론 시간에 SICP랑 같이 배운다.[5] 실제 코딩마냥 이 비유에서도 자식(입력값)에 따라 아빠(출력값)가 실수를 자주 범한다.[6] 이러한 부분은 개발자들이 네이버 블로그를 선호하지 않는 이유에 한몫했는데, 가장 접근성이 좋은 플랫폼임을 이용하여 블로그나 카페를 통해 그저 코딩을 배우면 취직도 잘되고 모든 일이 잘 풀릴듯이 코딩을 권유하는 학원들의 광고글이 범람하고 있기 때문이다. 이런 학원의 마케팅 담당들은 코딩 경험이 없기 때문에, 블로그에 IT 정보랍시고 올라오는 것도 대부분 두루뭉실하거나 추상적인 개념으로 포장하고 있으며, 조금만 딥한 수준으로 들어가면 아예 잘못된 정보가 있을 정도로 전문성이 의심될 지경이다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r308에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r308 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)