문법 말고 제발 기획 중심으로.
4차 산업혁명과 빅데이터라는 신조어가 등장하면서 시작된 코딩 열풍.
그 파급력은 어마어마했다. 유치원부터 초등학교, 중학교, 고등학교, 심지어 대학교까지,
코딩은 어느새 '필수 교양'이 되어버렸다.
2022년 정부는, 2025년부터 초등학교 정보 수업을 34시간 이상,
중학교는 68시간 이상으로 확대하고 코딩 교육을 의무화한다고 발표했다.
급기야 여러 대학들은 전교생을 대상으로 한 프로그래밍 필수 교양 과정을 신설했고,
세종대는 2015년 비이공계 전공자 대상(비전공자라고 부르지 말자..) 소프트웨어 코딩 교육을
국내 대학 최초로 의무화했다.
코딩 교육 시장은 그렇게 폭발적으로 성장했다.
전문가들은 국내 초중고 대상 코딩 교육 시장 규모가
2019년 1,500억원에서 2030년 1조 5,000억원으로 10배 이상 커질 것으로 전망하고 있다.
학원가에는 코딩 학원이 하나둘 생겨났고, 에듀테크 스타트업들은 투자를 받으며 성장 가도를 달렸다.
지금의 코딩 교육, 무엇이 문제인가.
현재 대부분의 코딩 교육 현장을 들여다보면 한 가지 패턴이 보인다.
변수 선언하기, 조건문 작성하기, 반복문 이해하기, 함수 만들기.
마치 영어 교육에서 단어 외우고 문법 공부하는 것과 다를 바 없다.
물론 기초는 중요하다.
하지만 우리는 수십 년간 영어를 배워도 정작 외국인을 만나면 말 한마디 제대로 못하는
'교육의 함정'을 이미 몇 십 년 동안 지긋지긋하게 경험하지 않았던가?
코딩 교육도 같은 길을 걷고 있다.
문법과 구문을 열심히 가르치지만,
정작 "이걸로 무엇을 만들 수 있을까?"라는 질문에는 답하지 못한다.
2018년 소프트웨어 교육 의무화 때도 그랬다.
학원가는 제2의 코딩 붐을 기대했고, '국영수코'라는 신조어까지 등장했다.
(참고로 4차 산업혁명, 빅데이터라는 신조어가 대중화된 게 2016년이다.)
그러나 실제로는 형식적인 강의, 교원 인력 부족, 지역 간 격차 등의 문제만 드러났을 뿐이다.
더 큰 문제는 시대가 바뀌었다는 것이다.
2024년 12월 기준 깃허브 코파일럿 사용자는 1억 5,000만 명을 넘어섰고,
개발자들 사이에서 가장 널리 사용되는 AI 도구로는 챗GPT가 82%를 차지한다.
AI가 코드를 작성해주는 시대가 이미 도래한 것이다.
깃허브 코파일럿, 챗GPT, 클로드 같은 AI 도구들은
개발자가 주석으로 원하는 기능을 설명하면 코드 전체를 자동으로 생성해준다.
복잡한 알고리즘도, 반복되는 코드도, 심지어 테스트 코드까지 AI가 작성한다.
우리 모두 알고 있지 않은가.
진짜 필요한 것은 '문제를 발견하는 힘'이다.
2009년, 고등학교 2학년에 재학 중이던 한 학생은
학원을 다니다 막차 시간을 몰라 버스를 놓치는 경험을 했다.
"밤새며 컴퓨터하고 아침에 허둥지둥 정류장으로 뛰어가면
버스를 탈지 놓칠지 복불복이었어요"라고 회상하는 그는
단지 '내가 편하게 보기 위해' 버스 도착 시간을 알려주는 앱을 만들기로 결심했다.
그 학생은 인터넷 검색을 통해 스스로 애플 언어를 배워, 약 3주 만에 '서울버스' 앱을 개발했다.
아이폰이 국내에 출시된 2009년 12월, 앱스토어에 등록되자마자 무료 앱 1위에 올랐고,
1년이 채 되지 않아 40만 명이 넘는 사용자가 사용하는 대한민국 대표 앱이 되었다.
이 앱은 2014년 다음카카오에 인수되어 현재 '카카오버스'로 서비스되고 있으며,
누적 다운로드 수 천만 건을 기록하며 대한민국 버스 앱의 표준이 되었다.
이 사례에서 배워야 할 것은 무엇인가?
이 학생은 이후 한 인터뷰에서
"흥미를 바탕으로 하지 않은 소프트웨어 교육은 사설학원만 낳을 뿐"이라며
"프로그래밍 언어를 따로 배운 것이 아니라 앱을 만들기 위해 하나하나 찾아가며 배웠다"고 말했다.
(멋있는데..?)
그는 기술적으로는 아직 미숙했을 수 있다. 하지만 중요한 것을 알고 있었다.
"버스를 기다리는 게 불편하다"는 문제를,
그리고 "기술로 이걸 해결할 수 있다"는 가능성을.
이것이 진짜 코딩 교육이 가르쳐야 할 것이다.
AI 시대의 코딩 교육은 구문이나 문법을 가르치는 데 그쳐서는 안 된다.
학생들이 스스로 생각할 수 있도록 해야 한다:
내 일상에서 불편한 점은 무엇인가?
우리 학교/회사/지역사회에는 어떤 문제가 있는가?
이 문제를 기술로 어떻게 해결할 수 있을까?
내가 상상하는 솔루션을 만들려면 어떤 기능이 필요한가?
나는 교육 전문가도 아니고, 이 또한 아직 제대로 영글지 않은 미숙한 생각일 뿐이지만
이 능력을 기르기 위해서는 다음과 같이 몇 가지 교육 방식이 달라져야 한다고 생각한다.
실제 문제를 찾는 훈련부터 시작해야 한다.
학생들이 자신의 생활 반경에서 불편함을 관찰하고 기록하게 하는 것이다.
"등교할 때 시간표를 확인하기 번거롭다", "급식 메뉴를 미리 알고 싶다",
"동아리 회비 정산이 복잡하다" 같은 작은 문제들부터 시작하면 된다.
문제 해결 과정을 설계하는 연습이 필요하다.
어떤 유튜브 채널에서 외국인 한 분이 영어로 대화할 수 있게 훈련하는 방법을 알려줬는데
일주일 정도를 내가 자주 하게 되는 말, 표현을 기록해 보고
챗GPT 같은 솔루션을 활용해서 그걸 어떻게 영어로 바꿀 수 있는지 알아낸 다음
그 표현을 외우라는 것이다. 내가 자주 사용하는 말, 표현이기 때문에 훨씬 도움이 된단다.
어떤가? 설득력 있지 않은가? 코딩도 마찬가지다.
"이 문제를 해결하려면 어떤 정보가 필요한가?", "어떤 순서로 작동해야 하는가?",
"사용자가 어떻게 이용하면 편할까?" 같은 질문을 통해 컴퓨팅 사고력을 기른다.
이 단계에서는 코드를 한 줄도 작성하지 않아도 된다.
이게 코딩으로 될까? 이런 생각을 아예 배제하고
마음 껏 상상의 나래를 펼치는 게 우선 주용하다!
"나는 이런 기능을 만들고 싶어"라고 AI에게 설명하고,
AI가 생성한 코드를 검토하고 수정하는 과정을 거친다.
코드를 모르는데 어떻게 검토하냐고?
그 한 줄 한 줄의 의미와 문법을 다시 AI에게 물어보면서 코드를 익히면 된다.
그게 반복되면 자연스럽게 문법을 익히는 거름이 될 것이다.
중요한 것은 코드 한 줄 한 줄을 직접 작성하는 것이 아니라,
전체 흐름을 이해하고 원하는 결과를 만들어내는 능력이다.
자신이 만든 솔루션을 다른 사람에게 보여주고,
"이게 정말 문제를 해결하는가?", "더 나은 방법은 없는가?"를 논의한다.
이 과정에서 비판적 사고와 협업 능력이 자연스럽게 길러진다.
민망하다고? 나도 안다. 하지만 생각하는 것을 입 밖으로 내뱉어야 진짜 내 것이 된다.
이건 진짜 믿어도 좋다.
학생들이 만든 작은 프로젝트들을 기록하고 공유하게 한다.
이는 단순한 성적보다 훨씬 강력한 학습 동기가 되며, 실제로 진로를 결정할 때도 큰 자산이 된다.
내가 제안하는 방법은 블로그를 개설해서 운영해 보라는 것이다.
자기가 생각한 아이디들을 블로그에 기록하고
실제로 해본 내용, 성공했던 내용, 실패했던 내용과 원인 탐색, 재시도 같은 내용들을
차곡 차곡 블로그에 올려서 기록해 둔다. 그게 쌓이면 자산이 된다.
온라인에서 운영되기 때문에 언제든 다시 방문해서 들여다 볼 수 있다.
그리고 이 블로그 내용을 대학 입시에도 활용하고
취업에도 활용하면 분명 도움이 될 것이다.
현재 교육 현장의 선생님들 대부분이 전통적 방식으로 코딩을 배웠을 것이다. 나처럼.
새로운 교육 방식을 실현하려면 교사 재교육 프로그램이 반드시 선행되어야 한다.
선생님들이 먼저 AI 도구를 활용한 프로젝트 기반 학습을 경험하고, 이를 학생들에게 전달할 수 있어야 한다.
물론 AI 도구의 활용이 중요하다고 해서 기초를 완전히 배제할 수는 없다.
AI가 생성한 코드를 '읽고 이해하며 수정'하려면 최소한의 코딩 문해력은 필요하다.
변수가 무엇인지, 조건문과 반복문이 어떻게 작동하는지, 함수의 개념이 무엇인지 정도는 알아야 한다.
다만, 기초를 '빠르고 실용적으로' 습득한 후 바로 프로젝트로 넘어가는 방식이 효과적이다.
혹은 정말 내가 추구하는 방식은 코딩을 통해 할 수 있는 무수한 결과물들을 먼저 보여주면서
자연스럽게 기초를 조금씩 익히게 하는 것이다. 게임이 하고 싶어서 일본어를 공부하는 것처럼 말이다.
기초를 먼저 습득한다면, 한 학기 내내 문법만 배우다 흥미를 잃는 것이 아니라,
3-4주 안에 핵심 개념을 배우고
나머지 시간은 실제 프로젝트를 만들며 자연스럽게 심화 학습을 하는 것이 좋겠다.
AI가 생성한 코드가 항상 완벽하거나 안전한 것은 아니다.
때로는 비효율적인 알고리즘을 제시하기도 하고, 보안 취약점을 포함하기도 한다.
따라서 학생들은 AI 코드의 문제점을 발견하고, 보안 취약점을 인식하며,
더 효율적인 대안을 제시할 수 있는 '비판적 AI 활용 능력'을 길러야 한다.
이는 단순히 AI가 만든 것을 그대로 받아들이는 것이 아니라,
AI와 협업하며 더 나은 결과를 만들어내는 능력이다.
"이 코드는 왜 이렇게 작동하는가?", "더 빠르게 실행되는 방법은 없는가?",
"사용자 데이터가 안전하게 처리되는가?" 같은 질문을 던지는 습관을 길러야 한다.
AI 시대의 코딩 교육은 기술 윤리도 포함해야 한다.
"만들 수 있다"와 "만들어야 한다"는 다른 문제이기 때문이다.
학생들이 앱을 만들 때 고려해야 할 것들이 있다:
사용자의 개인정보를 어떻게 다루어야 하는가?
알고리즘이 특정 그룹에 불리하게 작동하지는 않는가?
내가 만든 기술이 사회에 미칠 영향은 무엇인가?
접근성을 고려했는가? (장애인, 고령자 등도 쉽게 사용할 수 있는가?)
예를 들어, 얼굴 인식 출석 체크 앱을 만든다면,
"이것이 학생들의 사생활을 침해하지 않는가?",
"카메라에 찍히지 않으려는 학생의 선택권은 어떻게 보장하는가?" 같은 윤리적 질문도 함께 다뤄야 한다.
교육의 목표를 재정의해야 할 때
한 교수는 "프로그래밍 언어도 전교생에게 필요한 기술이며,
더 이상 프로그래밍은 공과대에 국한된 이야기가 아니다"라고 말한다.
맞는 말이다. 하지만 그 '필요한 기술'의 정의를 다시 생각해봐야 한다.
AI 시대에 필요한 것은 완벽한 코드를 작성하는 능력이 아니다.
문제를 발견하고, 해결 방법을 구상하고, 기술을 도구로 활용하여 실제로 만들어내는 능력이다.
영어를 배우는 이유가 문법책을 달달 외우기 위함이 아니라 세계와 소통하기 위함이듯,
코딩을 배우는 이유도 구문을 외우기 위함이 아니라 기술로 세상을 변화시키기 위함이어야 한다.
정부의 코딩 교육 의무화 정책도, 대학의 프로그래밍 필수 교양도, 사교육 시장의 성장도 모두 중요하다.
하지만 그보다 더 중요한 것은 '무엇을 위해'라는 질문에 대한 명확한 답이다.
AI가 코드를 작성해주는 시대, 우리는 학생들에게 무엇을 가르쳐야 할까?
답은 명확하다.
스스로 생각하는 힘
문제를 발견하는 힘
상상을 현실로 만드는 힘
AI를 비판적으로 활용하는 능력
기술의 사회적 영향을 고민하는 윤리 의식
그것이 진짜 AI 시대의 코딩 교육이다.