“오히려 자녀가 게임을 더 많이 하게 되는 건 아닐까 걱정하시는 학부모님도 계실 겁니다. 하지만 SW 교육은 게임을 가르치는 것이 아닙니다. 문제를 효율적으로 해결하는 방법을 가르치는 것이죠.”
2월 4일 서울특별시 과학전시관에서 열린 ‘2015 제1차 미래창조과학부 SW 창의캠프’ 개회식에서 한국과학창의재단 과학·수학교육단장을 맡고 있는 장영록 인천대 물리학과 교수가 말했다. 미래창조과학부가 주최하고 한국과학창의재단이 주관한 이번 캠프에는 이틀 동안 총 300명이 참가했다. 각각 초등부와 중등부로 나뉜 참가자는 하루 동안 SW의 필요성에 대해 배우고 SW 교육을 미리 체험했다.
“앞으로는 소프트웨어가 발전하면서 많은 직업이 사라지고, 또 많은 직업이 새로 생겨날 것입니다. SW 교육은 미래에 내가 어떤 일을 하든지 도움이 될 것입니다.”
이창윤 미래창조과학부 미래인재정책과장은 이렇게 축사를 한 뒤, 간단한 프로그래밍 시합을 제안했다. 딱 한 명만 뽑겠다고 하자 여기저기서 손이 올라갔다. 누가 더 빨리 캐릭터를 미로에서 빠져나갈 수 있도록 프로그램을 만드는지 겨루는 시합이었다. 캐릭터가 원하는 동작을 하도록 명령어를 순서대로 잘 짜야 했다. 만약 캐릭터가 미로에 갇혀 같은 곳을 맴돌거나 벽에 부딪히는 오류가 생기면, 오류를 수정하는 ‘디버깅’ 과정을 거쳐야 한다. 이 흥미진진한 시합은 캠프의 예고편이었다.
SW 개발자는 문제 해결사!
특별 강연자로 나선 정호영 NHN NEXT 교수는 ‘좋은 소프트웨어 개발자에게 필요한 것’을 주제로 이야기했다. 보통은 소프트웨어 개발자를 프로그램 잘 짜는 사람이라고 생각하기 마련이다. 하지만 정 교수는 “기술과 논리로 문제를 잘 해결하는 사람이 소프트웨어 개발자”라며, “소프트웨어는 사람을 만족시켜야 하기 때문에 우리 주변의 사람들을 잘 이해할 줄 알아야 한다”고 말했다. 프로그래밍 능력, 수학과 과학뿐만 아니라 영어와 국어, 타인과 소통할 줄 아는 인문학과 윤리의식까지 갖춰야 좋은 소프트웨어를 만들 수 있다는 얘기다.
“소프트웨어는 전부 알고리즘으로 이루어져 있죠. 알고리즘의 기반 지식이 바로 수학입니다. 문제를 논리적으로 해결하는 정보과학적 사고의 핵심 또한 수학이죠.” 정호영 NHN 넥스트 교수
소프트웨어의 시작은 소통
소프트웨어 개발에서 세 가지 소통은 매우 중요하다. 문제를 겪는 사람과의 소통, 함께 문제를 해결하려는 사람과의 소통, 그리고 컴퓨터와의 소통이다. 어떤 상황에서라도 다른 사람에게 명확하게 설명할 수 있어야 컴퓨터에게도 정확한 명령을 내릴 수 있다. 또한 이야기를 창작하는 스토리텔링은 프로그래밍의 기초가 된다. 장면마다 캐릭터와 장애물, 미션 등을 직접 설정해 문제를 하나씩 해결해 나가는 과정은 하나의 이야기와 같다.
초등부는 먼저 ‘엔트리봇’이라는 보드게임을 하면서 친구와 부모님과 머리를 맞대고 함께 의견을 나누며 문제 해결에 나섰다. 보드게임으로 순차와 반복, 판단과 같은 알고리즘적 사고를 통해 프로그래밍의 기본 원리를 배우는 것이다. 애니메이션 동화 ‘아기돼지 삼형제’를 보고, 그 뒤에 이어질 이야기를 상상해 이야기를 완성했다. 참가자들은 원하는 위치에 회오리바람을 넣기도 하고, 돼지가 도망가는 경로를 자유롭게 만들기도 했다.
중등부는 두 명씩 짝 지어 한 사람은 그림을 보면서 설명하고, 다른 한 사람은 이를 듣고 보지 않은 채 그림을 똑같이 그리는 것으로 시작했다. 그리고 ‘내가 만드는 미로찾기’와 ‘퀴즈 풀이 게임’을 만들었다. 어떤 물체가 다른 물체에 닿았을 때 하는 행동을 정하거나 퀴즈의 정답을 맞혔을 때 나오는 대사를 설정하는 등 각자 자유롭게 프로그램을 구성했다.
사물을 인터넷에 연결하다
사람이 컴퓨터를 컨트롤하기 위해서는 입력 장치가 필요하다. 입력 장치는 버튼이나 터치, 소리 등을 전기 신호로 바꿔 컴퓨터로 전달한다. 어떤 물건이든지 전기가 통할 수만 있다면 입력 장치가 될 수 있다. 이를 이용해 참가자들은 컴퓨터에 물건을 연결해서 사용해 보는 체험을 했다.
중등부는 ‘아두이노’로 자동차 경주를 시뮬레이션했다. ‘아두이노’는 누구나 쉽게 사용할 수 있도록 만든 기기 제어용 소형 보드다. 여기에 버튼, 센서 등 다양한 입력장치나 LED, 스피커, 모터와 같은 여러 출력장치를 연결한다. 그리고 소프트웨어로 아두이노에 명령을 내려 원하는대로 작동하게 만들 수 있다.
초등부에서는 고무찰흙으로 전자 피아노 키보드를 만들었다. 먼저 아두이노 보드에 ‘고무찰흙 키보드 쉴드’를 이용해 하드웨어를 조립하고, 엔트리를 이용해 프로그래밍을 했다. 고무찰흙은 전기가 통하기 때문에 필요한 아두이노 보드 위에 씌워서 사용하면 복잡한 전선 연결을 간단히 할 수 있다. 참가자들은 일명 ‘말랑말랑한 키보드’를 인터넷에 연결해 피아노를 연주하며 즐거워했다.
말랑말랑한 키보드는 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경인 ‘사물인터넷’의 간단한 형태이기도 하다. 초등부 참가자의 학부모 김덕기씨는 “간단한 사례를 경험하면서 소프트웨어 교육이 뭔지 전반적으로 알 수 있는 좋은 기회였다”고 소감을 말했다.
SW 창의캠프는 올해 전국에서 10회 이상 진행될 예정이다. 초등부 참가자 김민재 학생(고양 신원초 6학년)은 “소프트웨어가 어려운 것인 줄로만 알았는데 재미있다는 걸 알게 됐다”면서 “소프트웨어 분야로 새로운 꿈을 찾고 싶다”고 웃음과 함께 참가 소감을 밝혔다. 함께 참가한 김민재 학생의 학부모 최형진씨도 “소프트웨어가 모든 분야와 다 연결돼 있다는 걸 알 수 있었다”고 말했다.