본문 바로가기

블로그

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

CNS Tech

10년생이 코딩을? 초등학생 코딩 천재 만드는 법!

2021.01.13

벌써 2021년도 2주나 훌쩍 지났네요. 새해를 맞이해 세웠던 목표가 작심삼일로 끝난 분도 있으실 것 같고, 2주 동안 지치지 않고 계획한 대로 진행하고 계신 분도 있겠지요. 괜찮습니다. 일단 목표를 세웠다는 것이 중요하고, 지키지 못했다면 지금 다시 한번 현실적인 목표로 수정해보는 것도 좋겠지요. 최고의 변화는 아주 작은 습관들로 이루어지니까요.

지난 연재 글에서 미취학 우리 아이가 코딩 공부를 해야 하는 이유와 학습을 시작할 수 있는 사이트를 소개해 드렸는데요. 도움이 되셨는지 모르겠습니다.

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

제목처럼 지금 당장 코딩 천재가 될 수 있는 방법은 아닙니다. 꾸준히 학습하고, 재미를 붙여간다면 언젠간 코딩 천재 혹은 자신의 전문 분야에 소프트웨어를 접목시켜 남들보다 한걸음 앞서 나갈 수 있는 사람이 될 수 있을 것입니다.

이번에는 초등학생을 위한 몇 가지 정보를 드리려고 하는데요. 미취학과 마찬가지로 초등학생도 중요한 것은 흥미 유지입니다. 흥미를 유지하면서 이 시기에 경험해야 하는 것은 무언가를 ‘만드는 것’입니다. 만들기 위해서는 본인이 ‘만들고 싶은 것’이 있어야 합니다. 만드는 것? 그게 뭐 어렵나요? 요즘엔 만들기 키트도 많고, 유튜브에 가면 종이접기부터 온갖 만들기 영상이 가득한데요.

코딩지니어스라는 LG CNS의 S/W 교육 사회 공헌 프로그램이 있습니다. 중학교를 찾아가서 6교시 동안 무료로 S/W 교육을 진행합니다. 모듈 중 하나가 스마트폰의 앱을 만들어 보는 것입니다. 실제 앱은 아니고, 디자인 씽킹을 일부 적용해 모임원들끼리 상의해 우리에게 필요한 앱을 디자인 기획하고 디자인해보는 과정입니다.

이 활동의 시작이 ‘우리가 평소 생활 속에서 사용하면서 불편하게 생각했던 것 찾아보기’입니다. 그런데 이 시간이 되면 학생들이 멍~해집니다. 물론 수업에서는 예시도 들어주고 활동에 대해 자세히 설명도 해주는데 말이죠.

코딩지니어스 앱 만들기 수업 예시

생각해 보면 우리는 문제를 푸는 것에는 아주 잘 훈련이 되어 있습니다. 어려운 문제를 풀면서 성장감을 느끼기도 하지요. 우리의 일상도 문제를 해결해 나가는 과정의 연속입니다.

아침에 일어나 회사에 가야 하는데 평소보다 30분이나 늦게 일어났습니다. 30분의 시간 부족이라는 문제 상황을 발견하고, 해결할 방법을 떠올려보죠. 아침식사를 하지 않거나, 머리 감는 것을 오늘은 생략하거나, 돈을 좀 더 투자해 택시를 타고 출근할 수도 있겠죠. 이런 단순한 문제부터 굉장히 복잡한 문제까지 다양한 문제 상황(Problem)과 만나게 되고, 해결안(Solution)을 찾는 과정을 경험하게 되죠. 지식과 경험이 쌓이면 문제 해결은 점점 더 잘하게 되고요

하지만 문제를 발견하는 훈련은 얼마나 되어 있을까요?

앞서 말한 코딩지니어스의 ‘앱 만들기’ 모듈에서 학생들이 일상의 불편한 점을 생각해 내는 과정이 어렵게 느껴진 이유가, 바로 이런 문제를 발견하는 훈련을 받아본 적이 없기 때문입니다.

문제를 푸는 사람도 필요하지만, 문제를 찾아내고 정의하는 사람이 다가올 미래에서는 더 가치를 인정받게 될 것이고, 우리도 그런 사람이 되어야 합니다.

문제를 발견하는 것도 연습이 필요합니다. 늘 주변을 주의 깊게 관찰하고, 항상 의문을 가져야 합니다. “왜 저렇게 만들었을까?”, “다른 것과 공통점, 차별점은 무엇일까?”, “더 나은 방법은 없었을까?”와 같이 질문을 계속 던져봐야 합니다. 새로운 시각과 비판적인 시각으로 사물이나 현상을 바라보는 연습이 중요합니다.

초등학생이면 무언가를 ‘만드는 것’을 경험해야 한다고 말씀드렸는데, 이 만드는 것 앞에 ‘문제를 발견하고 그것을 해결하기 위해’가 숨어 있었습니다. 그것이 크고 대단할 필요는 당연히 없겠죠. 나의 일상을 관찰해보고 질문을 던져보는 것, 그리고 그것을 해결할 방법을 고민해 보는 것만으로도 굉장히 훌륭합니다.

‘만드는 것’을 위해 코딩을 배우는 것입니다. 코딩을 배우기 위해 무엇을 만드는 것이 아닙니다. 코딩은 학생들이 무언가를 만들기 위한 좋은 도구가 될 수 있을 것입니다. 컴퓨터만 있으면 나의 생각을 반영한 무언가를 만들어낼 수 있습니다. 수정이나 업데이트도 용이합니다. 그렇기 때문에 시행착오를 많이 해도 큰 타격이 없습니다. 금방 회복이 가능한 것이 또한 코딩의 장점이거든요.

고등학교에 다닐 때 왜 수학 시간에 미분과 적분을 배우는지 정말 궁금했거든요. ‘다른 과목은 그래도 알아두면 어딘가에 써먹거나 상식이 될 수 있을 것 같았는데, 미분, 적분을 잘해야 수학 성적이 잘 나오고, 그래야 좋은 대학에 진학할 가능성이 높아서’라는 이유 외에는 답을 찾지 못했는데요.

‘미적분이 자연 현상이나 사회 현상을 연구하는 학문에 활용도가 높아 우리 주변의 수많은 운동과 변화 현상의 특성을 수학적으로 분석하는 데 꼭 필요한 도구이고 그래서 관련 학문을 전공하려면 대학에 가서 미적분 지식이 꼭 필요하다.’ 또는 수학이라는 학문 자체가 끊임없는 문제 해결 과정을 통해 사고 패턴을 익히고 논리력을 향상시키는 훈련을 할 수 있어 응용력, 사고력, 문제 해결 능력을 키우기 위해 미적분을 포함하는 많은 수학 문제들을 풀어 우리의 능력을 향상시킬 수 있다.’라는 등의 설명을 들었으면, 무의미하게 느껴졌던 어려운 수학 문제들이 좀 다른 느낌으로 다가오진 않았을까요?

무작정하는 코딩 공부가 아니라, 내가 만들고 싶은 것, 내 생각을 표현할 수 있는 것, 나의 미래를 위해 훈련하기 위한 도구로써 코딩이 사용된다는 것을 알고 학생들이 재밌게 코딩을 배웠으면 좋겠습니다.

그럼 초등학생이 재밌게 만드는 경험이 가능한 Tool을 소개해 드리겠습니다. 지난 미취학 어린이를 위한 코딩 프로그램으로 소개해드린 ‘code.org’에도 초등학생에게 적당한 커리큘럼이 많이 있는데요. 이 프로그램으로 계속 학습을 진행해도 좋습니다.

오늘은 교육용으로 만들어진 EPL(Education Programming Language) 중 대표적인 언어인 스크래치(Scratch)에 대해 소개해 드리겠습니다.

● 스크래치 (https://scratch.mit.edu/)
스크래치는 MIT Media Lab에서 개발한 프로그래밍 언어로 대표적인 블록형 언어입니다. 스크래치는 중학교 정보 교과서에 실려 있기도 하고, 방과 후 프로그램 등을 통해 초등학생 중에도 이미 경험이 있는 친구들도 있을 겁니다.

8~16세를 대상으로 만들었으나, 사실 코딩을 처음 시작하는 성인들도 사용을 하고 있고, 미취학 아동을 위한 스크래치 주니어 프로그램도 있습니다.

스크래치는 온라인에서 바로 코딩이 가능하고, 오프라인 버전을 다운로드 받으면 인터넷 연결 없이도 개인 PC에서 이용이 가능합니다. 스크래치 사이트를 통해 전 세계 학생들이 만든 프로그램들을 확인할 수 있고, 자신의 작품도 공유가 가능합니다.

스크래치는 여러 가지 하드웨어와 연결해 더욱 풍부한 ‘만들기’가 가능합니다. 아두이노를 포함한 다양한 장치들을 통해 코딩한 내용을 실제 세계에서 확인할 수 있는 Physical Computing까지 가능한 것이 큰 장점인데요. 눈으로 보고 만지면서 구체적인 결과물을 낼 수 있다면 학생들이 더욱 흥미를 느낄 수 있겠죠?

한국어로도 이용이 가능한 무료 프로그램이고 스크래치로 코딩을 할 수 있으면, 비슷한 블록형 언어들도 쉽게 배울 수 있으니 많은 친구들이 도전해보면 좋겠습니다.

스크래치 프로그램도 튜토리얼을 제공하고 있긴 하지만, ‘code.org’처럼 단계별로 학습해 볼 수 있는 상세한 커리큘럼을 제공하지는 않습니다. 제가 생각하는 스크래치의 작은 단점이 여기에 있는데요. ‘code.org’의 경우에는 미취학인 저희 집 어린이도 제가 따로 알려주지 않아도 스스로 단계를 높여가며 진행이 가능했는데요.

스크래치의 경우에는 연산, 동작이나 소리는 당연하고 변수나 함수, 이벤트 AI(인공지능) 학습 결과도 적용 가능해 어떤 미션이 있을 때 그 미션을 해결하기 위한 다양한 문제 해결이 가능하지만, 처음 배우는 어린 학생들의 경우에는 학습을 지속할 만한 동기부여가 되지 않을 수도 있습니다. 즉 경험과 관심이 많은 친구들이 아니면 금방 흥미를 잃을 수 있다는 것이죠.

추천하는 학습 방법은 ‘code.org’같은 사이트를 통해 블록 코딩의 재미를 느껴보고 주어진 문제 해결이 지겨울 때쯤, 스크래치 사이트를 통해 다양한 문제 해결 미션을 경험해 보는 것입니다.

다양한 문제 해결 미션은, 사이트에서 제공하는 프로젝트에 참여해보거나, 관련 서적을 참고하거나(아주 많은 참고도서들이 있어요), 웹사이트나 유튜브 영상 등을 참고해도 좋습니다.

학생들의 관심사를 접목시켜 미션을 수행해 볼 수 있도록 부모님이 약간 개입해 주시면 더욱 좋겠죠. 애니메이션, 음악, 미술, 게임 등 관심사를 접목시켜 스크래치 코딩이 얼마든지 가능하기 때문입니다. 다시 한번 강조하지만 무엇보다 중요한 것은 흥미를 잃지 않는 것입니다.

스크래치에 대한 간단한 도입 학습 방법은 아래의 콘텐츠를 확인해 주세요.
https://blog.naver.com/codinggenius/221321654655

학생들이 코딩을 통해 많은 도전과 실패를 경험했으면 합니다. 작은 도전이 반복되고 많이 실패해보고, 그 실패의 과정에서 얻은 소중한 경험으로 성공할 때까지 다시 도전하는 것, 그것이 성공의 비결이니까요. 우리가 알고 있는 성공한 사람들이 실패라는 과정이 없었던 사람이 있을까요?

S/W는 실패를 고쳐 나가는 과정 자체가 굉장히 저비용입니다. 그것이 S/W의 장점이기도 합니다. 다시 알고리즘을 고쳐서 코드를 수정하면 됩니다. 어떤 물리적인 재료나 비용이 들지 않습니다. 나의 아이디어와 손가락 움직임만 있으면 에러 수정이 가능하니까요.

학생들이 실패를 두려워하지 않고, 실패를 통해 최상의 솔루션을 찾아가는 과정을 어릴 때 많이 경험하도록 도와주세요. 여러 가지 방법이 있지만 코딩도 그중 하나가 될 수 있다는 거 잊지 마세요.

공부해야 할 수많은 과목 중의 하나가 아니라, 나의 생각을 표현할 수 있는 도구이자 실패를 통해 배워갈 수 있는 도구로 학생들이 코딩을 잘 활용할 수 있기를 바랍니다. 다음 연재에서는 청소년들에게 도움이 되는 교육 프로그램을 소개하도록 하겠습니다.

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

챗봇과 대화를 할 수 있어요