닫기

소프트웨어 교육, 무엇이 해법인가?

  • 등록 2014.11.27 10:04:31
URL복사

소프트웨어 교육, 무엇이 해법인가?




필자는 그 동안 소프트웨어 교육을 많이 받았고, 실제 실무 현장에서 연구 및 개발도 해 보았지만 아쉬운 점들이 있었다. 이 글은 필자가 소프트웨어 분야에 종사하면서 분석, 조사, 경험했던 일을 바탕으로, 우리나라 소프트웨어 교육에 일익을 담당하고자 서술한 것이다. 초중고 학생들에게 적합한 내용이지만, 대학 및 일반인 대상의 소프트웨어 교육에도 적용할 수 있을 것이다.

소프트웨어 교육의 필요성

요즘 첨단 IT 제품이 활발히 개발되면서 소프트웨어의 중요성이 커지고 있다. 우리나라의 하드웨어 분야는 세계 최고 수준이지만, 소프트웨어 분야는 아직 풀어야 할 과제가 많다고 생각한다. 이에 따라 정부에서도 소프트웨어 교육의 필요성을 느껴 중학교 및 고등학교에서도 소프트웨어 교육을 강화시키려고 하고 있다. 교육 당국에서는 소프트웨어 교육에 대해 훌륭한 전문가들을 참여시켜 많은 논의를 거치고, 여러 가지 교육 방법들을 고려하여 거의 완벽한 지침이 확정된 후 일선 학교들에 교육시킬 에정이다. 이렇게 교육 당국이 상당한 노력을 기울이고 있음에도 불구하고, 일선 실무자로서 겪은 좋은 제안도 도움이 될 수 있다는 생각에, 필자가 평소 소프트웨어 교육에 대해 나름대로 느낀 점들을 몇 가지 제안해 본다.

외국의 현실

빌 게이츠 등 일부 천재들은 중·고등학교 때부터 소프트웨어를 개발하기 시작했다. 그리고 컴퓨터와 소프트웨어의 기본 원리를 깨우쳐서 도스, 윈도를 개발했다. 그 후 많은 프로그래머들이 구글의 스마트폰 운영체제 안드로이드, 기계 응용 프로그램, 전기전자 응용 프로그램, 각종 CAD 프로그램, 각종 통계 프로그램인 SAS, SPSS, 각종 분석 프로그램인 매트랩(Matlab), 랩뷰(Labview) 등 다수의 프로그램들을 창출했다. 그런데 여기서 필자가 의아하게 생각한 것은, 혁신적인 제품들 대부분이 미국에서 나온 것이라는 점이다. 그래서 미국만이 갖고 있는 소프트웨어 교육 노하우가 있는 것은 아닐까 라고 생각했다.
그 프로그래머들은 어떻게 그렇게 많은 프로그램을 창출할 수 있었을까? 필자는 다양한 조사 및 분석을 통해 그들이 소프트웨어와 컴퓨터의 기본 원리를 잘 파악하고 있다고 생각했다. 그래서 기본이 충실하게 갖춰졌기 때문에 좋은, 혁신적인 제품들을 만드는 것이 가능했다고 판단했다.

한국의 현실

국내 소프트웨어 교육의 현 주소를 나름대로 진단해 보았다. 우리나라의 경우 소프트웨어와 컴퓨터의 동작 원리에 대한 교육이 활발히 이루어지지는 않고 있으며, 코딩 위주의 교육이 주를 이루고 있는 것 같다. 필자도 그 동안 다양한 기관에서 소프트웨어 교육을 받았는데, 대부분 어떤 교재를 한 권 선택한 후, 그 교재를 풀어 나가는 형식으로 진행되었다. 그런데 우리나라 교재 대부분은 소프트웨어 동작 원리에 대해 다루지 않으며 언어(language)를 설명한 후 코딩해 나가도록 한다.
이렇게 소프트웨어의 구동 원리에 대한 설명은 등한시한 채 언어만 빨리 익히도록 한 결과, 소프트웨어에 대한 기초가 부족하여 좋은 응용 제품들이 나오기 힘들었던 것이 아닐까 생각되었다.

소프트웨어 교육 혁신 방법 제안

소프트웨어 교육 전문가는 교육 당국에도 많지만, 여기서는 다음과 같은 방법들을 제안해 보고 싶다.

1. 흥미
어린이들이 컴퓨터나 각종 첨단 IT 기기들을 익힐 때 일반적으로 가장 먼저 하는 것이 게임이다. 왜냐하면 재미있기 때문이다. 이렇듯 ‘재미’는 어떤 일을 할 때 상당히 중요한 동기가 된다. 마찬가지로 소프트웨어 학습 시에도 일단 소프트웨어에 ‘재미’ 라는 요소를 가미하면 학습 효과를 놓일 수 있을 것이다. 소프트웨어 과목을 일정에 맞춰 천편일률적으로 교육할 경우 지루한 과목이 되는 것은 당연하다. 이미 많은 교육자들이 재미라는 요소를 교육에 접목시키고 있지만, 그래도 소프트웨어 교육이기 때문에 한 번 더 언급하고 싶다. 일정보다 더 중요한 것은, 각 소프트웨어 단원마다 교육자들이 나름대로 여러 가지 요소들을 가미하여 ‘재미’라는 중요한 과제를 항상 염두에 두고 교육시켜야 한다는 것이다.
머리를 많이 쓰는 업무나 일은 대부분 ‘재미’가 떨어진다. 소프트웨어도 머리를 많이 써야 하므로 별로 재미있는 과목이 아니다. 그러나 소프트웨어에 재미를 붙이고 공부하는 학생들도 있다. 많은 학생들 중 일부라도 재미를 붙이고 노력하는 학생들이 있다면, 소프트웨어 교육의 효과는 분명 있다고 판단된다. 이렇게 전국적으로 우수한 학생들을 계속 배출하고, 이들이 향후 좋은 프로그램들을 많이 개발한다면 우리나라 소프트웨어 산업도 크게 발전할 수 있을 것이다.
그러므로 장차 한국 소프트웨어 산업을 짊어질 학생들에게, 소프트웨어는 ‘머리 아픈 과목’이라는 인식보다 ‘재미있고 장차 취업도 잘 되며, 돈벌이도 잘 되는 과목’이라는 인식을 심어 줄 필요가 있다고 생각한다.
또한 소프트웨어 과목에 대해 진도를 너무 빨리, 많이 나갈 필요는 없다. 한 단원을 나가더라도 학생들에게 재미와 원리를 일깨워 주면 학습 목표는 충분히 달성한 것이라고 생각한다.

2. 원리 파악

원리 파악은 필자가 여기서 가장 중요하게 제안하는 부분이다. 소프트웨어가 어떤 식으로 동작하며, 하드웨어와는 어떠한 관계에 있는지 그 원리를 이해시키는 교육이 필요한 것이다. 학생들에게 코딩만 가르칠 것이 아니라, 소프트웨어가 하드웨어를 구동시킬 수 있는 이유에 대해 기본적인 원리들을 가르쳐야 한다고 생각한다. 코딩은 사실 하드웨어의 전류를 세밀하게 지시하여 하드웨어를 올바르게 동작시키는 것이다. 외국의 소프트웨어 천재들은 하드웨어와 소프트웨어의 기본 동작 원리를 상세히 이해하고 있기 때문에, 지속적으로 발전적인 소프트웨어 응용 제품들을 개발할 수 있는 것이라고 생각한다.
현재 전문계 고등학생에게 적용되는 프로그래밍 교과서들을 몇 종류 살펴보았는데, 나름대로 훌륭한 면도 있었지만 재미나 원리 설명 부분에서는 좀 아쉬웠다. 그리고 교육 당국에서는 소프트웨어 교육 내용 중 앞으로 코딩에 50%, 사고력 증진 프로그램 등에 50%를 할당할 예정이라고 발표했다. 그렇다면 사고력 증진 프로그램에서 하드웨어와 소프트웨어의 원리 및 구현 방법에 대한 교육이 이루어지기를 바란다.
한편, 우리나라 소프트웨어 관련 업무 담당자 중 도스의 구동 원리, 윈도의 구동 원리를 제대로 알고 코딩하는 사람이 얼마나 될까? 현재 도스는 운영체제로 사용되지 않지만, 소프트웨어로 하드웨어를 동작시키는 가장 기본적인 기술이며 그 동작과 코딩 원리를 알고 있다면 다른 응용 프로그램이나 첨단 응용 기기를 개발하는 데 큰 힘이 될 것이다. 그러므로 소프트웨어 교재에도 도스의 구동 원리, 윈도의 구동 원리를 기술하고, 교육자는 이것을 토대로 학생들에게 설명하면 향후 교육 효과가 더 좋아질 것으로 기대된다.

3. 교육 시간

소프트웨어는 중고생들에게 별로 관심이 없는 과목이며, 대부분의 학생들은 입시에 절대적인 영향을 미치는 국어, 영어, 수학에 중점을 두고 있다. 가까운 미래에 교육 당국에서 소프트웨어 과목을 입시에 반영할 수도 있을 것이다. 그러나 현재 발표된 예상 소프트웨어 교육 시간 수는 국어, 영어, 수학 등에 비해 적게 편성되어 있다. 이 경우 소프트웨어 교육의 중요성이 떨어지며, 학생들에게 집중해야 하는 과목이라는 인식을 주기 힘들다. 교사 확보 문제 등 여러 가지 이유가 있겠지만, 정부가 소프트웨어의 절박한 필요성에 대해 인지하고 있는지 의심스러울 정도이다. 국가의 미래를 위해 소프트웨어 교육이 필요하다고 생각한다면, 소프트웨어 과목의 교육 시간부터 늘려야 한다고 생각한다.
2014년 9월 교육부에서 발표한 문·이과 통합형 교육 주요사항에 따르면, 교육부는 소프트웨어 교육을 강화하기 위해 2017년부터 초등학교 실과 과목을 소프트웨어 기초 소양에 대한 내용으로 개편한다고 한다. 또한 일선 학교에서 관련 수업을 17시간 이상 확보하도록 할 계획도 갖고 있다. 실과 과목이 편성된 5∼6학년의 경우, 한 학기 동안 소프트웨어 수업이 한 주에 한 시간 편성된다.
중학교에서는 현행 과학/기술·가정 교과군이 과학/기술·가정/정보 교과군으로 개편되고, 정보 과목이 필수 단독 과목으로 신설된다. 해당 교과군에 시수 34시간을 증배해 총 680시간이 배정된다. 늘어난 시수는 정보 과목에 할당되어 두 학기 동안 주당 한시간씩 소프트웨어를 학습한다는 것이다. 고등학교는 2018년부터 심화 선택인 정보 과목이 일반 선택으로 지정된다. 교육부에서 제시한 학교별 소프트웨어 교육 목표와 모형은 표 1과 같다.


표1. 학교별 소프트웨어 교육 모형 제시



교육부는 올해 9월부터 교과별 교육 과정 시안 개발 연구를 추진하고, 내년 9월까지 구체적인 시행 방안이 담긴 교육 과정 총론 및 각론을 고시할 예정이다. 그 밖에 추가적인 중요 사항은 다음과 같다.

1. 소프트웨어 교육 활성화를 위한 지원체제 구축 방안
(1) 소프트웨어 교육 운영 지침 개발 및 보급(2014년 하반기)
① 초등학교는 2015년부터 희망 학교에서 소프트웨어 교육을 실시할 수 있도록 적극 지원
② 중학교는 2015년 신입생부터 소프트웨어 교육을 필수로 이수하는 방안 적극 검토
③ 초·중학교 정규 교과 또는 창의적 체험 활동에서도 소프트웨어 교육이 활성화될 수 있도록 예산 및 프로그램 지원 방안 검토
(2) 학교급별로 소프트웨어 연구·시범 학교 지정 및 운영(2015년 3월부터, 미래부·교육부 공동 추진)
① 교육부 연구 학교(전국 초·중학교 68개교), 미래부 시범 학교(전국 130개교 이상)
(3) 소프트웨어 교육 전담 교원 연수(2014년 9월부터)

2. 소프트웨어 영재 교육 기관 신설 및 개편안
(1) 해커 대응 및 정보보안 우수 인재 양성을 위한 정보보호 영재교육원 신설(2014년 9월).정보보호 영재교육원은 정보보호 분야의 우수 인재를 조기에 발굴 및 육성하기 위해 전국 4개 권역의 대학 부설로 설치되며, 소수 정원(15명)으로 운영 및 추진(총360명)된다.
(2) 소프트웨어 영재교육 기회를 확대하기 위해 사이버 영재교육 프로그램을 개발 및 도입하고 시·도별로 소프트웨어 영재교육기관 개편(미래부·교육부 공동 추진)

3. 소프트웨어 마이스터고 신설 방안
(1) 대덕전자기계고를 소프트웨어 마이스터고로 개교 추진(2015년 3월)
① 소프트웨어개발과 2학급(40명), 임베디드 소프트웨어과 1학급(20명), 정보보안과 1학급(20명)
② 기반 조성비 50억원 지원, 학교 규모에 따라 매년 9∼10억원의 예산이 배정되며, 관계 부처 별도로 예산 지원(미래부, 대덕전자기계고에 2014∼2017년까지 매년 4억원 지원 계획)
(2) 전문 인력 양성을 위한 소프트웨어마이스터고 추가 지정(2017년, 3개교)
교육부의 소프트웨어 교육 활성화를 위한 지원체제 구축 방안은 긍정적인 부분이 많다. 그러나, 영재 학교나 소프트웨어 전문 학교가 아닌 일반 학교 학생들에게는 소프트웨어 교육이 주당 1시간 정도 실시되는데, 그 정도 시간으로 초·중·고 학생들에게 얼마나 많은 교육 효과를 거둘 수 있을지는 의문이다.
교육 당국에서는 일단 교육을 적용해 보고 장단점을 파악한 후 점차 소프트웨어 교육을 활발히 추진해 갈 것으로 예상되지만, 그래도 주당 1시간 교육은 효과를 거두는 데 미진한 시간이 아닌가 생각된다.

4. 응용 기술

학생들에게 여러 가지 재미있는 소프트웨어 응용 기술들을 소개해 주면 흥미를 유발하는 데 도움이 될 것이다. 즉, 여러 가지 방법을 동원하여 첨단 IT 기기에서 소프트웨어가 어떻게 작용하는지, 그리고 콘텐츠가 중시되는 요즘 소프트웨어와 콘텐츠가 어떤 관계를 갖고 있는지 등에 대해 교육해도 재미있을 것이다. 또한 소프트웨어로 성공한 사람들을 소개하는 것도 좋을 것이다. 한국에도 외국의 유명한 프로그래머와 결줄 만한 천재적인 프로그래머들이 있다. 컴퓨터 및 모바일 보안 소프트웨어 ‘V3’를 개발한 안철수, 외국의 막강한 도전을 물리치고 한국 워드의 자존심을 지키고 있는 ‘아래 한글’을 최초로 만든 이찬진 등이다.
그리고 응용 기술을 소개하면서 소프트웨어 코딩 실습도 병행할 필요가 있는데, 코딩 실습은 기본적인 것이지만 다른 부분 못지않게 중요한 과정이기 때문이다.

응용력은 기초에서 나온다


모든 지식이 그렇듯이, 어떤 이론에 대해 원리 및 동작 방법을 제대로 배워서 기초 실력을 충분히 확보해야 응용력을 증가시킬 수 있다. 향후 한국을 이끌어 갈 중요 기술인 소프트웨어 프로그래밍 실력도 높게만 쌓으려고 할 것이 아니라, 반석 위에 지은 집처럼 기초를 튼튼하게 한 후 한 단계씩 쌓아 나가야 할 것이다. 그리고 기초를 다질 때 소프트웨어와 하드웨어의 동작 원리, 소프트웨어가 어떻게 하드웨어를 동작시키며 그 관계는 어떻게 되는지 등을 충분히 이해해 두면 코딩 실력이 크게 발전하고, 응용력도 더 높아질 것이다.

앞으로 IT 응용 첨단 제품들은 더 많이 등장할 것이며, 제품 간 경쟁도 치열해 질 것이다. IT 응용 제품들을 더 똑똑하고 스마트하게 하는 데에는 하드웨어도 필요하지만, 소프트웨어가 많은 역할을 담당한다. 여기서는 이처럼 중요한 소프트웨어 기술을 더 잘 활용하기 위해 우리나라에서 시행되어야 할, 필자 나름의 교육 방안을 제시해 보았다. 만만치 않은 소프트웨어이지만 학생들에게 재미있다는 인식을 심어 주고, 기본 원리를 이해시킴으로써 우수한 프로그래머들이 많이 배출되었으면 한다.

 

윤덕하 객원전문기자 (아이에셋)

윤덕하 전문기자는 하드웨어와 소프트웨어 관련 업체인 아이에셋에서 근무하고 있으며, 전문대학 등서 IT 및 전기전자 분야 강의도 함께하고 있는 특허 부문 전문가이다.


 






주요파트너/추천기업