본문 바로가기

블로그

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

CNS Tech

블록 갖고 놀던 우리 아이, ‘코딩 천재’ 되다?

2021.01.27

컴퓨터 프로그래밍(코딩)은 더는 성인들만 배우는 어려운 과목이 아닙니다. 프로그래밍이 이미 초등학교에 정규 과목에 들어간 것을 보면 알 수 있겠죠. 이렇듯 코딩 교육이 널리 퍼질 수 있었던 이유는 새로운 교육 방법들이 뒷받침됐기 때문입니다.

특히 최근 몇 년간 어린이도 이해할 수 있는 코딩 교육 도구들이 많이 나오고 있는데요. 오늘은 유치원생, 초등학교 저학년 학생, 시각 장애 학생까지 이해할 수 있는 코딩 교육에 대해 이야기하고자 합니다. 피지컬 코딩(Physical Coding), 언플러그드 코딩(Unplugged Coding)이라고 불리는 교육 개념입니다. 이에 대해 알아보고자 합니다.

손으로 직접 만지며 배우는 코딩 교육

피지컬 코딩이란 눈에 보이는 결과물을 만드는데 집중한 코딩 교육입니다. 다른 말로 탠저블 프로그래밍(Tangible Programming)이라 부르기도 합니다. ‘눈에 보이는 코딩’이란 정확히 무엇을 말할까요?

보통 프로그래밍을 한다는 것은 소프트웨어 도구를 이용해 코드를 입력하고, 그 결과도 소프트웨어 형태로 나옵니다. 이에 반해 피지컬 코딩에선 결과물이 소프트웨어가 아닌 하드웨어 형태입니다. 소스 코드를 입력하는 과정에서도 하드웨어를 이용하곤 합니다.

구글이 만든 ‘블록(Bloks)’ 프로젝트는 피지컬 코딩이 무엇인지 잘 설명해 줍니다.

● 블록(Bloks): https://projectbloks.withgoogle.com/

블록은 성인 손바닥보다 조금 작은 여러 사각 부품을 제공합니다. 부품은 크게 브레인 보드(Brain Board), 퍽(Puck), 베이스 보드(Base Board)로 나뉩니다. 학습자는 이를 조립하면서 프로그래밍 개념을 배울 수 있습니다.

브레인 보드는 블루투스, 인터넷 연결 기능과 데이터를 주고받는 기능을 합니다. 그리고 퍽은 ‘옆으로 이동’, ’전원 종료’, ’다이얼 돌리기’ 같은 원하는 명령으로 자유롭게 입력할 수 있습니다. 원하는 개수만큼 만들 수 있으며 이를 기차처럼 연결하면 명령어가 순차대로 실행됩니다. 나머지 부품은 퍽 밑에 붙일 수 있고 퍽과 베이스 보드를 연결해 주는 역할을 합니다. 이렇게 만든 조립해서 만든 결과물로 스피커에서 음악을 틀거나 전등의 불을 켜거나 로봇을 움직일 수 있습니다.

구글 블록 예시 (출처: Google)

구글과 스탠퍼드 대학, 디자인 컨설팅 회사 아이데오(IDEO)가 공동으로 주도한 이 프로젝트는 아이들은 천성적으로 무엇인가 손으로 만들면서 친구들과 노는 것을 좋아한다는 점에 착안했습니다. 즉 친구들과 장난감을 갖고 노는 방식을 그대로 코딩 교육에 적용한 셈이죠. 또한 구글은 홍보영상을 통해 블록 같은 피지컬 코딩이 아직 읽고 쓰기를 배우지 못한 학생이나 난독증 등의 질환을 가진 친구에게 의미있는 메시지를 전하기도 했습니다. (https://ai.googleblog.com/2016/06/project-bloks-making-code-physical-for.html)

블록 연구사업은 2018년에 공식 종료했으나, 관련 자료는 외부에 공개하고 있습니다. 그리고 블록을 오픈 하드웨어 플랫폼으로 개방하기도 했습니다. 이를 통해 코딩 교육에 대한 진입 장벽을 낮춰 더 많은 사람이 코딩 교육 콘텐츠에 참여하기를 기대했습니다.

마이크로소프트(MS)는 시각 장애인 학생이 이용할 수 있는 피지컬 코딩 도구 ‘코드 점퍼(Code Jumper)’를 만들었습니다.

● 코드 점퍼(Code Jumper): https://codejumper.com/index.html

코드 점퍼는 여러 명령어나 콘텐츠를 입력할 수 있는 부품 세트인데요. 학생은 이를 연결해서 원하는 기능을 프로그래밍하고 실행할 수 있습니다. 특히 시각 장애인을 배려해 결과물에 청각 요소를 담을 수 있도록 신경 썼습니다.

예를 들어 각 부품에는 ‘반복하기’, ‘2배속으로 재생하기’, ‘높은 소리 내기’ 같은 기능이 있습니다. 부품들을 연결하면 멋진 음악을 만들 수 있죠. 부품 디자인은 시각 장애인이 만져서 그 기능을 파악할 수 있도록 각각 다른 모양과 높이로 구성했습니다.

동시에 하드웨어를 연결하면 자동으로 프로그래밍 소스 코드가 작성되는데요. 작성된 코드는 시각장애인들이 자주 이용하는 스크린 리더 프로그램(컴퓨터 화면에 쓰여 있는 글자를 읽어주는 프로그램)과 호환돼 소스 코드 결과물을 컴퓨터가 읽어줄 수 있도록 했습니다.

코드 점퍼 작동 예시(1분 43초 부터) (https://youtu.be/BUkGpl-r8mY)

MS는 코드 점퍼를 시각장애인만을 위한 교육 도구가 아니라 비장애인도 이용하기 좋게 구성했다고 설명합니다. (https://news.microsoft.com/innovation-stories/project-torino-code-jumper/)

이에 더해 간단한 조작 방법을 구현했습니다. 콘텐츠는 일반 및 특수 교사 모두 사전 지식 없이도 프로그래밍을 충분히 가르칠 수 있도록 구성했습니다. 현재 이 프로젝트는 미국 시각장애인을 위한 비영리단체인 APH(American Printing House for the Blind) 단체가 지원하고 있습니다. 또한 제품의 품질 수준을 높여서 상용화(https://www.aph.org/product/code-jumper/)에도 성공했습니다.

코드 점퍼 기술을 사용하고 있는 시각장애 학생. MS는 코드 점퍼를 연구하기 위해 시각 장애 학생들이 다니는 특수학교 NCW(New College Worcester)와 협력해 제품을 완성했다.
(출처: https://news.microsoft.com/innovation-stories/project-torino-code-jumper/)

구글과 MS 외에도 레고, 리틀비츠, 카노와 같은 기업들도 하드웨어 중심 피지컬 도구들을 내놓고 있습니다.

●레고: https://education.lego.com/en-us/products/lego-education-wedo-2-0-core-set/45300#confidence
● 리틀비츠: https://sphero.com/products/code-kit
● 카노: https://kano.me/row

사실 피지컬 코딩 교육은 프로그래머를 육성하기 위해 만든 도구라고 보기 어렵습니다. 가령 코드 점퍼를 완전히 익혔다고 해서 당장 프로그래머가 되지 못합니다.

그 대신 프로그래밍 원리를 알려주고 흥미를 유발하는 데 좋은 역할을 해줍니다. 아이들이 성인이 돼서 어떤 직업을 가지게 될지는 모르겠지만 프로그래밍을 다루는 기본 소양과 기초 지식을 가질 수 있도록 도와줍니다. 이와 동시에 피지컬 코딩 교육은 팀 활동에 적합한데요. 교육 현장에서 아이들의 협동심을 키우는데 활용되기도 합니다.

컴퓨터 없이 코딩을 배운다, ‘언플러그드 코딩’

언플러그드 코딩은 컴퓨터 없이 코딩을 배울 수 있는 교육 활동을 의미합니다. 놀이처럼 접근할 수 있어 어린이 코딩 교육에 자주 활용됩니다. 지금까지 나온 언플러그드 교육 내용은 음악, 체육, 미술, 수학 등 다양한 과목과 융합된 것이 많습니다.

언플러그드 교육 자료는 주로 교사 단체나 교육 기관에서 개발했습니다. 미국의 비영리재단인 코드닷오알지(Code.org)가 대표적입니다.

● 코드닷오알지: https://code.org/

예를 들자면 이들이 제공하는 자료에 루프(Loop, 반복문)이란 개념을 알려주는 단원이 있습니다. 이 수업에선 아이들이게 특정 춤 동작을 따라 하게 유도하는데 한 동작을 반복하라고 알려줍니다.

유인물에는 따라서 할 동작이 하나씩 그려져 있는데요. 이 부분에서 교사는 똑같이 반복하는 동작을 루프라는 개념을 연결해 알려주게 됩니다. 아이들은 어쩌면 루프라는 개념에 관심 갖기보다는 그저 특정 춤 동작을 따라 하는데 재미를 더 느낄 수 있습니다.

사실 이런 이유로 바로 언플러그드 교육 활동이 주목받고 있습니다. 딱딱한 이론이 아니라 몸으로 체험하면서 재밌고 자연스럽게 프로그래밍 개념을 배울 수 있기 때문입니다. 그래서 유치원에서도 언플러그드 교육 방식이 종종 활용됩니다.

코드닷오알지의 반복문 교육 유인물
(출처: https://curriculum.code.org/csf-20/courseb/6/)

● 코드닷오알지 언플러그드 교육 자료: https://code.org/curriculum/unplugged

뉴질랜드 캔터베리 국립대학과 구글 MS가 공동으로 운영하는 ‘CS 언플러그드’에서도 다양한 언플러그드 교육 자료를 볼 수 있습니다. 이 자료에 소개된 ‘정렬 네트워크’ 단원은 서로 다른 데이터가 네트워크를 거쳐 어떻게 알맞게 분류되는지 알려줍니다. 예를 들어 서로 다른 위치에 있는 숫자나 알파벳이 알고리즘을 거쳐 크기순으로 정렬되게 되는데요. 이를 체육활동과 결합해서 가르치고 있습니다.

정렬 네트워크 교육 과정 예시
(출처: https://csunplugged.org/en/topics/sorting-networks/unit-plan/reinforcing-numeracy-through-a-sorting-network-junior/ )

● CS 언플러그드 자료: https://csunplugged.org/en/
● CS언플러그드 한국어 번역: http://computing.or.kr/pds/CSUnpluggedv3.1KoreanVersion.pdf

이런 언플러그드 교육은 별다른 준비물 필요 없이 프로그래밍 교육을 할 수 있다는 점에서 예산이 적은 학교도 충분히 활용할 수 있습니다. 특히 컴퓨터, 태블릿 및 특정 앱의 조작 과정을 어려워하는 유치원생 등 나이 어린 학생은 컴퓨터 없이 수업하는 방식이 훨씬 효율적일 수 있습니다. 요즘은 우리나라도 언플러그드 교육에 대한 관심도 늘어나 정부 교육 기관이나 교대 등에서 관련 자료를 발행하고 있습니다.

최근 IT 기업들을 그 어느 때보다 다양성과 포용성이라는 가치를 강조하고 있습니다. 그러다 보니 채용 및 기업 문화에 변화를 주고 더 다양한 구성원을 IT 업계에 유입하기 위해 부단히 노력하고 있죠. 피지컬 코딩이나 언플러그드 교육에 IT 기업이 직접 나서는 것도 그러한 노력의 일환으로 볼 수 있습니다.

즉 미래 세대에 대한 투자인 셈이죠. 특히 기존 교육 업계에서 다소 소외됐던 집단을 잘 살펴서 지원한 MS의 코드 점퍼 같은 프로젝트는 그 의미가 큽니다. 우리나라도 여러 IT 전문가가 힘을 빌려 다양성을 고려한 교육 환경이 구현되길 기대합니다.

글 l 이지현 l 테크저널리스트 (j.lee.reporter@gmail.com)

챗봇과 대화를 할 수 있어요