해법 설계·프로그래밍·실행 3단계 과정
게임·일상언어등 다양한 방식으로 교육
기술 습득보다 논리 알고리즘 구축 중요


요즘 소프트웨어와 코딩교육에 대한 관심이 뜨겁다. 2015개정교육과정에서는 초·중학교의 모든 학생들이 소프트웨어교육을 필수로 배우게 된다. 초등학교 17시간, 중학교 34시간으로 차지하는 비중은 크다고 볼 수 없으나 모든 학생들이 배운다는 것에 주목할 필요가 있다.

지난 2014년 당시 정부가 핵심 국정과제 중 하나로 소프트웨어 중심사회를 선언한 이후 불과 1년만에 정규교과에 편성됐으며 소프트웨어교육을 현장에 정착시키기 위해 대대적인 교사연수와 다양한 관련 교육행사들을 진행하고 있다.

하지만 아직도 많은 학생들과 교사, 학부모들은 소프트웨어, 코딩교육의 열풍을 어리둥절한 표정으로 바라보고 있다.

소프트웨어교육이란 '컴퓨터적 사고를 통해 문제를 해결하는 인재를 길러내는 교육'이라고 정의하고 있다. 컴퓨터적 사고란 미국 MIT 대학의 Seymour Papert교수가 처음 언급했으며 문제가 주어졌을 때 컴퓨터가 문제를 해결하는 방법으로 생각하고 올바른 결정을 내리는 것을 이야기한다. 컴퓨터적인 사고는 3단계를 거친다.

문제가 주어진 후 첫 번째 단계는 문제해결을 위한 설계이며 두 번째 단계에서는 프로그래밍 언어를 사용해 코딩을 하는 과정을 거친다.

이때의 코딩이란 현실의 세계가 아닌 가상의 세계에서 일어나게 되므로 이것을 현실의 세계로 옮기기 위해서는 컴퓨터, 스마트폰, 로봇 등이 필요하다. 이 과정을 거친 후 마지막으로 문제를 해결하게 되는 것이다.

즉, 소프트웨어교육이란 우리 아이들이 컴퓨터적 사고력으로 문제를 해결하도록 하는 교육이며 코딩교육이란 컴퓨터의 언어를 다루는 법을 배우는 것이라 할 수 있겠다.

최근에는 컴퓨터 없이도 컴퓨터적 사고를 경험하도록 하는 언플러그드 소프트웨어 교육프로그램으로 시작해 우리 아이들이 좀 더 쉽게 코딩과 컴퓨터적 사고에 접근할 수 있도록 하는 다양한 교육용 프로그래밍 언어가 개발돼 있으므로 이를 이용해 아이들이 소프트웨어교육에 접할 수 있도록 한다.

스크래치(Scratch)는 MIT미디어랩에서 개발한 교육도구로 게임의 방식을 이용해 프로그래밍의 원리를 이해할 수 있도록 했다. 소리와 애니메이션 등을 활용해 프로그램을 만들게 되며 블록형태의 명령어를 마우스로 옮기고 쌓아가며 원하는 기능을 구현할 수 있다.

엔트리(Entry)는 기본 언어로 한국어를 사용하며 명령어 또한 일상생활에서 사용하는 언어들을 사용하므로 이해가 쉽다. 스크래치와 같이 블록형태의 코딩방식으로 명령어블록을 쌓아가며 프로그램을 만드는 시각적인 프로그램으로 자신이 만든 미디어아트와 프로그램들을 공유할 수 있다.

아두이노(Arduino)는 하드웨어기기를 조정하는 코딩도구로 프로그래머가 생각하는 명령어들을 시각적으로 확인할 수 있으며 다양한 용도로 조립해 쓸 수 있는 모듈형 기판이다. 아두이노는 로봇이나 자동차를 만들고 원하는 방향으로 움직이거나 멈출 수 있도록 프로그래밍 할 수 있다.

2018년부터 학교에서 소프트웨어교육을 시작하게 되는데 많은 학생, 교사, 학부모들이 막연한 두려움을 갖고 있다.

이 두려움은 소프트웨어교육의 목적을 기술 습득으로 착각해 생기는 것이라 할 수 있다. 소프트웨어교육의 목적은 컴퓨터사고의 기본원리를 이해하고 사고력과 논리력을 바탕으로 문제를 창의적으로 해결하는 것이며, 정답을 맞추는 것이 아니라 생각의 방법을 알도록 하는 것이다.

컴퓨터적 사고와 코딩은 디바이스를 만드는 방법을 배우는 것이 핵심이 아니다. 수학적, 과학적 소양을 토대로 주어진 문제를 해결할 수 있는 논리와 알고리즘을 설계하는 것이 더 중요하다.

/안달 평택 효덕초 교사

※위 창의융합교실은 지역신문발전기금을 지원받았습니다.