본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

CNS Tech

엘사와 함께! 미취학 우리 아이 ‘코딩 천재’ 되다

2021.01.07

2021년 새해가 밝았습니다. 새해를 맞아 모두 올해의 다짐이나 목표를 한 가지 이상 세우셨을 것 같은데요. 그 어느 때보다 목표를 세우기가 어렵지 않으셨나요? 사람들과 만나서 함께 진행하거나, 해외를 방문해야 하는 일 등은 아직 선뜻 목표에 추가하기가 어렵네요.

2020년은 그 어느 해보다도 기억에 남는 해가 아니었을까 합니다. 연초부터 시작되어 아직도 진행 중인 코로나19로 우리의 일상이 바뀌고 일하는 방식도 변화가 되고 있죠. 그 이전에도 온라인 쇼핑이나 배달, 무인점포 등 비대면 산업, 문화는 확산되어 왔지만, 변화의 속도가 느렸던 교육과 같은 분야도 코로나19로 인해 빠르게 비대면으로 전환되고 있습니다.

비대면 일상이 보편화되면서 IT 기술은 더욱 주목받고 있는데요. 사회, 경제, 문화 모든 영역의 플랫폼이 무선 인터넷과 각종 IT 기기들의 연결로 이루어져 있어 현재의 비대면 일상이 어색하지 만은 않은 것 같습니다.

재택근무를 하면서 화상회의 툴을 이용해 의사소통을 하고, 협업 툴을 사용하여 업무를 진행하고 있습니다. 식사는 어떤가요? 온라인으로 주문하면 새벽에도 식재료들을 문 앞까지 배송해 줍니다. 음식 배달 앱을 이용해 맛집의 완성된 음식도 골라서 주문하여 받아볼 수 있고요. 이 모든 것이 가능한 이유, 가장 핵심적인 역할을 하는 것이 바로 소프트웨어입니다.

디지털 기반 사회에서 소프트웨어의 중요성은 점점 더 커져만 가고 있는데요. 이 시점에서 미래의 주역이 될 우리 아이들이 가져야 할 소양과 역량에 대해 다시 한번 생각해 보지 않을 수 없습니다.

청소년을 대상으로 하는 소프트웨어 교육과 관련된 일을 하다 보니 “코딩 언제부터 시작해야 하나요?”, “컴퓨터 학원에 보내 달라고 하는데, 어디로 보내면 될까요?”, ”코딩 정말 어릴 때부터 해야 하나요?” 등과 같은 질문을 많이 받게 됩니다. 그리고 소프트웨어와 관련되는 일을 하시는 분들조차 “어릴 때부터 코딩이라니.. 그냥 수학 공부나 열심히 해.”라고 대답하시는 것을 보곤 합니다.

초•중등 대상으로 소프트 교육이 의무화가 되었고, ‘S/W 특기자 전형(S/W 관련 자격증, 대회 등 경험에 초점을 맞춘 입시 전형)’으로 대학을 갈 수 있는 시대입니다. 우리나라는 코딩 교육에 대한 논의가 늦은 편이고 이미 선진국은 훨씬 일찍 그리고 더 많은 시간을 아이들의 코딩 교육에 할애하고 있습니다. 코딩 교육을 프로그래밍 언어 사용법을 익히는 교육이라든지, 개발자나 엔지니어를 양성하기 위한 교육으로 보는 것은 너무 단순한 생각일 수 있습니다.

코딩을 배워야 하는 이유는 많습니다. 하지만 오늘의 주제에 맞게 한 가지만 우선 강조하자면, “컴퓨터와 대화할 수 있는 언어”이기 때문입니다. 코딩을 배우는 이유는 외국어를 배우는 이유와 같습니다. 우리가 외국어를 배우는 이유는 영어 등 같은 언어를 통해 그 언어를 사용하는 사람들과 대화하고 그들의 사고방식을 이해하고 나의 네트워크를 확장하여 궁극적으로 나의 학습, 직업, 생활 영역을 확장할 수 있기 때문입니다.

코딩을 배우는 것도 같습니다. 컴퓨터는 순차적인 조건 판단을 통해 명령을 논리적으로 수행합니다. 컴퓨터처럼 논리적인 방식으로 문제에 접근하고 해결하는 사고방식을 컴퓨터적 사고(Computational Thinking: CT)라고 하는데, 우리가 컴퓨터처럼 생각할 수 있다면, 즉 컴퓨터적 사고가 가능하면 우리도 역시 컴퓨터처럼 정확하고 효율적인 방식으로 문제를 해결할 수 있게 됩니다.

컴퓨터가 일하는 방식을 이해하고 컴퓨터가 알아들을 수 있는 언어로 대화(코딩) 해 컴퓨터가 실제로 일을 하게 시킬 수 있는 것이죠. 따라서 코딩 교육은 “컴퓨터적 사고를 통해 문제를 해결하는 인재를 길러내는 교육” 인 것입니다. 언어의 종류는 중요하지 않아요. 언어는 대화하기 위한 하나의 수단일 뿐이니까요. 코딩이 컴퓨터 관련 업무를 하는 사람에게만 필요한 교육이 아니라는 거 이제 이해가 되시나요?

우리 모두는 컴퓨팅 사고력을 높이고, 컴퓨터가 일하는 방식을 알아야 미래의 학습, 직업, 생활 영역을 확장할 수 있게 될 것입니다.

왜 코딩을 배워야 하는가에 대한 이유는 차차 더 얘기해보도록 하고요. 그럼 본격적으로 새해를 맞이해 우리 아이에게도 코딩을 한번 경험 시켜 볼까요? 무엇보다도 중요한 것은 ‘직접’ 경험해 보는 것이니까요.

미취학 아이에게 가장 중요한 것은 재미있게 배우는 것입니다. 쓰고 보니 사실 이건 전 연령 공통적으로 적용되는 내용이기도 하네요. 하지만 미취학 아이들은 집중 가능 시간이 상대적으로 짧고, 목표에 대한 동기 부여를 하기가 쉽지가 않죠. 그래서 게임처럼 즐겁게 즐길 수 있도록 해주어야 합니다. 어린아이들도 게임은 좋아하죠? 왜 게임을 좋아할까요?

화려한 비주얼이나 호기심을 불러일으키는 사운드 등도 이유가 될 수 있겠지만, 가장 중요한 이유는 성취감이라고 생각합니다. 게임을 하면서 레벨을 높이거나, 나의 캐릭터가 성장하는 것 등을 보면서 뿌듯하고 자랑스러움을 느끼지 않나요? 아이들에게 작은 성취감을 계속 느끼게 해주고 자연스럽게 조금씩 발전하는 스스로의 모습을 확인할 수 있게 해주세요.

또한 설명이 필요 없을 정도로 직관적이어야 합니다. 과거에 프로그래밍 언어를 배우셨던 분이라면 기억을 한번 되돌려볼까요? ‘Java’라는 언어를 공부할 때 제1장에 어떤 내용이 나오나요? ‘Java’라는 언어가 나오게 된 배경에 대해 나오고, 다른 언어와 차이점을 설명하기도 하죠. 그리고 변수에 대해 설명합니다. 변수란 데이터를 담는 공간이며… 그 공간의 크기는 어떻고… 아이들에게 이런 설명을 할 수 있을까요?

프로그래밍 언어는 수단에 불과하다고 말씀드렸죠. 물론 해당 분야를 깊이 학습하려면 어느 단계에서는 위의 내용에 대한 학습이 반드시 필요하지만, 우리 아이들에게는 아직 필요하지 않는 내용인 것 같네요.

그래서 등장한 언어가 EPL입니다 ‘Education Programming Language’라고 하여 실제적인 문제를 해결하기 위해 만든 것이 아니라 교육용으로 만들어진 프로그래밍 언어입니다. 대표적으로 스크래치(Scratch)나 엔트리(Entry)와 같은 블록 기반 언어가 있습니다.

사실 어린이들을 위한 코딩 교육 언어는 그동안 굉장히 많이 개발되었고, 피지컬 한 작은 로봇 등과 연계한 프로그램도 많습니다. 오늘은 그중 무료로 배포되어 누구나 쉽게 접근 가능하고, 많은 어린이들이 이미 경험한 검증된 프로그램을 소개하려 합니다.

코드닷오알쥐(https://code.org/)

code.org는 2013년 만들어진 비영리단체이자 웹사이트로 미국의 학생들이 무료로 컴퓨터 과학 수업을 배울 수 있도록 장려하고 있습니다. 미국의 학생들을 대상으로 하지만 한국어를 포함해 50개 이상의 언어로 번역하여 제공하여 실제로는 전 세계 모든 사람들을 대상으로 한다고 볼 수 있죠. 최근에는 AI 관련 내용도 추가되는 등 꾸준히 업데이트되고 있고, 4세부터 배울 수 있는 콘텐츠들이 준비되어 있습니다.

특히나 code.org의 장점은 아이들이 좋아할 만한 익숙한 캐릭터들이 등장하는 것일 텐데요. 앵그리버드, 마인크래프트, 겨울왕국, 플랜츠앤좀비 등의 캐릭터들을 직접 움직여 미션을 완성하게 되죠. 본격적인 블록 코딩으로 들어가기 전, 흥미롭게 코딩을 시작할 수 있는 입문 과정으로 추천합니다. 블록형 언어는 직접 코드를 입력하진 않지만 블록을 드래그&드랍하는 단계는 있으므로, 마우스를 사용하는 것보다는 터치스크린이 되는 노트북을 사용하거나 패드를 사용하는 것을 추천합니다.

나이에 맞게 여러 가지 과정을 선택할 수 있는데요. 미취학 아동을 위한 가장 기초 단계인 과정 1로 들어가 보겠습니다.

가장 좋은 것은 부모님이 먼저 한 번씩 해당 레슨들을 쭉 해보시는 겁니다. 프로그램 자체가 직관적이긴 하지만, 아직은 도움이 필요한 어린아이들이니 한 번씩 힌트가 필요하기도 하거든요. 중간중간 ‘언플러그드 활동(Unplugged Activity)’이 포함되어 있는데, 언플러그드란 음악에서 전기를 사용하는 악기를 쓰지 않는 것처럼, 컴퓨터 없이도 컴퓨팅 사고를 향상시킬 수 있도록 고안해 놓은 활동을 뜻합니다. 직접 몸이나 종이, 블록 등을 활용해서 놀이의 형태로 여러 가지 알고리즘을 경험해 볼 수 있습니다.

이 과정에서 어린이들은 순차(Sequence), 디버깅(Debugging), 반복(Loops)에 대해 배우게 됩니다. 이름만 어렵지 실제로는 우리가 이미 알고 있는 개념이에요.

아래의 화면이 순차를 배우는 화면입니다. 주인공인 앵그리버드가 피그를 잡을 수 있도록 좌, 우, 위, 아래 경로를 직접 만들어 줍니다. 간단한 이동부터 장애물을 피하는 움직임까지 단계를 진행하면서 점점 복잡해집니다.

복잡하고 어려운 문제를 쉽고 작은 단위의 문제로 나누어 순서대로 물어 나가는 것이 컴퓨팅 사고력의 바탕인데, 여기에서 순차 개념은 가장 기초 개념입니다. 순서에 따라 차례차례 작업을 수행하는 것이죠. 순차적 사고는 보드게임과 같은 언플러그드 형태로도 충분히 경험이 가능합니다.

code.org의 순차 개념 학습

디버깅은 프로그램의 오류를 찾는 작업입니다. 왜 이름이 디버깅(Debugging)일까요? 예전의 컴퓨터는 지금과 다르게 크기가 어마어마하게 컸습니다. 컴퓨터에 문제가 있어 찾다 보니, 그 큰 컴퓨터 어디에 나방(Bug)이 들어가 있었다고 하네요. 그 나방을 없애서 문제를 해결한 후, 컴퓨터의 오류를 고치는 행동을 디버깅이라고 칭했다고 합니다. 디버깅의 과정이 문제의 원인과 해결책을 찾는 여정이라, 디버깅 자체도 굉장히 좋은 컴퓨팅 사고 학습 방법이 될 수 있습니다.

code.org의 디버깅 개념 학습

반복은 컴퓨터가 가장 잘하는 작업 중 하나입니다. 인간은 반복된 업무를 하다 보면 지루해 하기도 하고, 실수도 할 수 있지만 컴퓨터는 수백 번, 수천 번 똑같은 일을 해도 실수 없이 아주 잘 한답니다. 그렇기 때문에 컴퓨터가 잘 할 수 있는 반복적인 일들은 더욱 컴퓨터에게 맡겨야 하죠. 순차 학습에 익숙해진 어린이들이라면 반복 블록으로 코드가 줄어드는 경험을 통해 반복이 내가 하는 일들을 줄여주고, 문제 해결을 보다 쉽게 할 수 있다는 것을 자연스럽게 알게 됩니다.

code.org의 반복 개념 학습

앞서 말씀드린 것처럼 코딩을 배울 수 있는 도구는 굉장히 많습니다. 오늘 소개해드린 code.org는 “너무 많아서 뭐가 뭔지 모르겠다.”, “그냥 하나만 추천해봐라.”라고 말씀하시는 분들에게 추천드리는 대표적인 코딩 교육 프로그램입니다.

자녀들과 함께 시도해보면서 아이들이 재미있게 코딩을 시작할 수 있길 바랍니다. 조금이라도 지겨워 하거나 흥미를 잃는다면 억지로 시키진 말아주세요. 이 시기에 중요한 것은 ‘재미있게’ 배우는 것이니까요. 일찍 흥미를 잃어서 코딩은 재미없는 것이라고 생각하거나 숙제처럼 느끼지 않았으면 합니다. 코딩으로 할 수 있는 많은 것들 중 아주 조금만 시도해본 것이니까요.

코딩을 배우면 모든 것이 해결되는 것처럼 오해하거나 조급해 할 필요도 없습니다. 코딩은 우리 아이들이 가져야 할 여러 역량 중 몇 가지를 향상시키는 데 도움을 주는 ‘Tool’일 뿐이니까요. 다음 연재에서는 초등학생에게 도움이 되는 교육 프로그램을 소개하도록 하겠습니다.

글 l 양선영 책임
S/W 엔지니어 9년, S/W 교육 담당자 5년 등의 경험을 살려 청소년 대상 S/W 교육을 5년째 하고 있는 LG CNS 사회공헌 담당자로, 2021년 초등학교에 입학한 아이의 S/W 교육도 함께 고민하는 워킹맘이다.

챗봇과 대화를 할 수 있어요