본문 바로가기

코딩교육

게임으로 배우는 알고리즘 - 라이트봇(lightbot)

최근에 소프트웨어 교육과 관련된 책을 읽느라 글을 올리지 못했습니다. 우리 아이들에게 왜 소프트웨어 교육을 시켜야 할까요? 아직도 이 질문에 시원하게 대답을 해 드릴 수 없어서 계속해서 내용을 정리하고 있습니다. 조만간 PPT 작성을 완료하고 재능 기부에 들어갈 예정입니다. 사천 지역에 아이들의 코딩 교육에 관심을 가진 학부형을 대상으로 설명회를 가질 예정입니다. 게임으로 배우는 알고리즘에 대한 설명에 앞서 코딩 교육의 필요성에 대해 생각할 수 있는 글을 먼저 소개합니다.


"한국 학생들은 하루 10시간 이상을 미래에 필요하지 않을 지식, 

존재하지도 않을 직업을 위해 허비하고 있다."

 - 미래학자 「제3의 물결」 저자, 앨빈 토플러


하고 싶은 얘기가 많으나 앞으로 온라인과 오프라인을 통해 만날 수 있을 것으로 생각하고, 오늘은 게임으로 배우는 알고리즘 라이트봇(lightbot)에 대해 소개를 드리고자 합니다. 알고리즘(Algorithm)은 어떤 문제를 해결하기 위한 절차나 방법을 말합니다. 요즘 아이들의 소프트웨어 교육은 처음부터 코딩을 배우는 것이 아니라 언플러그드 활동(컴퓨터 없이 이루어지는 놀이 중심의 소프트웨어 교육)을 통해  컴퓨터과학이나 프로그래밍 원리를 학습하고 순차, 반복, 조건 등의 처리를 위한 알고리즘을 코드닷오알지 또는 엔트리를 이용하여 학습합니다. 오늘은 라이트봇(lightbot)이라는 캐릭터를 이용하여 순차, 반복, 조건 등의 기본 알고리즘을 게임으로 배울 수 있는 앱을 소개합니다.



위 그림이 라이트봇의 실행 화면입니다. 왼쪽 그림에서와 같이 문제가 주어지고, 화면 아래에 있는 명령을 이용하여 오른쪽에 순차적으로 실행할 명령을 배치하여 문제를 해결하는 방식입니다.



라이트봇은 인터넷 접속 후 웹에서 실행이 가능하지만 Adobe Flash 기반으로 작동이 되기에 요즘 일부 웹브라우저에서 Adobe Flash를 지원하지 않기에 저는 아이패드에 앱을 설치해서 아이들에게 사용법을 가르치고 반응을 살폈습니다.



앱 스토어 또는 구글 플레이에서 'lightbot'으로 검색합니다. 유료 버전과 무료 버전이 있는데 아이들에게 무료 버전으로도 아이들에게 알고리즘을 개념을 가르치기에 충분합니다. 위 그림과 같이 'Lightbot : Code Hour'를 선택 후 설치합니다.




사용자 후기를 살펴볼까요? 전부 다 살펴볼 수 없지만 평점이 5점 만점에 4.4점이면 꽤 좋은 겁니다. 모두들 재미있다고 말하고 있습니다. 고민하지 말고 설치하세요.



앱을 설치 후 최초에 실행한 화면입니다. 별도로 사용자 정보를 입력하지 않고 바로 실행이 가능합니다.



위 그림에서 실행 버튼을 클릭하면 이용 방법을 설명해 줍니다. 어렵지 않습니다. 



무료 버전의 알고리즘 학습은 3단계로 되어 있습니다. 1단계는 8개 과제로 구성되어 있고, 아이들도 혼자서 해결할 수 있습니다.



2단계는 명령어를 놓을 수 있는 공간이 부족하기에 반복되는 규칙을 찾아 별도로 PROC를 구성하고 이를 이용하여 효율적으로 명령을 이용하는 방법을 배우게 됩니다.



3단계는 반복되는 규칙을 찾아 이를 PROC에 생성하여 문제를 해결하는 과정입니다. 3단계까지의 기본 과정을 통해서도 충분히 순차, 반복, 조건 등의 기본적인 알고리즘을 이해하기에 충분합니다. 무엇보다 게임으로 배우는 알고리즘이라 아이들이 흥미를 가지고 배웁니다. 



3단계를 모두 해결하면 위 그림과 같이 One Hour of Code 인증서를 받을 수 있습니다. 아이들의 이름으로 인증서를 발급하면 아이들이 좋아합니다. 참고로 Code.org에 접속하면 다양한 One Hour of Code 프로그램이 있습니다.



실행하면 위 그림과 같이 문제를 해결하는 방법을 설명합니다.



파란색 타일을 만나면 light 블록을 이용하여 불을 켜면 됩니다.



앞으로 전진하는 명령(블록)입니다.



파란색 타일에서 light 블록을 선택하면 불이 켜집니다.



명령(블록)을 다 맞추면 위 그림과 같이 Play 버튼을 클릭합니다.



다음 단계를 진입하면 방향 전환하는 명령(블록)이 나옵니다. 타일에 따라 왼쪽과 오른쪽 방향 전환을 할 수 있습니다.



다음은 jump up & down 명령입니다. 계단을 오를 때와 내려올 때 같은 블록을 이용합니다.



여기까지가 사용하는 블록의 전부입니다. 참고로 파란색 타일은 모두 불을 켜야 합니다. 이제 아이들과 함께 게임을 즐기면서 알고리즘을 학습해 보세요. 아이들이 좋아합니다. 궁금하실 것 같아서 우리 집 두 아이들이 라이트봇 게임을 이용하여 알고리즘을 학습하는 모습을 담은 동영상을 올립니다.