[커버 스토리] 컴퓨터와 대화하는 법
[중앙일보] 이 기사는 2015-07-22 오전 00:02:00 에 실린 기사입니다.
코딩을 배우는 사람들
18세기 영국에서 시작된 산업혁명은 모든 걸 바꿨다. 사람이 손으로 하던 일들을 기계가 대신하기 시작했다. 공장이 들어섰고, 대량생산 대량소비 시대가 열렸다. 사람들은 농촌을 떠나 도시로 몰려들었다. 산업화에 앞선 나라들은 세계 시장의 주역이 됐고, 그렇지 못한 나라들은 뒤처졌다. 사회·경제적 변화는 교육의 내용도 바꿨다. 산업기술 발전을 위해선 수량에 대한 분석 능력과 논리적 사고력이 필요했다. 교육 기관들은 이런 능력을 키울 수 있는 수학을 가르치기 시작했다. 수학은 산업경제 시대를 살아가는 사람들이 갖춰야 할 기본 소양이 됐다. 그리고 300년 가까이 흐른 지금, 디지털 혁명의 소용돌이가 전 산업에 충격을 주고 있다. 모든 것이 컴퓨터와 연결된다. 세상 모든 것이 인터넷을 통해 연결되는 사물인터넷(IoT. Internet of Things), 아니 만물인터넷(IoE. Internet of Everything) 시대다. 교육에도 변화의 바람이 불기 시작했다. 컴퓨터에 내 의사를 전달하고, 컴퓨터의 동작을 이해하는 능력, 상상을 현실로 만들어 나갈 수 있는 능력이 필요해지고 있다. 코딩, 즉 소프트웨어(SW) 프로그래밍 능력을 높여야 한다는 말에 무게가 실리는 것도 이 때문이다.
소프트웨어 시대 공용어 … “프로그래밍 언어가 영어 못잖게 중요해질 것”
#지난 8일 서울 사당동 신남성초등학교 4학년 4반 교실. 교실에는 학생 20여 명이 코딩 소프트웨어인 ‘라이트봇’을 배우고 있었다. 스크린에 뜬 가상 로봇이 자신이 입력한 화살표 순서로 척척 움직이자, 곳곳에서 “우와” 환호성이 터져 나왔다. 화살표 순서를 반대로 입력하자, 이번엔 로봇이 반대 방향으로 움직였다. 학생들은 “입력한 명령어에 따라 움직이는 로봇이 신기하다”고 말했다.
최근 강동구 둔촌고 1학년 학생들이 컴퓨터실에서 코딩 소프트웨어인 ‘비트브릭’을 실습하고 있다. [사진 둔촌고]
#지난 16일 서울 둔촌고 컴퓨터 교실. 30여 명의 학생이 ‘비트브릭’이란 코딩 소프트웨어를 이용해 퐁 게임을 만들고 있었다. 공과 막대의 크기, 움직임, 속도를 수치로 입력해 자신이 원하는 게임을 설계했다. 한 학생이 명령어를 입력해 공의 크기를 부풀렸다. 공을 튕겨내는 막대보다 훨씬 커다란 공이 만들어지자 주위 학생들이 웃음을 터뜨렸다. 또 다른 학생은 공의 이동 속도를 올리면서 게임을 어렵게 만들었다. 게임의 구성과 난이도는 제각각이었지만 학생들의 진지한 표정은 한결같았다.
#지난 18일 신촌 연세대 인근의 한 카페. 10여 명의 대학생이 코딩을 공부하고 있었다. 서울대 무료 코딩 교육 동아리 ‘멋쟁이 사자처럼’의 동영상 강의를 활용해, 실제로 프로그램 짜보기를 실습하는 스터디 모임이었다. 이날은 애플리케이션 개발 아이디어가 정해진 날이었다. 한 학생이 “포털 사이트의 추천 맛집이 엉터리”라며 “고객 취향에 맞는 진짜 맛집 추천 앱을 만들자”고 제안했다. 이에 동의한 학생들은 어떤 코딩 언어를 활용할지를 놓고 머리를 맞댔다. 한 경영학과 학생은 인터넷으로 학교 근처 식당과 고객군을 조사하기 시작했다.
윤채원(23)씨는 연세대 정치외교학과 학생이다. 그도 처음엔 전공에 맞춰 행정고시를 거쳐 공무원이 되거나 법조계·언론계에서 직업을 찾아야겠다고 생각했다. 하지만 2013년 가을 교환학생으로서 스위스 취리히대 정외과에 가게 되면서 생각이 바뀌었다. “스위스 학생들은 전공에 상관없이 소프트웨어나 인공지능에 대해 잘 알고 있더군요. 그 분야에 문외한인 제가 소외감을 느낄 정도였죠.” 그곳에서 컴퓨터 언어 ‘파이썬’을 배웠다. 한국에 돌아온 지난 학기에는 교양과목 ‘C프로그래밍’을 들었고, 여름방학에도 소프트웨어 공부를 계속할 계획이다.
“소프트웨어를 배우면서 전공에 상관없이 여러 가지 일을 할 수 있다는 걸 알게 됐어요. 여러 나라에서 살고 싶은데 그것도 가능할 것 같아요. 엄청난 부자가 되지는 않아도 능력을 발휘하며 생활할 수 있을 것 같아 가능한 많이 배워놓으려고 해요.”
경영학과 학생인 손규빈(26)씨는 C언어, 자바 등의 컴퓨터 언어를 배웠다. “소프트웨어를 알면 더 제대로 된 서비스를 할 수 있을 것 같아 시작했죠. 그런데 프로그래밍 배우는 거 무척 재밌더라고요. 이제는 ‘스타트업’(시작 단계에 있는 소규모 벤처기업)에 취직해서 1~2년 정도 일을 배우고 맘 맞는 동료를 만나 제대로 된 나만의 서비스를 해보고 싶어요.”
윤씨와 손씨는 ‘멋쟁이 사자처럼’을 통해 무료 코딩을 공부하고 있었다. 멋쟁이 사자처럼이 3개월 무료 코딩 교육을 시작한 건 2013년부터다. 처음엔 30명에 불과했던 교육생이 지난해 1100명으로 늘더니 올해는 3800여 명으로 증가했다. 신청자가 너무 많아 오프라인 교육이 불가능해지자 온라인 동영상 교육으로 바꿨다. 이두희 대표는 “참가자 중엔 이것저것 다양하게 도전해보고 자신만의 다른 길을 개척해 보려는 이들이 많다”며 “대부분의 무료 교육들은 중간에 그만두는 사람들이 많은데 이 프로그래밍 교육은 학생들이 따로 스터디 모임을 만들어 공부할 정도로 참여 열기가 높다”고 말했다.
참여하는 학생들의 전공은 다양하다. 2013년 1기 무료 교육 땐 수의대 학생들이 참가해 자체 프로그램을 만들었다. 컴퓨터를 전혀 모르던 학생들이 코딩을 배운 후 강아지 예방접종 알람 프로그램을 짰다. 강아지의 품종과 생년월일을 입력하면 해당 시기에 알람이 울리는 프로그램이었다. 이 대표는 “기술 관련 분야뿐 아니라 인문·정치·경제·의약 등 모든 학문이 소프트웨어와 결합하고 있다”며 “코딩 교육은 머지않아 영어 교육 열풍 못지않게 수요가 높아질 것 같다”고 말했다.
게임 만드는 초등생, 앱 개발하는 대학생
“아이디어만 있으면 뭐든 도전할 수 있어”
기업서도 채용 시 프로그래밍 능력 주목
“신입 사원이라면 코딩할 줄 알아야”
코딩은 ‘컴퓨터 명령어를 사용하여 프로그램을 짜는 일’을 일컫는다. 과거 컴퓨터 교육이 한글이나 MS오피스 같은 만들어진 소프트웨어를 어떻게 사용하는지를 가르치는 일에 치중했다면 최근 기업이나 현장에 원하는 건 직접 프로그램을 만들어 낼 수 있는 코딩 능력이다.
이봉주 삼성전자 DS(디바이스솔루션)부문 인사팀장(전무)은 지난달 18일 한국공학한림원이 주최한 코리아리더스 포럼에서 “현업 부서의 임원들을 만나면 신입사원이라면 적어도 기술적인 결과를 분석해낼 수 있는 통계 역량과 코딩을 할 수 있는 정도의 역량이 필요하다고 한다”고 말했다. 상경계열과 인문계열을 주로 채용하던 은행업계도 코딩 역량을 갖춘 사람들을 찾기 시작했다. 우리은행은 신입사원 채용 때 ‘정보기술(IT) 관련 전공자와 프로그래밍(코딩) 언어 능통자를 우대한다’고 밝혔다. 핀테크 등 IT와 금융의 결합 상품이 등장하면서 관련 인력 확보가 필요해졌기 때문이다.
공학 전공자만 그 대상인 건 아니다. 삼성은 지난해부터 ‘삼성소프트웨어아카데미’(SCSA) 라는 교육 과정을 만들어 인문계 출신들에게 소프트웨어 교육을 6개월간 실시하고 있다. 6개월 교육을 수료하면 삼성전자와 SDS에 SW 개발자로 입사하게 된다. 인문계 출신을 SW 개발자로 훈련 시키는 건 인문학적 상상력이야말로 SW의 경쟁력이 될 수 있다고 보기 때문이다. 구글이나 애플이 SW 생태계를 만들어 세계 시장을 장악한 것도 인문학적 상상력이 바탕이 됐다는 것이다.
이 교육 과정에 들어가면 우선 컴퓨터의 구조 및 작동 원리를 기초부터 배운다. 그러고 나서 삼성전자 지원자는 제품SW와 반도체SW를, 삼성SDS 지원자는 웹 기반 SW를 배운다. 언어를 배우고 나서 직접 프로젝트를 수행해보는 실전 훈련을 한다.
지난 16일 서울 역삼동 SDS 멀티캠퍼스에는 SCSA 교육생들이 자신이 만든 프로그램으로 로봇 자동차를 조종하고 있었다.
“자동차가 직선 말고 곡선으로 갈 수 있도록 조정해보자.” “공이 너무 가벼워서 예상보다 멀리 튕겨 나가네요.”
교육생들은 자동차의 움직임에 따라 프로그램을 수정했다. 이 프로그램 담당자는 “프로그램에 대해 전혀 몰랐던 사람도 한두 달이면 스스로 프로그램을 짤 수 있게 된다”고 전했다.
사교육 시켜야 하나, 불안한 학부모
이처럼 프로그래밍 능력을 갖춘 인력에 대한 수요가 늘어난 건 모든 산업이 IT 기술과 결합하고 있기 때문이다. 하지만 국내엔 그런 능력을 갖춘 인재가 턱없이 부족한 상황이다. 양석원 디캠프 사업운영팀장은 “80~90년대까지만 해도 공부 잘하는 학생들은 전자공학과나 의대를 갔다. 하지만 지난 10여 년간 소프트웨어가 3D 업종으로 인식되면서 SW 전문가 지망생이 크게 줄었다. 최근 디지털 환경이 급변하면서 SW 인력 수요가 급증하고 있는데 국내 현실은 그 수요를 충족시키지 못하고 있다”고 말했다.
안철수, 조현정, 이찬진 등 스타 창업자들이 등장했던 80~90년대 한국 SW는 폭발적으로 성장했다. 하지만 외환위기(IMF)로 수많은 소프트웨어 업체들이 무너지고, 불법 복제가 판을 치면서 자체 경쟁력을 잃어버렸다. 대부분의 SW 업체들이 대기업의 2, 3차 하청업체로 전락했다. 이 가운데 90년대 대학가를 휩쓸었던 컴퓨터 언어 배우기 열풍도 환멸만 남긴 채 사그라졌다.
최근 정부가 중고등학교 정규 과목으로 코딩 교육을 하겠다는 정책을 밝혔지만 학부모와 학원가의 반응이 그다지 호의적이지 않은 건 이런 과거가 배경이다. 또 입시 공부에 시달리는 학생들에게 또 다른 부담이 되지나 않을까, 추가 사교육이 필요해지는 건 아닌가 하는 불안감이 있다.
인문·의약·금융 등 모든 산업이 IT와 결합
개발자 외에도 수요 폭증…초교부터 교육
“10년 내 읽기·쓰기보다 코딩이 중요해져”
지난 8일 사당동 신남성초교의 한 학생이 코딩 소프트웨어인 ‘라이트봇’의 명령어를 입력하고 있다. [조진형 기자]
점점 중요해지는 컴퓨터와 인간의 소통
하지만 어린 학생들에게 SW 교육이 필수적이라고 보는 이들은 앞으로 컴퓨터와 인간의 소통은 더욱 중요해질 것이라고 주장한다.
정지훈(45) 경희사이버대 모바일융합학과 교수는 “타자기를 다루는 것, 워드프로세서로 문서를 작성하는 것처럼 코딩하고 프로그램을 만드는 건 얼마 지나지 않아 사회를 살아가는 데 꼭 필요한 기술이 될 것”이라고 전망했다. 그는 코딩을 ‘컴퓨터와의 대화’라고 정의했다. “읽고 쓰는 걸 통해 사람과 사람이, 세대와 세대가 소통하는 것처럼 컴퓨터 언어를 활용해서 컴퓨터와 소통하고 원하는 대로 조작하는 게 꼭 필요한 세상이 될 것”이라고 말했다.
둔촌고 박철균 정보부장 교사는 “코딩은 하나의 놀이이자 문화”라고 했다. “코딩은 아이들이 자기 주도적으로 프로그램을 짜고 만들게 하는 것을 말한다”고 강조하는 그는 “논리와 사고력을 계발시키는 효과도 크다”고 말했다. 코딩 수업을 받은 둔촌고 1학년 이진형군은 “프로그램을 원하는 대로 움직이게 하려면 물체의 크기·움직임·위치·각도 등을 모두 고려해서 무엇을 어떻게 입력해야 하는지를 결정해야 한다. 이 과정에서 논리력과 창의력이 생기는 것 같다”고 말했다. 교육부에서 15년간 초중등 교육정보화 정책을 담당했던 둔촌고 정금배 교장은 “코딩 교육을 통해 문제해결 능력과 상상력을 키울 수 있다”고 강조했다.
SW 교육봉사단에서 활동하고 있는 이병모(51) 과천고 교사는 “앞으로는 직장에 들어가든 사업을 하든 자신이 아는 걸 디지털 콘텐트로 만들 줄 알아야 하는 시대가 될 것”이라고 전망했다. SW 교육봉사단은 2년 전부터 전국 초중고교에서 무료로 코딩 교육을 해온 컴퓨터 관련 대학교수와 교사들의 단체다.
하지만 한두 시간 배운다고 누구나 코딩을 할 수 있게 되는 건 아니다. 지난해 10월 비영리 온라인 커뮤니티인 ‘코딩클럽’을 만든 하은희 대표는 미국의 유명 파일 공유 서비스업체 ‘드롭박스’ 창업자의 말을 빌려 “코딩이란 악기를 연마하는 것과 같다”고 말했다. 악기 하나를 연마하는 데 오랜 시간이 걸리는 것처럼 소질도, 지도하는 교사도, 시간을 들여 노력하는 과정도 반드시 있어야 한다는 것이다.
지난달 세계 최대 네트워크 장비회사인 ‘시스코’는 2025년엔 ‘컴퓨터 프로그램을 짜는 코딩이 읽기와 쓰기 능력보다 더 중요하게 여겨질 것’이라고 밝혔다. 생전의 스티브 잡스는 “모든 국민이 코딩을 배워야 한다. 코딩은 생각하는 법을 가르쳐 준다”고 말했다. 영국은 5세부터 의무적으로 코딩을 배우고 고등학교 졸업 전까지 약 4개의 컴퓨터 언어를 배운다. 미국 오바마 대통령은 “비디오게임을 사는데 그치지 말고 직접 만들어보라”고 했고, 비영리단체 ‘코드닷오알지’는 2013년부터 일주일에 한 시간 코딩을 공부하자는 ‘아워오브코드’ 캠페인을 전개하고 있다.
2018학년도부터 초·중 코딩 교육 의무화
한국은 2018학년도부터 중학교 1학년은 주 1회 한 시간씩 총 34시간 정보 과목을 통해 SW 교육을 할 예정이다. 초등학교는 실과 시간을 이용해 SW 교육을 17시간 이상 이수해야 하고 고등학교는 선택과목이다. 현재는 교육청이 지정한 연구학교와 미래창조과학부가 지정한 선도학교를 통해 시범적으로 코딩과 SW 교육을 하고 있다.
이에 대한 의견은 엇갈린다. 입시 부담만 가중시킬 것이라는 우려부터 컴퓨터 교육을 수행할 만한 장비조차 없는 곳이 많아 SW 교육이 제대로 이뤄지기 어려울 것이라는 전망도 나온다. SW 교육을 담당할 교사도 부족한 상황이다. 교육부는 2018년부터 초중고 문이과 통합교육과정을 실시하기로 하고, 오는 9월 구체적인 SW 교육 방안을 발표할 예정이다.
김현철 고려대 사범대 컴퓨터교육과 교수는 “수학자가 되기 위해서만 수학을 배우는 게 아닌 것처럼 SW 개발자가 되기 위해서만 SW를 배우는 건 아니다”라며 “디지털 경제 시대에는 모든 사람이 SW를 다룰 수 있는 능력을 함양해 정보를 분석하고 활용하는 능력을 키워야 한다”고 주장했다.
박혜민·조진형·조한대 기자 park.hyemin@joongang.co.kr
어떤 코딩이 있을까
코딩은 C언어, 자바(JAVA), 스크래치 등 종류가 다양하다. 그렇지만 용도에 따라 쓰임새가 제각각 다르다. 텍스트를 직접 입력하는 ‘언어형 코딩’, 그래픽 아이콘을 입력하는 ‘블록형 코딩’으로 크게 나눌 수 있다. 학교나 현장에서 많이 활용되는 코딩에 대해 알아봤다.
1 스크래치 아이콘을 이용해 프로그램을 조작하는 대표적인 블록형 코딩이다. 2006년 미국 MIT 미디어랩에서 교육용 도구로 처음 개발했다. ‘앞으로 가기’ ‘방향 90도 틀기’ 등 명령어를 블록 형태로 입력해서 캐릭터를 움직일 수 있다. 쉽게 코딩의 원리를 배울 수 있어 국내외 초·중·고교에서 교육용으로 쓰인다. 스크래치와 연계된 소프트웨어로는 3D 환경을 개발하는 코듀(Kodu), 가상 로봇을 움직이는 라이트봇(Lightbot) 등이 있다.
2 아두이노 이탈리아의 인터랙티브 디자인 교육기관인 이브레아(Ivrea)가 2005년 개발했다. 언어·블록형 코딩이 모두 활용되고, 컴퓨터 공학을 비롯한 대학 강의에서 자주 쓰인다. 무인자동차, 스마트 온도조절계 제작 등 상업용으로도 쓰인다.
3 비트브릭 올 2월 한국의 스타트업인 헬로긱스가 개발한 블록형 코딩이다. ‘direction’(방향), ‘power’(강도), ‘degree’(각도) 등이 입력된 블록을 작업 창에 하나씩 끌어와 연결하는 식으로 캐릭터를 만들고 직접 움직여볼 수 있다. 아두이노보다 조작법이 간단해 대학생을 비롯한 코딩 입문자의 교육용으로 쓰인다.
4 앱 인벤터 2010년 12월 구글이 제작한 블록형 코딩이다. 명령어가 입력된 퍼즐 블록을 작업 창으로 끌어와 끼워 맞추는 식으로 안드로이드 체제의 애플리케이션을 만들 수 있다. 일반인도 쉽게 선물용 카드나 게임을 만들어볼 수 있다.
5 C언어 컴퓨터 운영체제와 프로그램을 구성하는 데 쓰이는 기초적인 언어 코딩이다. 1972년 미국의 AT&T 벨연구소가 초기 컴퓨터 운영 체제인 유닉스에 활용하기 위해 처음 만들었다. 도스·윈도 등 컴퓨터 운영체제 개발자들이 주로 사용한다. 윈도의 바탕화면·아이콘·폴더 등 기본·응용 프로그램이 모두 C언어로 만들어졌다.
6 자바 인터넷을 기반으로 한 언어 코딩이다. 1991년 미국의 IT 회사인 썬(Sun)이 C언어를 이용해 가전제품용 프로그램을 만들다가 “언어체계가 복잡하다”는 이유로 더 간편한 언어인 오크(Oak)를 직접 개발했다. 이후 썬이 시작한 인터넷 개발 사업에 오크가 쓰였고, 95년 ‘자바’로 이름이 바뀌었다. 엔지니어와 IT 개발자가 웹 개발에 주로 활용하는 자바는 웹페이지의 검색창·그림·단어 등을 구성하는 데 쓰인다.
정리=조진형 기자 enish@joongang.co.kr