무더운 날씨에도 ‘코딩 교육’에 열정을 쏟는 시민들

 

 

바야흐로 창의적인 사고력을 배양할 수 있는 ‘코딩 교육’이 확산되고 있다. 세계적으로 소프트웨어 산업비중이 하드웨어 보다 커지면서 교육부는 지난 2015년 국가경쟁력을 확보하기 위해 ‘소프트웨어 교육 활성화 기본계획’을 발표한 바 있다. ‘코딩 교육’은 단순히 컴퓨터 활용 방법을 배우던 1990년대의 컴퓨터 교육에서 벗어나, 학습 과정을 거쳐 학생이 좀 더 창의적이고 논리적으로 사고할 수 있도록 하는 것이 그 목표다.

‘코드’(Code)란 컴퓨터 언어인 기계어의 조합으로 모든 프로그램의 기초가 되는 도구다. 기사를 작성하는 워드프로세서, 자료 검색을 위한 웹브라우저, 원고 편집을 위한 각종 프로그램들과 운영체제까지, 모든 컴퓨터 프로그램을 이루고 있는 근원이 코드다. 드론, 3D프린터, 로봇 등 최근 화두가 되고 있는 ICT 분야의 핵심은 소프트웨어이고, 이를 효율적으로 동작하기 위해 연구하는 것이 코딩이다. 이 코드 사용법을 배우는 것이 코딩 교육이고, 소프트웨어 교육은 이를 포함해 컴퓨터 소프트웨어에 대한 전반적인 내용을 배우는 것이다. 코딩 교육의 목적은 컴퓨팅 사고력(Computational Thinking)을 길러 문제를 해결하는 능력을 배양하는 데 있다.

 

주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것이 코딩이며,
프로그래밍은 문제해결을 위해 컴퓨터 언어로 프로그램을 만드는 것이다.

 

페이스북의 CEO 마크 주커버그는 “앞으로 우리는 프로그래밍을 읽고 쓰는 것과 같은 수준으로 가르치게 될 것”이라고 했으며, 구글의 전 CEO이자 알파벳 회장인 에릭 슈미츠는 “향후 10년 동안 프로그래밍으로 모든 것이 변화할 것”이라고 했다. 컴퓨터를 비롯한 하드웨어는 점점 더 많은 분야에 적용되며 인간의 삶을 좀 더 편안하게 바꿔주는 기계가 되고 있다. 모든 하드웨어가 상향 평준화되는 추세에서 컴퓨터 발전의 관건은 효율성과 보편성에 달려 있다. 드론을 띄워 주변을 촬영하는 것도 드론의 비행 능력과 촬영 능력만으로는 불가능하고, 이를 운영하는 소프트웨어 수준에 따라 그 결과물의 품질이 달라진다. 코딩 교육은 단지 프로그램을 만드는 것을 목표로 설정하는 것이 아니라, 주어진 문제에 대해 파악하고 이를 해결할 수 있는 방법과 그 과정을 찾아나가는 일련의 행동 전체를 보는 것이다. 재료를 파악하는 것이 요리사의 시작이라면, 만드는 과정을 파악하는 것이 프로그래머의 시작이다.

 

소프트웨어 교육, 모두의 미래

미국의 비영리단체 ‘Code.org’는 구글, 마이크로소프트, 페이스북 등의 기업 엔지니어들의 도움을 받아 코딩 교수법과 튜토리얼을 제작, 제공했다. 당시 미국 대통령이었던 버락 오바마는 “코딩은 당신의 미래일 뿐 아니라 조국의 미래이기도 하다”면서 코딩 교육을 강력 지지했다. Cord.org는 향후 2020년까지 미국의 대학 졸업생 중 약 40만 명이 컴퓨터 관련 학위를 취득할 것으로 예상했다. 2015년의 통계에 따르면 산업에서 필요로 하는 프로그래머 인력은 이보다 3배 이상 많은 140만 명이었고, 100만 개의 직업이 컴퓨터 관련 분야에서 발생할 것으로 전망했다.

 

4차산업혁명시대에 영어와 코딩이 공통언어로 부상

 

미국 외에도 여러 국가에서 소프트웨어 공교육을 진행하고 있다. 프로그래밍 교육 선진국으로 알려진 에스토니아는 IT를 국가 차원에서 지원하며 1990년대부터 초등학교부터 고등학교까지 전 과정에 프로그래밍 교육을 실시했다. 세계적인 데이터 통화 서비스 ‘스카이프’(Skype)도 에스토니아에서 개발된 앱이다. 현재 영국, 프랑스, 벨기에, 체코, 헝가리, 스페인, 이스라엘, 중국, 인도 등 국가들이 프로그래밍 교육을 하고 있다.

소프트웨어 교육의 목적은 공통적으로 ‘컴퓨터를 사용한 논리적∙창의적 사고’다. ‘코딩 교육’으로도 알려진 이 교육정책은 자칫 이공계 분야에 특화돼 있는 것처럼 여겨질 수 있는데, 제대로 된 교육이 이뤄진다면 어느 한 쪽에 치우치지 않고 배우는 과정에서 모든 방향으로 확장할 수 있는 기초 사고력을 키워나갈 수 있다. 소프트웨어 교육은 코딩을 배우거나 JAVA 등 컴퓨터 언어를 배우는 것으로 생각할 수 있다. 이보다는 컴퓨팅 사고력을 배우는 것이 핵심이라고 볼 수 있다. 협업이나 비판적 사고 등 소프트웨어 개발 과정에서 팀워크와 의사소통을 배우게 되는데, 이를 통해 좀 더 창의적이고 논리적인 사고로 알고리즘을 만들 수 있다. 또한 교육을 통해 배운 논리적 사고가 일상생활에 도움이 될 수 있다. 컴퓨터와 스마트폰 등 다양한 기기를 이용에서 끝나는 것이 아니라 소프트웨어 교육을 통해 프로그램이 어떻게 동작하는지 그 의도와 환경, 원리 등을 이해할 수 있을 것이다.

* 알고리즘 : 코드들이 제대로 동작할 수 있도록 만드는 명령 체계

 

컴퓨터 명령어 입력(우)과 결과(좌)

 

이날 강사는 일반 대중에게 많이 알려진 이고잉 프로그래머로서, 2011년 일반인에게 컴퓨터 프로그래밍을 알려주기 위해 ‘생활코딩’을 창시한 바 있다. 그는 “코딩은 단순히 언어를 배우는 게 아니다. 실생활에서 내가 좋아하는 걸 디지털 기기로 만들어 봄으로써 컴퓨터적 사고에 대한 경험을 쌓게 해 주는 도구일 뿐이다. 논리적 사고와 창의적 아이디어를 코딩을 통해 배울 수 있다.”라고 말하면서, “코딩의 기본 원리와 방법을 익힌 다음 자기가 생각한 아이디어를 실제로 구현하는 것으로 바로 기업가 정신이다. 지금 ICT 혁명이 벌어지고 있는데 이때를 우리 아이들이 놓쳐서는 안 된다. ‘생활코딩’은 프로그래머들이 이룩한 개방과 공유라는 문화적 성취이다.” 라고 강조했다.

 

생활코딩 초기화면

 

‘생활코딩’이 지향하는 목표는 작은 교육이다. 작은 교육의 핵심은 ‘무엇을 모르는지 모르는 상태’에서 ‘무엇을 모르는지는 아는 상태’가 되는 것이다. 무엇을 모르는지를 알면, 지금 당장 그 지식을 익히지는 않더라도, 그 지식이 정말 필요할 때 그 지식을 구하려 할 것이다. ‘생활코딩’ 온라인 프로그래밍 교육 웹사이트는 자바스크립트, HTML, CSS, PHP와 같은 개발언어부터 시작해 리눅스 같은 운영체제, MySQL과 같은 데이터베이스(DB) 관리시스템까지 무료로 가르쳐준다.

 

생활코딩 웹어플리케이션

 

사물인터넷(IoT)은 우리 삶을 기계들 속으로 옮겨놓고 있다. 단순히 기계를 이용할 줄 아는 것과 기계와 소통할 줄 아는 것은 큰 차이가 있다. 프로그램을 배워야 하는 이유는 기계와 소통할 일이 기하급수적으로 늘어가고, 그곳에 새로운 기회가 생기기 때문이다. 그리고 배우고 난 후에 그 지식을 바탕으로 인공지능에게 중요한 미션을 부여하는 역할도 필요하다.

코딩은 컴퓨터 프로그램이 어떤 기능을 가지게 할지, 인공지능이 어떤 행동을 하게 만들지를 입력해 주므로 프로그래밍에서 가장 기초적이면서도 필수적인 작업이다. 이에 맞춰 소프트웨어 엔지니어링 관리자를 비롯해 프로그래머 직종이 빛을 발하며 ‘선호하는 직업’으로 각광을 받고 있다.

 

클라이언트와 서버개념 이해

 

인간의 삶을 편리하게 바꿔준 컴퓨터, 청소까지 대신해주는 로봇청소기, 화재를 감지해 주는 화재경보기. 이 모든 것들은 코딩 작업을 통해 입력된 명령대로 행동한다. 컴퓨터와 인공지능이 앞으로 인간의 삶에 더욱 많은 영향을 끼칠 것이 분명하기 때문에 코딩의 필요성과 가치는 더욱 강조되고 있다. 과거에는 프로그래밍 언어를 모두 알아야만 코딩을 할 수 있었지만, 지금은 코딩을 원활하게 도와주는 프로그램도 개발되어 누구든지 손쉽게 배울 수 있다.

 

4차 산업혁명시대에는 기술 발전으로 향후 직업군에 큰 변화가 생길 것이고, 1인 체제와 지식 산업이 더 빨리 발달하게 된다. 개인의 능력이 사회와 산업에 미치는 영향이 더욱 커진다는 의미이다. 소프트웨어는 철저히 알고리즘으로 구성돼 있고, 문제가 발생했을 때 이를 해결하기 위해 필요한 것이 코딩이다. 하나의 정답만 있는 것이 아닌 소프트웨어 문제는 여러 방면으로 접근해야 하는데, 이 과정에서 창의적인 사고력을 기를 수 있을 것이다. “미래는 준비하는 곳에 열린다”는 말을 더욱 실감하게 된다.