프로그래밍 교육에 대한 단상
프로그래밍 교육에 대한 단상
  • .
  • 승인 2016.11.09 20:14
  • 댓글 0
이 기사를 공유합니다

바야흐로 ‘소프트웨어 시대’가 도래했다. 국내외에서 우수한 소프트웨어 엔지니어를 구하려고 난리다. 국내 대학을 졸업하고 외국의 유명 소프트웨어 회사에 바로 취업하는 경우도 이제는 흔하다. 국내 대기업도 몇몇 회사를 제외하고 훌륭한 소프트웨어 인력을 찾지 못해 아우성이다. 수요에 비해 공급이 모자라서 발생하는 현상이다. PC, 노트북, 태블릿, 스마트폰, 스마트와치 등 우리가 아는 ‘컴퓨터’ 외에도 모든 장치에 컴퓨터가 들어가는 시대에서 이러한 현상은 당연하다.
소프트웨어 시대에 대한 우리나라의 대처는 그간 어땠을까? 우리대학에서 필자는 CS101이라는 신입생들이 가장 싫어하는 과목 중의 하나인 프로그래밍 입문 과목을 한동안 가르쳤다. 지금도 ‘객체지향 프로그래밍’이라는 여러 학과 학생들이 많이 수강하는 과목을 가르친다. 다른 학교 교수들과 학부 프로그래밍 교육에 대한 이야기를 나누기도 한다. 문제는 필자가 대학생이던 25년 전과 비교해서 상황이 달라진 것이 거의 없다는 점이다. 그 사이에 컴퓨터 환경은 상전벽해(桑田碧海)를 이루었음에도 불구하고 말이다. 참고로 필자가 대학을 다니던 시절에는 심지어 인터넷도 없었다.
우리 포항공대 학생은 일반적으로 똑똑하다. 하지만 기초 프로그래밍 과목을 어려워하는 학생이 상당히 많다. 게임 잘하고, 인터넷은 잘 쓰는데 정작 그런 프로그램을 만드는 기초를 가르치면 속된 말로 나가떨어지는 학생들이 1/4은 되는 것 같다. 프로그래밍을 잘하기 위해서는 “어떤 형태의 논리적인 사고” (사람들이 나름대로 이름을 붙이지만, 하지만 정확히 어떤 것인지는 누구도 모른다)가 필요한데, 여기에 익숙해지는 것을 어려워하는 학생들이 많다. 내용이 어려운 것이 아니다. 같은 내용을 초등학생에게 가르쳐도 잘 따라온다.
근래 외국에서는 초등학교부터 프로그래밍을 정규 교과목으로 가르친다. 필자가 프로그래밍을 익히고 가르친 경험에 의하면 아주 바람직한 방향이라고 생각한다. 아이 때 뇌가 열려 있어 새로운 사고방식을 받아들이고 자기 것으로 쉽게 만들 수 있는 시기에 프로그래밍을 배우면 거부감 없이 빨리 배운다. 성인이 되어 고급 프로그래밍을 할 때도 적응력과 학습 속도가 빠르다. 초등학교부터 대학교까지 프로그래밍에 대한 교육과정이 잘 정립되면 지금 초등학생이 사회에 진출하기 시작하는 약 15-20년 후에는 우리나라 소프트웨어 인력의 질이 몇 단계 향상될 것으로 예상한다. 지금처럼 대학 입학 후에 관련 과목 몇 개 간신히 듣고 회사 가서 단순한 프로그램만 만드는 수준의 인력만 배출해서는 소프트웨어 초강국인 미국을 절대 못 따라간다고 장담할 수 있다. 기본적으로 소프트웨어는 1등 회사만 살아 남는 시장이다.
불행하게도 우리나라는 모든 교육이 대학입시에 목을 매고 있기 때문에 위와 같은 이상적 소프트웨어 교육은 어림도 없다. 초등학교에서는 그나마 방과 후 활동 정도로 지원자에게만 스크래치 등의 간단한 언어를 실습해 보는 정도가 시작됐다. 사실 가르칠 교사도 없다. 유일한 방법은 사교육에 의존하는 건데, 여기도 스펙을 위한 정보 올림피아드 대비 학원이 대다수다. 학원이든  대학이든 학생이 재미로 프로그래밍을 배우고 스스로 프로그램을 만들어 보는 교육을 하는 기관은 찾을 수가 없다. 창의성이란 자발성에서 기인하는 바가 큰 데도 말이다.
우리학교도 예외가 아니다. 우리학교에서 전체 학생을 위해 제공하는 소프트웨어 교육 커리큘럼은 20년간 거의 변한 것이 없는 것 같다. 좀 개편하려고 하면 의외로 타 학과에서 자기 학과의 커리큘럼에 영향을 미칠 수 있다고 우려를 표한다. 관련 산업계의 수요는 몇 배로 커졌음에도 불구하고 30년 전 개교 당시에 정한 컴퓨터공학과 학부생 정원도 그대로다. 소속 교원으로서 매우 부끄럽지만 솔직히 지극히 우려되는 상황이다. 우리학교는 개교 때 정한 소수의 정원을 그대로 유지한다고 자랑하지만, 이는 다르게 보면 사회 상황에 따른 변화가 반영되지 않은 정체된 상태라는 것을 의미할 수도 있다.
현실적으로 우리학교에서 모든 재학생의 소프트웨어 실력을 현 시대에 맞게 향상시키기 위해 가장 좋은 방법은 전체 학생을 위한 소프트웨어 커리큘럼을 재정비하고 훌륭한 교육 담당 교수를 적극적으로 활용하는 것이다. 관련 소프트웨어가 워낙 빨리 변하기 때문에 연구, 대학원생 지도, 행정 일에 쫓기는 나이 많은 전임 교수만으로는 어림도 없다. 교육에만 집중할 수 있는 교수가 필요하며 이를 위한 재원의 투입이 필요하다. 이를 위해서는 컴퓨팅이라는 것이 수학과 같이 모든 이공계 학문의 기반이 되는 시기가 이미 도래했다는 것을 인식하는 사고의 전환이 선행되어야 할 것이다.