정부는 7월23일 소프트웨어(SW) 교육을 초·중·고교에서 활성하겠다는 정책을 발표했다. 찬반 논란도 함께 일어났다. 현재 SW교육을 초·중·고교 교과과정에서 진행하는 건 만만치 않다. SW 교육을 진행할 수 있는 교사가 별로 없고, 교육 여건도 부족하기 때문이다. 초등학교 경우, 수업 시간을 따로 빼는 것이 힘들어 방과 후 활동이나 동아리에서 SW교육을 가르치고 있다. 중·고등학교에서는 수능 과목에 밀려 SW 과목을 채택하지 않는 편이다.

영국, 스페인, 미국 등 해외에선 SW 교육을 대대적으로 준비하고 있다. 교사 양성과 교육 콘텐츠 개발을 먼저하고, 여건을 만들어 SW 교육을 준비하는 추세다. 국내에선 논의를 거쳐야 할 부분이 많다. 이런 상황에서 이미 SW 교육을 진행하는 소수의 교사들이 있다. 현재 SW 교육을 어떻게 진행하고 있는지 3명의 교사에게 물어봤다. "초·중·고교 SW 교육, 어떻게 해야 하나요?"

송상수 소프트웨어연구소 소장, “SW는 창의력 향상 도우미”

song_sang_su_250
▲ song_sang_su_250
송상수 소프트웨어교육연구소 소장은 초등학교에서 SW 수업을 진행하고 있다. 과거에 초등학교 교직에 몸담은 적 있는 송상수 소장은 수업시간에 직접 아이들에게 SW를 가르치기도 했다. 현재는 학교를 나와, 방과후수업이나 정부협력 프로그램에서 SW 교사로 활동하고 있다.

송상수 소장은 “초등학교 수준에서 이루어지는 SW 교육은 개발자를 육성하려는 게 아니다”라며 “상상한 것을 실현시켜주는 창작도구로 이용하고 있다”라고 설명했다. 다시 말해 컴퓨팅적 사고 즉, 디지털 시대에서 아이디어를 내놓을 수 있는 창의력을 키우고자 SW 교육을 진행하고 있다는 얘기다.

송상수 소장은 '스크래치나 '엔트리'를 사용해 수업을 진행한다. 스크래치는 긴 명령어로 코드를 입력해서 명령을 수행하지 않는다. 대신 클릭앤드래그 방식으로 특징 기능을 담을 블록을 옮기면서 명령을 수행한다. 스크래치는 전세계 학교 및 기관에서 많이 사용하는 어린이 코딩 도구다. 엔트리는 국내에서 개발한 한국형 어린이 프로그래밍 도구로, 스크레치와 유사하다.

송상수 소장는 일명 ‘따라하기 수업’을 피하려고 한다. 선생님이 한가지 문제만 제공하고 한가지 정답만 익히는 수업을 지양한다는 얘기다.  그대신 아이들이 직접 만들고 싶은 것을 떠오르게 하고, 그 기능을 구현하도록 돕는다.

송상수 교사는 수업을 3단계로 나눴다. 1단계에선 예제를 익히며 스크래치 사용법을 익힌다. 예를 들어 학생들은 ‘Y좌표 이동하기’ 블록을 왼쪽에서 오른쪽으로 드래그하면 캐릭터가 점프한다는 것을 알게 된다. 두 번째는 예제 문제를 주고, 약간의 힌트를 주어 문제해결 방법을 생각하게끔 만든다. 마지막 단계에선 학생 스스로가 만들고 싶은 기능을 선택해 구현해보도록 시킨다. 가령 점프를 두 번 하면 소리를 내며 체력이 올라가는 기능을 만든다고 치자. 이때 학생은 과거 자신들이 익혔던 예제를 섞거나 응용해서 원하는 기능을 구현한다. 송상수 교사는 학생에게 자유시간을 주고 스스로 생각하고 질문하는 것을 가장 중요하게 여긴다.

SW_EDU_01
▲ SW_EDU_01

▲스크래치


“SW는 수학이나 과학보다 좀 더 눈에 보여서 학습 동기를 쉽게 유발할 수 있어요. 또한 남자들은 게임이란 요소를, 여자들은 자기 이야기를 담아 흥미를 이끌어 낼 수 있죠. 그것이 기존 과목들과 큰 차이점이죠.”

이진 인천과학고 평가연구부장, “머릿속 논리를 눈에 보이는 논리로”

2st_interviewee_lee_jin
▲ 2st_interviewee_lee_jin

이진 교사는 인천과학고에서 ‘정보’ 과목을 맡아 아이들에게 고등학교 SW 교육을 진행하고 있다. 정보는 수능에 들어가는 과목이 아니기 때문에 주로 고등학교 1학년 무렵에 배우며, 수업시간은 보통 일주일에 3시간이다.

고등학교 정보 교과는 크게 네 단원으로 구성돼 있다. 가르치는 순서, 단원 간 내용 융합, 실습 전개는 학교 실정에 따라 재구성이 가능하다. 첫 번째 단원은 정보기술 및 정보윤리에 대해서 배운다. 최근 정보기술 동향이나 개인정보보호, 저작권 등이 포함된다. 두 번째 단원은 컴퓨터 구성 및 네트워크에 대해서 배운다. 전자 회로를 구성하는 기본적인 회로를 익히거나 네트워크 용어 등을 배운다. 이때 기술 용어는 실생활에서 컴퓨터나 정보기기를 다루며 접할 수 있는 용어 위주로 배운다. 제어판이나 환경설정에서 볼 수 있는 용어들이다.

세 번째 단원에선 자료의 표현과 처리를 다룬다. 컴퓨터에서 처리하는 이진(binary)의 정보 형태에서 배열, 트리, 리스트 등 자료구조 이론이 들어가 있다. 마지막 4단원에서 문제해결 방법 및 절차(프로그래밍)를 배운다. 이때, C언어나 스크래치 같은 프로그래밍 언어 도구를 통해 결과물을 만든다. 엑셀의 VBA를 이용하기도 한다.

이진 교사는 프로그래밍 과정을 통해 프로그램 언어 자체를 익히는 것보다 문제해결을 위한 규칙이나 수식 등을 실제의 결과물로 만들어 내는 것을 중요시한다. 학생들이 성취감을 가질 수 있도록 돕는 데 중점을 두고 있다.

이진 교사는 SW 교육을 기본 상식 및 역량을 위해 가르친다고 말했다. 특히 인천과학고는 특목고이기 때문에, 수리나 과학에 뛰어난 학생들이 많은 편이다. 이진 교사는 “수식으로 표현하던 논리와, 프로그래밍으로 수식을 표현하는 것은 다르다”라며 “성취감을 통해 배우기 때문에 아이들에게 큰 동기를 준다”라고 강조한다.

SW_EDU_03
▲ SW_EDU_03

▲정보 교과서


김윤영 이천세무고 교사 “효율적인 문제해결 방법 배우도록"

3rd_interviewee_kim_yune_young
▲ 3rd_interviewee_kim_yune_young
이천세무고등학교는 세무관련 특성화 고등학교다. SW 교육도 일반계 고등학교보다 많은 편이다. 컴퓨터 일반, 프로그래밍, 자료처리, 데이터베이스 등이 교육과정에 두루 편성돼 있다. 수업시간도 인문계 고교보다 많은 편이다.

이천세무고등학교에서 프로그래밍을 가르치는 김윤영 교사는 "SW 교육을 통해 학생들의 논리적 사고력 향상을 높이려고 한다"라며 "교과서와 자체 커리큘럼을 따로 만들어 수업을 진행한다"라고 설명했다.

김윤영 교사는 프로그래밍 수업에서 파이썬을 기반으로 하는 'RUR-PLE(Rur Python Learning Environment, 러플)'을 사용한다. 러플은 프로그래밍을 배울 수 있는 학습도구다. 프로그래밍 수업에 참여하는 학생은 대부분 프로그래밍을 배우지 않은 상태에서 시작한다. 학생들은 로봇을 움직이기 위해 2~3종류의 간단한 명령어들을 나열해 주어진 문제를 해결하면서 순차적 구조로 프로그램이 움직인다는 걸 알게 된다.

러플은 프로그래밍 언어에서 사용되는 조건문, 반복문, 함수같은 개념을 무조건 암기하게 하지 않는다. 특정 개념을 실습으로 사용할 수 밖에 없게끔 설계돼 있다. 예를 들어 로봇에는 '물건 줍기'라는 명령이 있다. 이 명령은 바닥에 물건이 있으면 로봇이 정상적으로 물건을 줍고, 그렇지 않으면 에러를 발생해 멈춘다. 이때 물건을 줍기 위해 현재 위치에 물건이 있는지 없는지 판단해야 하는 기능이 필요하다. 학생들은 이를 통해 자연스럽게 조건문을 학습하게 된다.

러플 같은 프로그래밍 도구는 이러한 문제상황들을 기존 프로그래밍에서 사용하던 수학적인 문제해결 상황으로 보지 않고, 학생들에게 익숙한 현실세계의 문제상황으로 제공하는 게 특징이다.  예를 들어 로봇을 조작해 '쓰레기 분리 수거'나 '피자 배달' 같은 문제를 해결하면서 점차 더 큰 문제로 넘어간다. 이 과정에서 학생은 스스로 문제 해결을 위한 알고리즘을 설계할 수 있는 능력을 기르게 된다. 가령, '바다 속 보물 찾기' 문제는 바다 속에 있는 여러개의 보물 가운데 가장 큰 보물을 가져와야 하는데, 이를 해결하면서 최대값을 구하는 데 필요한 알고리즘을 익히고 정렬 알고리즘을 스스로 설계할 수 있게 된다.

SW_EDU_02
▲ SW_EDU_02

 ▲러플


"SW는 다른 과목들과 달리 문제 해결 과정에 초점을 맞춰요. 문제 해결을 위한 알고리즘을 설계하면서 어떤 방법이 가장 효율적인지 탐구할 수 있는 유일한 과목이죠. 과거 교육과정의 SW 교육은 이미 만들어진 SW를 사용하는 데 집중한 수동적인 SW 교육이었어요. 하지만 최근 교육과정의 SW 교육은 프로그래밍을 통해 나에게 필요한 SW 알고리즘을 설계하고 구현하도록 만들죠. 그러면서 학생들은 컴퓨터를 보다 능동적이고 적극적으로 사용할 수 있게 됩니다."

저작권자 © 블로터 무단전재 및 재배포 금지