(ICT라이프)블록놀이로 거북선 움직이고 코딩 배우고

과기정통부·교육부 '온라인 코딩파티' 체험…블록으로 for·if문도 익혀

입력 : 2019-06-13 오전 6:00:00
[뉴스토마토 박현준 기자] 소프트웨어(SW)를 다룰 줄 아는 것은 4차 산업혁명 시대의 필수 능력으로 꼽힌다. 정보통신기술(ICT) 개발자 수준까지는 아니더라도 소프트웨어가 구동되는 원리를 이해만 할 수 있어도 각종 업무에 많은 도움이 된다. 코딩은 SW를 다루고 이해하는 첫 걸음이다. 코딩은 프로그램이나 시스템을 구축하기 위해 알맞은 소스코드를 입력하고 최적화하는 것을 말한다. 하지만 처음 접하면 딱딱하고 어려울 수 있다. 컴퓨터가 이해할 수 있는 또 하나의 언어를 배우는 일이기 때문이다. 이에 정부는 초중고 학생들이 쉽게 코딩 과정을 경험하고 SW 구동 원리를 이해할 수 있도록 다양한 콘텐츠를 개발하고 있다. 과학기술정보통신부와 교육부가 지난 10일부터 오는 23일까지 운영하는 '2019 온라인 코딩파티 시즌1'도 그의 일환이다. 
 
온라인 코딩파티의 '둘이서 코딩, 거북선과 척후선' 화면. 사진/SW중심사회포털 홈페이지 캡처
 
SW중심사회포털의 온라인 코딩파티 메뉴로 접속했다. 블록으로 코딩을 배울 수 있는 다양한 콘텐츠들 중 지난해 온라인 SW 교육 콘텐츠 아이디어 공모전에서 대상을 수상한 '둘이서 코딩, 거북선과 척후선!'을 선택했다. 이는 최현진(서울 창경초)·최현수(서울 백운초) 교사들이 개발한 교육 콘텐츠다. 임진왜란 해전을 배경으로 2명이 협력해 거북선과 척후선을 블록코딩으로 움직여 적을 무찌르는 내용이다.
 
거북선과 척후선 콘텐츠를 선택하니 화면 왼쪽 상단에 바다에 작은 거북선과 척후선 아이콘이 나타났다. 왼쪽 하단에는 '한산도 대첩(14일전)'이란 제목 아래 '거북선과 척후선이 각자의 깃발에 동시에 도착하도록 하라'라는 미션이 나와 있다. 화면 오른쪽에는 △앞으로 이동 △오른쪽으로 회전 △왼쪽으로 회전 △1턴 기다리기 △대포발사 등의 기능을 갖춘 블록과 이들을 조합할 수 있는 화면이 있다.
 
문제를 푸는 방법은 간단하다. 각각의 행동을 뜻하는 블록을 마우스로 오른쪽 화면으로 옮겨 차례대로 배열한 후 실행 버튼을 눌러 자신이 의도한 대로 거북선과 척후선 아이콘이 움직이는지 확인할 수 있다. 제출 버튼을 누르면 정답 여부를 알려준다. 정답일 경우 다음 단계로 넘어가는 방식이다. 단계를 거듭하며 거북선·척후선을 움직이다 보면 많은 칸을 이동해야 하는 경우가 생긴다. '앞으로 이동' 블록을 수차례 옮겨 쌓을 수밖에 없다. 블록이 늘어나 오류를 범할 수 있고 전체 흐름을 이해하기 어려워질 수 있다. 이 경우 '~까지 반복하기' 블록을 사용할 수 있다. 가령 장애물이 나올 때까지 전진을 반복해야 한다면 블록의 조건에 '장애물이 있는가' 블록을 넣고 '앞으로 이동' 블록을 추가한다. 이렇게 되면 앞에 장애물이 나올 때까지 거북선은 전진을 하게 된다. '앞으로 이동' 블록을 나열하는 것보다 블록 수를 줄일 수 있다. 이는 프로그래밍 언어의 기초 단계에서 배울 수 있는 for문을 블록을 통해 쉽게 익히도록 배치한 블록이다. for문은 주어진 조건을 충족하지 않을 때까지 특정 명령을 반복하는 기능을 한다.
 
'만약~이라면'이라고 적힌 블록도 있다. 이는 프로그래밍 언어의 if문을 블록으로 배울 수 있는 기능이다. 거북선이나 척후선을 움직이는 과정에서 만약 장애물이 나타날 경우 멈춰야 한다면 '장애물이 있는가' 블록과 '1턴 기다리기' 블록을 '만약~이라면' 블록에 포함하면 if문을 완성하는 셈이다.
 
거북선과 척후선 메뉴에서 각각의 블록을 쌓은 모습. 사진/SW중심사회포털 홈페이지 캡처
 
거북선과 척후선 콘텐츠는 15단계까지 이어지며 문제를 제시한다. 단계를 거듭할수록 다양한 이벤트 블록을 사용하며 쉽게 코딩을 이해하도록 유도한다. C나 자바를 배우기 위해 관련 툴을 설치하고 문자 코딩부터 배우는 것보다 학생들이 이해하기에 한결 쉽고 재미있다는 느낌이다. 문제를 풀며 단계를 넘어가면서 성취감도 얻을 수 있다. SW중심사회포털에 접속하면 거북선과 척후선 콘텐츠 외에 다양한 블록코딩도 접할 수 있다. 초중등 SW 교육이 의무화되면서 코딩 능력 향상에 대한 학생과 학부모들의 관심이 높아지고 있다. 블록코딩은 학생들이 쉽게 SW의 세계에 입문하도록 안내하는 역할을 할 것으로 보인다. 
 
박현준 기자 pama8@etomato.com
ⓒ 맛있는 뉴스토마토, 무단 전재 - 재배포 금지
박현준 기자