아이디어에서 알고리즘으로, 소프트웨어 교육 시스템 ①

[테크월드=정환용 기자] 사람은 처음 빛을 보기 시작한 때부터 마지막 숨을 내쉴 때까지 끊임없이 뭔가를 보고 들으며 배운다. 가장 큰 배움은 ‘소통’이다. 엄마, 아빠를 말하는 것부터 후세에 남길 말을 전하는 것도 모두 주변의 모든 것과 소통하기 위함이다. ICT 산업이 화두가 된 지금은, 컴퓨터 사고로 창의적인 사고력을 배양할 수 있는 소프트웨어 교육이 새로운 교육 분야로 떠오르고 있다. 지난 2011년 이미 소프트웨어 산업 비중이 하드웨어 산업보다 커진 것이 그 중요성을 의미한다.

교육부에서 2015년 발표한 ‘소프트웨어 교육 활성화 기본계획’은, 소프트웨어가 중심이 되는 사회에서의 국가경쟁력을 확보하기 위해 마련된 새로운 교육정책이다. ‘코딩 교육’으로 먼저 알려진 소프트웨어 교육은, 이미 여러 국가들이 단계적으로 시행하고 있기도 하다. 단순히 컴퓨터 활용 방법을 배우던 1990년대의 컴퓨터 교육에서 벗어나, 학습 과정을 거쳐 학생이 좀 더 창의적이고 논리적으로 사고할 수 있도록 하는 것이 그 목표다.

2015년 개정 교육과정에서 소프트웨어 교육 과정이 중학교 정규교육과목에 추가됐다. 2018년부터 중학생은 단계적으로 연 34시간 이상 교육을 받아야 하고, 오는 2019년부터는 초등학생도 17시간 이상 교육을 이수해야 한다. 교육부가 지난 2016년 발표한 ‘소프트웨어 교육 활성화 기본계획’에 따르면, 소프트웨어 교육을 위해 2018년까지 전국의 초등학교 교사 6만 명(전체의 약 30%), 중학교 정보∙컴퓨터 교사 전체를 대상으로 연수를 실시해 교육 역량을 강화하게 된다.

그런데 새로운 분야에서의 인재를 발굴하기 위한 교육정책이 시작부터 잡음이 많다. 정부에서는 교육부가 제출한 관련 예산 전액을 삭감했고, 올해부터 자율 도입하기로 한 중학교들은 절반 가까이 도입을 미루고 있다. 관련업계는 현재의 관련부처 정책에 손가락질이 한창이다. 마치 매번 학생들을 혼란케 하는 대학수학능력시험의 개정을 보는 듯하다. 소프트웨어 교육이 어떤 것인지, 정부가 추진하고 있는 목표와 업계의 지향점이 어떻게 다른지, 현재의 교육정책이 제대로 진행되고 있는 것인지 알아보자.

 

밀에서 빵까지, 소프트웨어와 코딩의 상관관계
소프트웨어 교육에서 말하는 ‘코드’(Code)란, 컴퓨터 언어인 기계어의 조합으로 모든 프로그램의 기초가 되는 도구다. 현재 이 기사를 작성하고 있는 워드프로세서, 자료 검색을 위한 웹브라우저, 원고 편집을 위한 각종 프로그램들과 운영체제까지, 모든 컴퓨터 프로그램을 이루고 있는 근원이 코드다. 드론, 3D프린터, 로봇 등 최근 화두가 되고 있는 ICT 분야의 핵심은 소프트웨어이고, 이를 가장 효율적으로 동작하기 위해 연구하는 것이 코딩이다.

이 코드를 사용하는 방법을 배우는 것이 코딩 교육이고, 소프트웨어 교육은 이를 포함해 최종적으로 컴퓨터 소프트웨어에 대한 전반적인 내용을 배우게 된다. 코딩 교육의 목적은 컴퓨팅 사고력(Computational Thinking)을 길러 문제를 해결하는 능력을 배양하는 것이다.

페이스북의 CEO 마크 주커버그는 “앞으로 우리는 프로그래밍을 읽고 쓰는 것과 같은 수준으로 가르치게 될 것”이라고 했으며, 구글의 전 CEO이자 알파벳 회장인 에릭 슈미츠는 “향후 10년 동안 프로그래밍으로 모든 것이 변화할 것”이라고 했다. 지난 1994년부터 소프트웨어 교육을 실시한 이스라엘과 더불어 더 많은 나라들이 정규 교육과정에 소프트웨어 교육을 추가하고 있으며, 이는 앞으로 IT 업계에 커다란 변화를 불러오게 될 것이다.

 

문제를 해결하는 과정을 배우다
숫자 1과 2를 더하면 3이란 답을 도출할 수 있다. 아주 단순한 이 문제는 우리가 숫자 1을 ‘한 개’, 숫자 2를 ‘두 개’라고 인식하고 있으며, ‘더하다’는 개념이 주어진 숫자를 합친다는 것을 의미한다고 배웠기 때문에 가능한 계산이다. 더하기 빼기를 포함한 사칙연산을 익히는 것이 방정식과 함수, 미적분, 벡터 등 더 어렵고 복잡한 수학을 배울 수 있는 기반이 된다.

소프트웨어 교육도 마찬가지다. 컴퓨터를 예로 들면, 최초의 컴퓨터는 인간보다 빠른 연산을 수행할 수 있는 기계로 시작해, 현재까지 그 성능과 속도를 더하는 방향으로 일관된 발전을 해 왔다. 이미 손바닥만 한 계산기가 인간의 보편적인 연산능력을 뛰어넘은 지금, 컴퓨터를 비롯한 하드웨어는 점점 더 많은 분야에 적용되며 인간의 삶을 좀 더 편안하게 바꿔주는 기계가 되고 있다.

모든 하드웨어가 상향평준화되는 현재, 컴퓨터 발전의 관건은 효율성과 보편성에 달려 있다. 드론을 띄워 주변을 촬영하는 것도 드론의 비행 능력과 촬영 능력만으로는 불가능하고, 이를 운영하는 소프트웨어의 품질에 따라 그 결과물의 품질이 달라진다. 현직 개발자들은 짧고 간결한 코드가 최고라고 입을 모은다. 같은 기능을 수행하는 코드라 해도, 길고 복잡한 것보다 쉽고 짧은 코드가 좋은 코드라는 것이다. 드론에 360도 회전 비행을 명령할 때, 20줄짜리 복잡한 코드보다 5줄짜리 간결한 코드가 더 좋은 코드란 뜻이다.

코딩 교육 단계에서 바라보면, 제작과정의 세부적인 내용을 통해 주어진 문제를 해결해 나가는 과정이 커리큘럼의 핵심이다. 단지 프로그램을 만드는 것을 목표로 설정하는 것이 아니라, 주어진 문제에 대해 파악하고 이를 해결할 수 있는 방법과 그 과정을 찾아나가는 일련의 행동 전체를 보는 것이다. 그럼으로써 같은 행동을 명령하는 코드라 해도 길고 복잡한 코드보다 짧고 쉬운 코드를 만들게 되는 것이 소프트웨어 교육의 목적 중 하나라 볼 수 있다.

글이나 말로만 듣는 것은 소프트웨어 교육으로서는 부적절하다. 특히나 중학생이나 초등학생에게 코딩에 대한 이론적인 설명은 의미가 없다고 봐도 무방하다. 아이들을 TI 전문가로 육성하는 것이 소프트웨어 교육의 목적이 아니기 때문이다. 재료를 파악하는 것이 요리사의 시작이라면, 만드는 과정을 파악하는 것이 프로그래머의 시작이다. 대부분의 사람들이 이용하는 스마트폰과 애플리케이션을 보면서, 단지 이용만 하는 것이 아니라 프로그램이 어떻게 만들어졌는지를 가르치는 것이 소프트웨어 교육의 시작이자 목적이라 할 수 있다.

 

전 국민이 사용하는 메신저의 소통 방법
1990년대 중반, 벽돌보다 조금 작은 크기의 휴대폰을 처음 본 뒤 현재의 스마트폰까지 휴대전화는 상한선 없는 발전을 거듭해 왔다. 과거에는 상대방과 전화 통화만 할 수 있었던 때와 달리, 지금은 데스크톱 PC로 수행하는 거의 모든 작업을 스마트폰으로 대신할 수 있게 됐다. 특히 건당 이용료가 아니라 데이터 통신으로 상대방과 소통하는 메신저 애플리케이션은 거의 모든 스마트폰 사용자가 이용하고 있을 만큼 보편적인 프로그램이다.

문자메시지와 달리 데이터를 이용하는 IM(Internet Message) 서비스는 전송 횟수나 분량, 형식에 대한 제약에서 자유롭다. 국내에서 가장 많은 사람들이 이용하는 ‘카카오톡’이 대표적인 IM이다. 다양한 브랜드의 서비스가 출시되며 앱 내에서 할 수 있는 일이 점점 많아졌고, 다른 앱과의 연결을 비롯해 이모티콘 구입, 기프티콘 선물 등의 결제 서비스까지 지원하며 그 비중을 빠르게 키워나갔다. 메신저 앱 덕분에 통신사들은 기존에 건당 50원씩 받던 문자메시지 요금을 대부분 무료로 전환했고, 그럼에도 문자메시지 이용률은 이제 음성통화보다 더 낮아졌다.

A가 친구 B와 IM 서비스를 이용하는 과정은 기본적으로 ▲메시지 작성 ▲전송 ▲암호화 ▲계정 내에서 지정된 계정으로 메시지 전송 ▲복호화 ▲메시지 확인 ▲출력 등의 순서가 정해진 코드를 통해 실행된다. 메시지를 주고 받으면서 앱 내에서 제공하는 부가적인 서비스 역시, 제작사가 개발한 코드에 따라 사용자에게 제공된다. 사용자가 문자를 입력하는 것부터 전송, 암호화∙복호화, 수신, 출력 등의 과정을 수행하는 코드를 더 쉽고 간단하게 만들어 프로그램의 완성도를 높이는 것이 개발자들의 과제다.

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지