본문 바로가기

코딩교육

코딩, '컴퓨터와 대화하는 방법'에 대해 생각하다

저자와 비슷한 생각을 가지고 있습니다. 사람들은 자신과 비슷한 사람에게 끌리는 뭔가가 있나 봅니다. 저자의 글을 읽고 생각을 정리해서 올려야겠다고 생각했습니다. 저는 초등학교 5·6학년 아이들 두고 있는 학부형입니다. 올해부터 초등학교 5·6학년을 대상으로 소프트웨어 교육이 정규 교과에 반영됩니다. 부모의 입장에서 아이들의 소프트웨어 교육에 관심을 가졌습니다. 깊이 있게 내용을 파고들면서 아이들의 미래를 위해 소프트웨어 교육의 중요성을 인식하였고, 더불어 공교육 제도권에서 소프트웨어 교육을 위한 준비가 부족하다는 것도 알게 되었습니다. 직접 부족한 부분을 채워 보자고 생각을 했습니다. 더 늦기 전에 하나씩 확인을 하면서 챙기고 있습니다. 처음에는 프랜차이즈 코딩 교육 학원을 생각하고 접근을 했습니다. 문제는 프랜차이즈 학원의 대부분이 교구 판매를 통한 수익 창출이 목적이라는 것입니다. 대부분의 프랜차이즈는 비슷한 형태로 운영되고 있음을 알았습니다. 교구를 사용하면 아이들이 흥미를 가지고 접근할 수 있습니다. 그러나 무작정 절차를 외워 따라 하는 교육을 통해 아이들이 얻을 수 있는 것이 무엇일까요? '교육비 + 교구비'로 학부모의 경제적 부담만 가중됩니다. 이런 걱정 때문에 저자는 직접 9살짜리 아이를 위한 커리큘럼을 준비하고 있다고 합니다.


저도 아이들을 위한 코딩 교육 커리큘럼을 준비하고 있습니다 . 먼저는 코딩 교육의 목적과 과정에 대해 살펴보았고, 출간된 책을 통해서 언플러그드, 알고리즘, 스크래치, 엔트리, 파이썬 등을 학습 중에 있습니다. 코딩 교육에 대해 언론과 학부모의 관심이 쏠리다 보니 다양한 교재와 교구가 나오고 있습니다. 너무 많은 정보가 코딩에 대해 잘 모르는 학부형에게는 오히려 부담이 되고 있습니다. 오래전 개발자의 길을 걸었고, 대학에서 관련 분야의 강의를 했던 저도 너무 많은 정보에 혼란스럽습니다. 이럴 때는 하나를 콕 집어서 하나라도 제대로 할 수 있어야 합니다. 그리고 나머지는 좋은 것들을 골라서 활용하면 됩니다. 저는 코드닷 오알지(cord.org), 라이트 봇, 스크래치를 먼저 시작을 했습니다. 그리고 마지막에 엔트리를 생각하고 있습니다. 저의 선택은 최종 엔트리 과정까지 살펴봐야 알 것 같습니다. 저자는 국내에서 개발된 엔트리 만으로도 아이들의 코딩 교육을 진행하기에 충분하다고 말하고 있습니다. 제가 엔트리를 마지막 카드로 남긴 것도 같은 맥락입니다.



저자는 기업에서 IT 디바이스 소프트웨어 개발자로 일하고 있습니다. 대학에서 전자공학을 전공하고 20년 가까이 리눅스 개발자로 지내다가 뜻밖의 계기로 육아휴직을 냈습니다. 지난해 한층 강화된 '아빠의 달' 제도의 수혜자로, 9살 아이와 스킨십을 늘리며 복지 확대의 긍정적인 면을 몸소 깨닫고 있습니다. 또한 『동아사이언스』를 통해 「개발자 아빠의 교육실험」이란 칼럼을 통해 코딩 교육과 관련된 글을 연재하고 있습니다. 이 글은 저자의 3 번째 글로 '컴퓨터와 대화하는 법'을 읽고 생각을 정리하였습니다. 기사는 동아사이언스 2019년 2월 11일 자 기사이며, 원문은 이곳을 클릭하면 읽을 수 있습니다.


3줄 요약 


☞ 코딩은 컴퓨터와 대화하는 방법이다. 즉, '하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술'이다.

☞ 코딩 교육 소프트웨어 엔트리는 프로그래밍 언어와 구현, 개발 환경을 모두 포함하고 있어 코딩 교육을 하는데 엔트리 만으로도 충분하다.
☞ 기존의 코딩 교육 프로그램은 다수가 천편일률적인 저가 키트와 체험 교육으로 되어 있다. 무작정 절차를 외워 따라 하는 것으로는 코딩 교육의 원래 목적을 만족시킬 수 없다.


개인적으로 저자의 글에서 가장 마음에 들었던 부분은 코딩 교육을 통해 큰 비용을 들이지 않고 '실패의 경험'을 배운다는 것입니다. 생각하면 할수록 이 문구가 머리에서 계속해서 맴돕니다. 얼마 전 보았던 JTBC 드라마 「SKY 캐슬」도 생각납니다. 드라마는 아이들에게 성공만을 가르치는 부모의 모습을 보여줍니다. 대한민국 대다수 부모의 모습입니다. 그렇게 부모의 그늘 아래서 성공만 경험하고 자랐던 아이들이 사회에 첫 발을 내딛고 난 후 실패를 경험하게 됩니다. 이후의 상황은 그림으로 그려지죠? 실패를 경험하지 못했던 아이들은 대부분 이 과정에서 무너지게 됩니다. 코딩 교육은 문제를 분해하고, 추상화하고, 패턴을 분석 후 자신의 논리적 사고로 정리된 알고리즘으로 순차, 조건, 분기, 반복의 처리를 통해 프로그래밍을 작성하게 됩니다. 한 번에 문제가 해결될 것 같은데, 컴파일 과정에서 버그를 만나게 됩니다. 완벽할 것 같았고, 자신은 완벽한 줄 알았는데 실패를 기다리고 있죠. 이렇게 만나는 실패는 자신을 자극하게 됩니다. 다시 처음부터 문제를 분석하기 시작하면서 원인을 제거하고 결국 문제를 해결하죠. 이런 경험을 통해 아이들은 단순히 코딩을 배우는 것이 아니라 세상을 살아가는 요령을 배우게 됩니다. 그렇기에 단순히 교구나 책에서 따라하는 교육이 아닌 문제를 해결해 나가는 방법과 다른 친구들과 문제를 공유하고 토론하는 과정의 교육이 필요하다는 것입니다. 그것이 코딩 교육의 진정한 목적이 되어야 합니다.