경북 구미 광평중학교 학생들이 정보 수업 시간에 코딩을 배우고 있다. 노경보 교사 제공
올해부터 중학교에서 코딩 교육이 의무화됐다. 내년부터는 초등학교 5~6학년으로 확대된다. 그러나 아직 일선 학교에서는 코딩 교육 준비가 충분하지 않다. 중학교에서는 코딩 교육이 의무화됐지만 사전 준비가 아직 부족해 2학년으로 미뤄놓은 학교가 많다.
또 일부 학생과 학부모들은 ‘코딩’ 하면 우선 겁부터 먹는다든지, 코딩하는 도구(스크래치나 엔트리)의 기능에 숙달하는 것으로 좁게 이해하는 경우가 많다. 그러나 코딩 교육의 목적은 그런 데 있지 않다.
김영원(경북 구미 광평중 1학년)군은 올해 코딩 수업 시간에 독특한 제품을 만들어봤다. ‘안전한 등굣길’을 주제로 이를 구현하기 위해 코딩을 하고 실제 작동까지 해보았다. 다른 친구 3명과 함께 한 팀이 된 김군은 자동차나 보행자가 강제로 신호를 지키게 하는 제품을 구상했다.
김군은 “긴 막대기로 판을 만들어 빨간불이 들어오면 보행자 쪽을 가로막고, 초록불이 들어오면 자동차 도로를 차단하는 장치를 고안했다”며 “실제 도로를 축소한 것으로 가정해서 길이 6㎝ 정도의 막대기로 차단 판을 만들고 햄스터 로봇(센서·모터 등이 내장된 소프트웨어 교육용 로봇)에 장착해 작동했다”고 설명했다.
김군은 “전부 스크래치와 엔트리(초보용 코딩 소프트웨어)로 프로그램을 짜 햄스터 로봇을 작동했다”며 “지진 안전판도 만든 적이 있다. 지진이 날 경우 일정 수준 이상의 진도가 감지되면 ‘지진’이라는 표시가 안내판에 뜨고 대피소의 방향을 화살표로 알려준다”고 말했다. 초등학교 때부터 코딩 연습을 했던 김군은 집에서 로봇 축구 경기를 할 수 있는 프로그램도 짜 봤다.
같은 학교 홍민기군도 초등학교 6학년 때부터 교회에서 형과 누나들로부터 코딩을 취미로 배웠다. 홍군은 “현재 스크래치로 탱크 게임을 만들고 있다. 내가 주인공이 돼서 탱크를 몰고 앞에서 오는 자동차나 적 탱크를 파괴하는 게임”이라며 “게임이 진행될수록 점점 난이도가 높아지도록 설계하고 있다”고 설명했다.
홍군은 “탱크 모양을 인터넷에서 다운받을 수 있지만 퀄리티가 떨어진다. 그래서 움직임에 따라서 변하는 탱크의 모습을 일일이 그림판 같은 것으로 그리고 있다”며 “미션 완수를 하려면 20분 정도 걸릴 것으로 예상하는 데 현재 5분의 1정도 완성했다”고 설명했다.
협업을 통해 소통하는 능력도 중요
이 학교 노경보 정보 교사는 “중학교 코딩 교육은 코딩만 하는 게 아니라 정보 윤리, 자료와 정보, 문제해결 프로그래밍, 피지컬 컴퓨팅 등 4개 영역으로 나뉘어 있다”며 “직접 활동이 들어가니까 아이들의 수업 몰입도가 높고 훨씬 재미있어한다. 무엇보다 아이들이 생각했던 것을 실제로 구현해서 결과물을 받아보니까 더욱더 좋아한다”고 설명했다.
노 교사는 “‘자전거 안전 프로젝트’ 수업을 했는데, 사고가 나면 바로 스마트폰에 정보를 전달해 119에 사고 알림을 할 수 있는 장치를 개발한 학생의 아이디어가 기억에 남는다”고 했다.
방금 소개한 두 학생은 초등학교 때부터 코딩에 관심을 가지고 연습을 해봤다. 따라서 중학교에 진학해 코딩 수업을 해도 잘 적응한다. 한데 처음 코딩을 접하는 학생들, 그리고 이를 지켜보는 학부모들이 코딩에 대해 당황하는 경우가 있다. 또 코딩에 대해 아직 고정 관념을 가지고 있는 경우가 많다.
이희명 교사(경북 칠곡 북삼초)는 “코딩 교육을 단지 스크래치나 엔트리와 같은 개발 도구의 기능에 익숙해지는 것으로 생각하는 게 우리 사회의 대표적인 오해”라고 지적했다. 그는 지난 2014년 ‘학생 활동 중심의 소프트웨어 교육’으로 ‘삼성 미래 교사상’을 수상했다.
그는 “소프트웨어 교육을 단지 미래 직업으로서 코딩 전문가, 프로그래머만 되기 위한 걸로 단선적으로 생각하는 것도 잘못”이라며 “코딩 교육의 목적은 아이들이 단계적이고 논리적인 사고력, 그리고 자기 사고를 실현하기 위한 구체성을 기르는 데 있다”고 덧붙였다.
예를 들어 ‘오늘 아침 집에서 학교까지 올 때 무엇을 했는지 표현하기’라는 주제로 수업을 한다고 하자. 아이들은 보통 ‘아침에 세수를 했다’, ‘신호등을 건넜다’ 정도만 말한다.
그러나 이를 코딩을 통해 구현하려면 집에서 어느 방향으로 몇 미터 와야 신호등이 있고, 신호등이 깜박이는 시간은 몇 초인지 등을 다 머릿속에서 생각하고 계산해야 한다. 과학 시간에 산이나 염기와 관련한 실험을 할 경우, 실험에 필요한 조건을 훨씬 더 구체적으로 계획할 수 있다.
노경보 교사도 “코딩은 알고리즘을 설계하는 것이고, 특히 중요한 게 협업하는 것”이라며 “협업을 통해 수정하고 보완하는 과정이 핵심이다. 이 과정에서 소통 능력을 키울 수 있다”고 밝혔다.
김영원군은 코딩 교육의 장점에 대해 “과학 지식이 더 늘어나고 생각하는 폭의 넓이가 넓어진다. 자기 생각을 어떻게 구현할 수 있을까 구체적으로 생각하게 된다”고 말했다. 홍민기군은 “코딩을 하면 하나하나의 명령어를 이해하고 어떻게 구현해야 할까 계획을 세워야 하니까 창의력이 생긴다”고 설명했다.
코딩 교육에서 하나의 걸림돌은 ‘뭔가 근사한 결과물’을 만들어 내야 한다는 부담감이다. 그러나 그럴 필요가 없다. 예를 들어 초보 단계에서는 비만도를 알아보는 비엠아이(BMI)측정 프로그램을 짤 수도 있다. 비엠아이는 체중(㎏)을 신장(m)의 제곱으로 나눈 값으로 체지방 축적을 잘 반영하기 때문에 비만도 판정에 많이 사용한다. 이런 기초적인 것에 익숙해지면 아이들이 좋아하는 게임 만들기 등으로 나갈 수 있다.
겁먹지 말고 자신감 가져야
‘근사한 결과물’에 대한 부담감 때문에 코딩에 겁을 먹는 학생들도 있다. 홍민기군은 자신감이 중요하다고 말했다.
홍군은 “단지 다른 사람의 작품을 경험만 하는 게 아니라 수준이 높든 낮든 내가 나만의 작품을 만들어 보겠다는 생각이 중요하다”며 “내가 만약에 새로운 걸 만들어보고 싶다는 마음이 있다면 모르는 게 있어도 포기하지 않고 물어보거나 자료를 찾게 된다. 겁먹을 필요가 없다. 자신감이 필요하다”고 말했다.
삼성디스플레이 개발자 출신으로 코딩 교육업체 ‘코딩플레이아카데미’를 운영 중인 심중원 대표는 “서울 시내 코딩을 가르치는 학원 숫자가 올해 초보다 3~5배 정도 늘어난 것 같다”며 “한데 여전히 코딩을 프로그램 짠 뒤 로봇을 제어하는 정도로 이해하는 학부모들이 많다”고 했다. 그는 “코딩은 수단이지 목적이 아니다. 아이들 입시 쪽으로만 주목해서는 안 된다”며 “곧바로 좋은 결과물이 안 나온다고 부모들이 조급해하면 안 된다. 꾸준히 하면 늦게라도 성과가 나오는 게 코딩”이라고 설명했다.
김태경 <함께하는교육> 기자
ktk7000@hanedui.com