바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

SW교육 첫째도 재미, 둘째 셋째도 재미다

SW교육 성공 키워드-3

2017-11-27전규현 이우소프트 대표

[전규현 이우소프트 대표]내년부터는 중·고등학생의 소프트웨어 교육이 의무화 되고, 2019년부터는 초등학교 5, 6학년으로 확대된다. 다가올 미래 산업 환경에는 소프트웨어 개발자가 매우 많이 필요하다. 

코딩에 초점을 맞춘 소프트웨어 교육은 컴퓨팅적 사고, 논리적인 사고를 강화할 수 있을 뿐만 아니라 문제해결 능력, 창의력, 협업 능력 강화 등 소프트웨어 외의 여러 분야에서도 매우 유용한 역량을 키울 수 있다.

이 때문에 미국, 일본, 유럽 등 여러나라에서도 학생들의 코딩교육에 많은 정성을 들이고 있다.

코딩교육을 통해서 얻을 수 있는 것은 많지만 그 중에서 가장 중요한 것은 컴퓨팅적 사고를 크게 향상할 수 있다는 것이다. 컴퓨팅적 사고는 문제해결을 위해서 문제를 분석하고 변수를 도출하고 알고리즘을 생성하는 일련의 방법을 말한다. 코딩교육의 모든 과정은 컴퓨팅적 사고 강화와 직결된다. 컴퓨팅적 사고는 소프트웨어 뿐만 아니라 의학, 경제, 공학, 금융 등 여러 분야에서도 매우 필요한 능력이다.

정원을 꾸미거나 이사를 하는 등 일상 생활에서도 컴퓨팅적 사고는 매우 유용하다.

20~30년 전에는 코딩교육이 따로 존재하지 않아서 우연히 코딩의 세계를 접하게 된 소수의 학생들 중 컴퓨팅적 사고력이 선천적으로 뛰어난 사람이 뛰어난 프로그래머로 발전하는 ‘발견’의 과정을 거쳤다.

하지만 모든 학생들이 코딩을 접하게 되면 이에 흥미를 느끼고 뛰어난 학생들이 많이 ‘발견’될 것이다. 이중에는 코딩 교육의 기회가 없었다면 의사나 공무원이 되었을 학생도 있을 것이다. 현재미국에서는 가장 우수한 학생들이 소프트웨어를 전공, 소프트웨어 개발자가 되는 경우가 흔하다. 한국은 소프트웨어 환경이 열악해 미국과 비교할 수는 없지만 우수한 학생들이 소프트웨어 업계로 많이 유입되는 것은 선순환의 시작이 될 것이다.

소프트웨어 경쟁력이 높아지고, 환경도 좋아져서 또다시 우수한 학생들이 모이는 선순환으로 이어질 수 있다.


코딩 교육은 이러한 ‘발견’ 외에도 컴퓨팅적 사고를 ‘강화’하는데도 많은 도움이 된다. 기존의 수학 교육을 통해서 배우는 것과는 비교도 안될 정도로 컴퓨팅적 사고 향상에 도움이 된다.

그 이유는 수학으로 배우는 것보다 코딩을 통해서 배우는 것이 훨씬 재미있기 때문이다.

코딩은 컴퓨팅적 사고를 필요로 하며, 이는 논리력에 기반한다. 수학에도 있는 개념이지만 코딩을 통해서는 자신의 손가락에서 창조되는 결과물을 직접 볼 수 있고, 결과도 상당히 재미있다.

작게는 그림을 움직일 수 있고, 게임을 만들 수도 있다. 크게는 장난감 자동차를 조정할 수도 있고, 자율 주행 드론을 만들어볼 수 도 있다.

혼자서도 할 수 있지만, 협업을 통해서 더 큰 결과를 맛볼 수도 있다.이렇듯 코딩 교육은 매우 필요하며 산업 전반에 큰 기여를 하게 될 것이다.

하지만 부작용도 우려된다. 코딩이 재미있는 이유는 손가락에서 로직이 구현되어 창조물이 탄생하기 때문이다. 재미를 느끼는 학생들은 그 재미를 늘리기 위해 스스로 책을 찾아보면서 공부를 해서 좀 더 복잡하고 큰 소프트웨어를 만들 것이다. 

즉, 이론보다 실기가 먼저라는 것이다. 피아노를 배우려는 학생에게는 피아노 이론보다 실기를 먼저 가르친다. 골프도 마찬가지다. 이론이 중요하지 않다는 것이 아니라 이론부터 가르치면 재미가 없어서 대부분은 포기할 것이기 때문이다.

하지만 코딩 교육이라고 해서 개발 언어 교육에 치중하거나 전산학 이론을 먼저 가르치려 든다면 기존의 암기식 입시 교육과 다를 바가 없다.

코딩 재미에 빠져 열정이 솟아 오르는 경우는 없어질 것이다. 코딩 교육이 점수로 학생들을 판가름하려 든다면  시험도 암기식이 될 우려가 있다.

코딩 교육은 실기 위주로 재미를 느끼게 해주는 것이면 충분하다. 여기서 재미를 느끼지 못한 학생들에게 한단계 더 높은 코딩교육을 하는 것은 적절하지 않다. 처음부터 재미가 없다면 적성이 맞지 않는 것이다. 

이런 코딩 교육에서 재미를 느끼고 더 많이 배우고 싶은 학생들에게는 한단계 더 어려운 것들을 가르치고 프로젝트를 수행하도록 하면 될 것이다. 실기에서 재미를 느낀 학생들에게 시기적절하게 제공되는 이론 교육은 매우 도움이 될 것이다. 따라서 매우 정교하게 설계된 커리큘럼이 필요하다. 이런준비가 충분히 되었는지도 걱정이다.

물론 나이에 따라서 재미를 느끼는 실기의 방법은 다를 것이다. 스크래치 등 시각적인 코딩 툴을 이용해서 간단한 소프트웨어를 만들어 보는 방법도 있고, 아두이노나 라즈베리파이를 이용해서 소프트웨어와 하드웨어를 같이 다뤄보는 것도 좋다. 또, 학생들이 협업을 해서 프로젝트를 진행한다면 코딩 외에도 협업을 통해서 더 많은 것을 배울 것이다.

학교에서는 학생들이 스스로 학습할 수 있고 프로젝트를 진행할 수 있도록, 이슈관리시스템, 빌드시스템, 소스코드관리시스템, 위키 등을 구축하고 학습 도구들을 제공하면 된다. 서로 비교를 위한 시험이나 평가보다는 소프트웨어를 만들어보는 프로젝트를 진행하는 것으로 충분하다고 본다.

그 과정에서 뛰어난 재능을 가진 학생을 ‘발견’하게 되고, 다른 분야에서 유용하게 쓰일 컴퓨팅적 사고 능력이 ‘강화’될 것이다.

둘 다 한국의 미래에 매우 중요하다. 코딩 교육이 암기식, 시험 위주로 변질되지 않도록 항상 조심해야 한다. 실전 위주의 재미있는 코딩 교육만이 코딩 교육이 성공하는 길이다.

코딩 교육이 시작된 후에 학생들에게 코딩이 재미있는지 물어보면 우리나라 코딩 교육이 성공할지 실패할지 알 수 있을 것이다.

[전규현 이우소프트 대표]

<본 기사는 테크M 제55호(2017년 11월) 기사입니다>

뉴스