preLoad Image preLoad Image
검색 바로가기
주메뉴 바로가기
주요 기사 바로가기
다른 기사, 광고영역 바로가기
중앙일보 사이트맵 바로가기
닫기
닫기

학습의 패러다임이 바뀐다…국영수보다 코딩 교육

[여성중앙] 현대 사회는 컴퓨터와 휴대폰 등 IT 기기 없이는 생활이 불가능할 정도로 거의 모든 것이 정보 기술에 의해 운영되고 있다. 그만큼 IT 기기를 움직이는 소프트웨어는 요즘 시대가 가장 필요로 하는 핵심 기술이 되었다. 미래에는 소프트웨어 체계를 직접 만들고 실행하는 능력이 경쟁력의 핵심이자 막강한 권력이 될 것이다.







소프트웨어 교육의 핵심은 프로그래밍이다



소프트웨어 교육을 크게 나누면 프로그래밍(코딩), 피지컬 컴퓨팅(사물 인터넷), 언플러그드 컴퓨팅(컴퓨터 과학)을 들 수 있다. 그중에서도 가장 대표적인 것은 프로그래밍이다. 지난 2000년부터 초등학생과 대학생, 교사 등을 대상으로 소프트웨어 교육을 진행해온 제주대학교 교육대학 초등컴퓨터교육전공 김종훈 교수는 다양한 소프트웨어 교육법 중에서도 ‘프로그래밍’에 주목해야 한다고 말한다.



“프로그래밍은 컴퓨터가 인식하는 프로그래밍 언어를 이용해서 특정 프로그램을 만드는 과정을 말하는데, 대표적인 프로그래밍 언어로 C언어, 자바 등이 있습니다. 그리고 초보자들을 위한 교육용 프로그래밍 언어는 ‘스크래치’ ‘코듀’ ‘앱 인벤터’ 등이 있죠. 코듀는 마이크로소프트에서 개발한 게임 제작 위주의 프로그램이고, 앱 인벤터는 구글에서 만든 애플리케이션 제작 프로그램입니다.”



그중에서도 가장 대표적인 것이 스크래치다. 이것은 2007년 미국 MIT 미디어랩에서 개발한 교육용 프로그래밍 언어로, 영어 명령어나 기호를 나열할 필요가 없어 초등학생도 비교적 쉽게 사용할 수 있다. 블록을 차례대로 쌓으면서 명령어를 입력해 프로그래밍을 완성하면 된다.



김종훈 교수는 스크래치의 기본 체계는 학부모들도 쉽게 이해할 수 있기 때문에 교재나 영상 강의 등을 통해 먼저 학습한 뒤 아이들에게 가르쳐주면서 함께 해보기를 권했다.



“관련 서적을 보고 한두 번 따라 해보면 아이들에게 가르쳐줄 정도로 금방 습득할 수 있습니다. 그리고 스크래치를 활용해 가장 먼저 게임을 만들어보게 하면서 흥미를 갖게 해주세요. 캐릭터가 움직이고, 먹이를 잡아먹는 등 동작을 하는 수준의 게임은 단순한 명령으로도 쉽게 만들 수 있습니다.” 하지만 그는 게임을 만드는 수준에만 머물러선 안 된다고 강조한다. 논리력을 기르기 위해서는 다양한 과목과 연계하는 프로그래밍을 연습하고, 알고리즘을 풀어가는 방법도 다양하게 시도해야 한다는 것이다.



“스크래치는 다른 과목과 연계하는 데 아주 유용한 프로그램입니다. 삼각형을 그리는 명령을 만들어본다고 가정해봅시다. 그러기 위해서는 몇 개의 변을 그려야 하는지, 각각의 변이 이루는 각도는 몇 도인지 알아야 프로그램을 완성할 수 있겠죠. 스크래치로 삼각형을 그리는 과정에서 삼각형의 변의 길이, 변의 수, 외각 등을 알게 되는 것입니다. 이 같은 원리로 다양한 수학적 이론을 적용해볼 수 있는 거죠.”



자신이 생각하는 스토리 라인을 구성해 게임의 원칙과 배경을 만드는 등 스토리텔링을 연습할 수 있고, 인구 변화를 예측해 사회의 변화를 실험하고 시뮬레이션도 가능하다. 이 외에 피지컬 컴퓨팅(사물 인터넷)과 언플러그드 컴퓨팅(컴퓨터 과학)이 있다.



피지컬 컴퓨팅은 주변 사물이 컴퓨터 프로그램과 상호 작용하도록 하는 활동으로, 이를 구현하기 위해서는 대개 아두이노, 라즈베리 파이, 비글본 블랙 등을 사용한다. 이것들은 CPU를 포함해 회로를 꽂을 수 있는 칩으로 구성된 하드웨어 플랫폼과 소프트웨어 프로그램으로 이뤄져 있다.



그중 가장 대표적으로 사용되는 것이 아두이노다. 아두이노를 활용하면 주로 센서를 감지해 불을 켜고 끄거나 초음파 신호에 따라 기계를 움직이게 할 수 있다. 그리고 아두이노 프로그램에 소스 코드를 작성해야 하는데, 이때 C언어를 사용하기 때문에 기본적으로 컴퓨터 언어에 대한 학습이 선행되어야 한다.



언플러그드 컴퓨팅은 컴퓨터를 활용하지 않고 컴퓨터 과학의 원리를 이행하고, 컴퓨팅 사고를 키우는 것이다. 컴퓨터 내부에서 표현하는 2진수와 16진수 등을 활용해 다양한 문자와 이미지 등을 표현하며 컴퓨터의 사고 체계를 배우는 것이다.



이를 활용해 프로그래밍, 정렬, 암호화 등을 수행할 수가 있다. 김종훈 교수는 다양한 종류의 프로그램 중 하나를 선택한다면, 자녀의 학습 목표를 고려해야 한다고 말한다. 정보올림피아드 같은 학습 경연 대회에 출전할 계획이라면 스크래치뿐 아니라 C언어, C++ 같은 컴퓨터 언어를 반드시 습득해야 한다.



기본적인 소프트웨어 프로그래밍을 통해 알고리즘과 다양한 과목을 연계해 사고하는 연습을 하고 싶다면 스크래치로 충분하다. 또 실생활과 연계해서 원하는 신호에 따라 자동으로 움직이는 기기를 만들고 싶다면 아두이노를 활용하는 것이 좋다.



이렇게 다양한 프로그램의 종류를 막론하고, 모든 소프트웨어 교육은 알고리즘, 즉 컴퓨팅 사고력을 기르는 데 매우 효과적이다. 주어진 문제를 해결하기 위해 순차적으로 진행 단계를 생각하고 그에 맞춰 동작을 실행시키는 과정에서 사고 체계를 알고리즘화하여 컴퓨팅 사고력을 기를 수 있는 것.



어떤 이론이나 개념을 대입하기보다 문제의 본질에 다가가 기본 원리를 탐구하게 되는 것이다. 신개념 IT기기를 제작하고, 일상에서 손쉽게 자동화 프로그램을 제작?활용할 수 있게 하는 것은 물론, 다양한 학문과 연계하며 컴퓨팅 사고력을 기르고 문제 해결 능력을 높이는 것이 소프트웨어 교육의 핵심이다.



김종훈씨는… 제주대학교 교육대학 초등컴퓨터교육전공 교수다. 현재까지『스크래치』『스크래치 알고리즘』『창의적 생각을 키우는 IT 퍼즐』『프로그래밍 비타민』 등 관련 도서를 출간했다. 2012년부터는 ‘창의컴퓨터교실’을 운영하며 초등학생을 대상으로 소프트웨어 교육을 실시해왔다. 2014년부터는 그가 감수한 스크래치 원격 교사 연수 강좌가 개설되어 운영 중이다.



스크래치를 통해 사고력과 논리력을 키우다

제주대 교육대학 초등컴퓨터교육전공 김종훈 교수, 아들 김동건(12, 제주대학교 교육대학 부설 초등학교)



1 김종훈 교수가 집필한 스크래치 교육 도서 『수프 스크래치』 . 2 김동건 군이 직접 제작해 소프트웨어 대회에서 금상을 받은 ‘수학말판놀이’ 게임.




김종훈 교수는 세 자녀 모두에게 초등학교 저학년 때부터 소프트웨어 교육을 시켰다. 그중 둘째 동건 군은 2013년 공개소프트웨어개발자대회에서 초등부 전국 금상을 수상해 미국 실리콘밸리 연수를 다녀오기도 했다. 동건 군은 초등학교 2학년 때 스크래치를 이용해 처음으로 소프트웨어 학습을 시작했다.



“당시는 컴퓨터에 대해 아는 것이 거의 없었어요. 그래서 스크래치를 이용해 간단한 게임을 만드는 것부터 시작했죠. 그리고 3학년 때부터는 스크래치 대회를 준비하기 위해 규모가 크고 조금 더 복잡한 프로그램을 만들기 시작했어요.” 김종훈 교수는 그때마다 동건 군의 옆에서 함께 프로그램을 만들어갔다.



“그렇지만 절대 만드는 방법을 일방적으로 가르쳐주지 않았어요. 난관에 부딪쳤을 때만 방향을 제시해주는 정도였죠. 또 아이가 한 가지 개념을 배우고 나면 그 원리를 적용할 수 있도록 예시?응용 문제를 던져주었어요. 기본적인 내용을 숙지한 뒤 응용해서 확장해 가다 보면 좀 더 거시적인 수학?과학적 원리를 알 수 있게 되기 때문이죠. 그렇게 주어진 과제를 혼자서 해결하다 보니 프로그래밍 실력은 물론 문제 해결 능력과 창의력이 부쩍 늘더라고요.”



동건 군이 소프트웨어 대회에서 만든 게임은 ‘수학말판놀이’다. 주사위를 클릭하면 무작위로 숫자가 나오게 하고, 나온 수만큼 말판을 이동하는 것이다. 함정을 만나면 뒤로 가고, 도착지에 다다르면 수학 문제가 나오는 게임이었다.



동건 군은 “프로그래밍을 통해 게임도 만들고, 직접 만든 게임으로 수학 문제도 풀 수 있어 문제를 풀어가는 과정에서 더 많은 흥미를 느꼈다”고 말했다. 김종훈 교수는 동건 군이 어느 정도 게임 만들기를 마스터하고 난 뒤에 수학과 연계해 알고리즘 체계를 습득할 수 있도록 했다.



스크래치 알고리즘을 활용해 기초 계산을 비롯한 수열, 약수, 소수, 진법 변환, 암호문 만들기 등의 작업을 수행하며 각각의 풀이 과정과 기본 원리를 이해할 수 있게 한 것이다. 그리고 요즘은 ‘앱 인벤터’라는 프로그램을 활용해 애플리케이션을 만드는 연습을 하고 있다. 이것 역시 블록 쌓기 방식으로 명령 체계를 만들어 실행시키는 것이다.



어느 정도 프로그래밍 경험을 쌓은 지금, 동건 군은 정보올림피아드 출전을 대비해 컴퓨터 학원을 다니기 시작했다. 그곳에서 컴퓨터 언어와 컴퓨터 언어를 활용한 프로그래밍을 배우며 좀 더 고차원적인 프로그래밍을 연습하고 있다.



“프로그래밍은 문제집을 보고 주어진 문제를 푸는 것과는 전혀 다른 개념이에요. 주어진 문제를 해결하기 위한 수행 과정을 생각하게 하고, 자신이 계획한 대로 수행되도록 명령어를 이용해서 프로그램을 만들어야 하죠. 그렇기 때문에 공식이나 이론 없이, 스스로 논리적이고 체계적인 사고 과정을 거쳐야만 하는 거예요.



또 자신이 만든 프로그램에 오류가 생기면 처음부터 다시 생각해야 하는데, 몇 번의 시행착오 끝에 프로그램이 완성되면 그만큼 성취감도 크게 얻을 수 있죠. 이렇게 오류를 해결하는 과정을 통해 다양한 방법으로 사고하는 능력이 질러지게 됩니다. 컴퓨터 프로그래밍 경험을 많이 쌓는 것이야말로 사고력을 키우는 데 가장 효과적인 방법입니다.”



아두이노를 활용해 상상 속 로봇을 만들어보다

한국마이크로소프트 기술 에반젤리스트 김영욱씨, 딸 김민주(12, 서울 천일초등학교)



1 민주 양이 가장 좋아하는 열 감지 선풍기. 2 자동으로 불을 켜고 끄는 조건을 입력하기 전, 컴퓨터 언어를 노트에 적어보았다. 3 적외선 감지 센서를 달아 10초 동안 움직임이 포착되지 않으면 자동으로 꺼지는 스탠드를 만들었다. 화면에 켜진 프로그램이 숫자를 세고 있다.




마이크로소프트 미국 본사의 기술을 국내에 소개하고 교육하는 김영욱 한국 마이크로소프트 기술 에반젤리스트는 작년부터 딸 김민주 양과 함께 아두이노를 활용해 다양한 기기를 만들어왔다.



먼저 아두이노를 실행하기 위해 기본 장치부터 구입했다. CPU와 칩 등이 장착된 아두이노 보드와 센서, 액추에이터 등이 그것. 센서는 조도 센서, 온습도 센서 같은 것으로, 외부의 물리적인 변화를 감지한 뒤 해당 정보를 아두이노 내부 프로그램으로 끌어들이는 역할을 한다.



그리고 스피커나 모터같이 동작을 만드는 액추에이터는 센서가 보낸 정보를 받아 특정 결과물을 출력해내기 위한 것이다. 센서를 통해 정보를 취합하고, 취합된 정보를 다양한 액추에이터를 통해 내보내는 것이 아두이노의 기본 원리이다.



준비물이 갖춰지면 원하는 조건의 명령을 아두이노 프로그램에 컴퓨터 언어로 입력해야 한다. 하지만 민주 양이 처음 아두이노를 활용해 기기를 만들 때만 해도 컴퓨터 언어를 전혀 알지 못했다고 한다.



“처음엔 조도 센서를 이용해서 어두워지면 불이 켜지고, 밝아지면 꺼지는 장치를 만들었어요. 가장 먼저 어떻게 동작 시킬 것인지 원하는 조건을 말로 풀고 공책에 써보도록 했죠. 그리고 그것을 다시 컴퓨터 언어로 옮겨 쓰라고 했어요.” 이때 김영욱씨는 각각 명령에 해당하는 컴퓨터 언어를 한 단어씩 알려주며 풀어갔다. 그리고 민주 양은 새로 배운 컴퓨터 언어를 반복해 접하면서 자연스럽게 익혀나갔다.



최근에는 스탠드에 적외선 감지 센서를 달아 열이 감지되면 스탠드가 켜지도록 하는 기기를 만들었고, 화분 위에 카메라를 달아 지정된 시간에 사진을 찍어 SNS 채널로 자동 업로드하는 화분을 만들기도 했다. 그중에서 민주 양이 가장 좋아하는 것은 자동 선풍기다.



“초음파 센서를 이용해서 50cm 안에 움직임이 포착되면 선풍기 팬이 자동으로 돌게 하는 거예요. 책상 위에 두고 쓰면 아주 유용하게 활용할 수 있을 것 같았어요. 제가 원하는 거리와 시간 등의 조건을 컴퓨터 언어로 입력해 만들고, 그것을 실생활에서 유용하게 쓸 수 있다는 게 신기했죠.”



단순히 컴퓨터에 저장하는 프로그램 도구에 머물지 않고, 직접 설치하고 움직여보면서 프로그래밍을 생생하게 느낄 수 있다는 것이 아두이노의 장점이다. 또 김영욱씨는 아두이노 같은 사물 인터넷 프로그램을 만들 때 사물의 움직임을 구체적으로 사고하는 과정을 거치며 관찰력과 논리력을 확장할 수 있다고 말한다.



“신호등을 예로 들면, 각각의 색깔을 얼마동안 켜지게 할 것인지, 불이 두 개씩 켜질 때는 어떤 조합으로 순서를 짜야 하는 지 등을 고려해야 해요. 그 과정에서 체계를 논리적으로 생각하게 되고, 일상에서 비슷한 장치들을 발견하면서 다양한 예시를 찾게 되는 거죠.”



아두이노는 아이들의 호기심을 자극하는 학습 도구다. 이를 통해 사물 인터넷 기기를 직접 만들 수 있고, 나아가 일상에서 필요한 것들을 반영해 신개념 IT 기기를 만드는 발명가가 될 수도 있다.





소프트웨어 교육, 어떻게 해야 하나



소프트웨어 교육은 기성세대에겐 무척 생소한 개념이다. 그래서 많은 학부모들은 이를 언제, 어떻게 시작해야 하는지 구체적인 방향을 잡는데 어려움을 느낀다. 전문가들은 부모들이 먼저 배워 아이들에게 직접 가르쳐줄 것을 제안한다. 그렇지 않고 전문가에게 맡기고 싶다면, 다양한 강의와 캠프, 커뮤니티를 활용해도 좋다.





‘소프트웨어야 놀자’ 대학생 멘토링 현장.




방과 후 수업 혹은 캠프를 활용하라



삼성전자 ‘주니어 소프트웨어 아카데미’ 방과 후 교실

삼성전자가 주도하는 소프트웨어 교육 프로그램이다. 필요한 교재와 교구를 지원하고 학생들의 학년과 역량에 따라 스크래치, 러플, C 언어 등의 프로그램 중 하나를 선택해 팀 프로젝트를 진행한다. 주로 초?중?고교생에게 방과 후 교실이나 자유 학기제 수업을 통해 소프트웨어 교육을 제공하는 교육 기부 프로그램이다. 신청 방법은 학교별 담당 교사가 12월에 사이트에서 교육청 공문을 참고하여 신청할 수 있으며, 선정된 학교는 연수 프로그램을 이수한 교사가 1년 동안 소프트웨어 교육을 진행한다. 문의 www.juniorsw.com



네이버 ‘소프트웨어야 놀자’ 대학생 멘토링 프로그램

네이버와 각 지역의 대학교가 연계해 대학생들의 재능 기부로 이루어지는 교육 기부 프로그램이다. 소프트웨어를 처음 접하는 초등학교 4~6학년을 대상으로 엔트리 프로그램을 이용해 코딩의 개념을 인식하고, PC를 활용하지 않는 언플러그드 컴퓨팅 교육(컴퓨터 과학)을 병행해 명령어, 알고리즘 등의 기본 원리를 알려준다. 교육 일정은 1차와 2차로 나눠 진행하며, 매주 토요일 2시간 동안 5회에 걸쳐서 이루어진다. 신청 방법은 대학교별로 상이하며 홈페이지를 통해 개인이 따로 신청할 수도 있다. 문의 campaign.naver.com/software



미래부 SW창의캠프

‘SW창의캠프’는 교육용 프로그래밍 언어 엔트리와 아두이노를 활용한 실습과 언플러그드 컴퓨팅 체험 위주의 교육을 진행한다. 초등학교 4~5학년, 초등학교 6학년~중학교 1학년을 대상으로 하며, 초등학생은 학부모와 일대일로 짝을 이뤄 교육이 이루어진다. 하루 중 약 9시간에 걸쳐서 시행되며, 초등과 중등 과정이 같은 프로그램을 사용하지만 해결하는 과제는 역량에 따라 다르게 주어진다. 신청 방법은 홈페이지에서 참가 신청서를 다운받아 작성하고, 소속 학교 확인서와 학부모 동의서 1부를 제출해야 한다.

문의 swcrew.kr



창의 컴퓨터 교실

제주대학교 교육대학 초등컴퓨터교육전공 김종훈 교수의 지도로 2012년부터 시행되어온 소프트웨어 교육 캠프다. 제주대학교 사라캠퍼스에서 매해 방학 동안 진행되고, 각각 프로그램과 주제를 달리해 다양한 경험을 접할 수 있게 한다. 올해 여름방학에는 애플리케이션을 만드는 ‘앱 인벤터’를 활용한 강의를 진행할 예정이다. 문의 cafe.naver.com/creativecomputer





1 블록을 쌓아 명령을 완성하는 스크래치. 2 아두이노, 라즈베리 파이등은 하드웨어와 소프트웨어가 연계된 프로그램이다.




무료 프로그램 활용법



스크래치 프로그래밍 언어를 이용해서 프로그램을 만드는 과정이다. 프로그래밍 언어에는 C언어, 자바, C++, 자바스크립트, 파이썬, 스크래치 등 다양하다. 그중 가장 주목받고 있는 교육용 프로그래밍 언어는 스크래치다. 스크래치는 처음 프로그래밍에 입문하는 이들에게 유용하며, 레고 블록처럼 코드를 조립하는 방식으로 프로그래밍해 게임이나 애니메이션 등을 만들 수 있다. 스크래치는 해당 홈페이지(www.scratch.mit.edu)에서 직접 이용할 수 있고, 무료로 다운받아 이용할 수 있다.



아두이노 사물 인터넷, 즉 피지컬 컴퓨팅은 컴퓨터와 주변 사물이 상호 작용하는 활동을 말한다. 사물 인터넷 기기를 만드는 방법은 아두이노, 라즈베리 파이 같은 프로그램을 사용해 전자회로를 연결하고 원하는 기능을 넣고 실행하는 것이다. 아두이노는 크게 하드웨어와 소프트웨어로 나누며 아두이노 보드 즉, 하드웨어에 아두이노 소프트웨어를 프로그래밍해 다양한 명령을 내린다. 아두이노 하드웨어와 소프트웨어를 잘 다루기 위해서는 전자과학적 지식은 물론 프로그래밍 명령어와 문법을 익혀야 하기 때문에 입문자가 접근하기에는 다소 어려울 수도 있다. 아두이노 소프트웨어 프로그램은 해당 홈페이지(arduino.cc/)에서 무료로 다운로드 가능하며, 아두이노 보드는 인터넷에서 구입할 수 있다. 가격은 1만원대부터.



앱 인벤터 구글이 개발한 안드로이드 기반 애플리케이션 개발 도구다. 스마트폰 애플리케이션을 만들 때 복잡한 프로그래밍 과정을 거치지 않고 블록 쌓기 방식의 비주얼 코딩을 통해 누구나 쉽게 애플리케이션을 개발할 수 있도록 한 것. 블록을 쌓는 비주얼 코딩 방식은 스크래치와 유사하지만, 만든 애플리케이션을 컴퓨터와 스마트폰에 연결하여 바로 실행할 수 있다는 것이 장점이다. 해당 사이트(appinventor.mit.edu/)에서 구글 계정으로 로그인하면 언제든지 무료로 사용할 수 있다.





함께 공부하기 좋은 온라인 사이트



스크래치 프로그램 커뮤니티 스크래치 기본 프로그래밍, 스크래치 알고리즘 등을 다루는 국내 최대 온라인 커뮤니티다. 학부모가 직접 가르치고 아이와 함께 풀어가면서 어려운 점이 생길 때 질문을 하면 전문가들이 바로 답을 해준다. 여러 가지 예시?응용 문제를 찾고 싶을 때 다양한 문제 형식을 활용할 수 있다. (cafe.naver.com/scratchprogramming)



언플러그드 컴퓨팅 커뮤니티 IT의 기본 원리와 개념을 알기 쉽게 볼 수 있고 다양한 문제의 예시를 참고할 수 있다. 제주대학교 교육대학 초등컴퓨터교육전공 교수팀이 직접 질문에 답을 한다. (cafe.naver.com/unpluggedcomputing)



아두이노 동영상 강의 아두이노를 활용하기 위해서는 보드의 구성을 이해하고 컴퓨터 언어를 활용한 프로그래밍 언어 등을 익혀야 한다. 특히 다양한 칩에 알맞은 회로를 연결해야 하는 만큼 텍스트보다 영상을 통해 보다 쉽게 배우고 따라 할 수 있다. ODIY 한국과학창의재단(www.youtube.com/channel/), 사이언스올(www.youtube.com/watch?v=Tcr33_779Pk)





기획 여성중앙 조한별, 사진 이상규, 이동현(cao studio)
AD
온라인 구독신청 지면 구독신청

PHOTO & VIDEO

shpping&life

댓글 많은 기사