아이들을 위한 코딩 활동 가운데 많은 것은 단계를 나열하는 일입니다. 앞으로, 앞으로, 왼쪽으로 돌기. 하지만 진짜 로봇은 다르게 움직일 때가 많습니다. 청소 로봇은 거실의 구조를 미리 알지 못합니다. "무언가에 부딪히면 방향을 돌려라" 같은 규칙을 따라 움직입니다. 사람 로봇 놀이를 하면 종이와 연필, 쿠션 몇 개만으로 아이가 이 두 번째 방식의 프로그래밍을 해 볼 수 있습니다.
한 사람이 로봇이 됩니다. 나머지는 모두 로봇의 규칙을 씁니다. 로봇은 규칙에 적힌 대로, 더도 덜도 없이 움직이고, 재미는 거기서 시작됩니다.
놀이 방법
- 로봇은 방 안을 천천히 걸어 다니며 종이에 적힌 규칙대로만 행동합니다. 짐작하지 않고, 도와주지도 않습니다.
- 프로그래머(아이, 또는 온 가족)는 로봇이 움직이기 전에 규칙을 씁니다. 로봇이 움직이기 시작하면 지켜볼 수만 있습니다.
- 규칙은 모두 같은 모양입니다. "~일 때, ~한다." 예를 들면 "앞에 벽이 있을 때, 오른쪽으로 돈다."
처음 로봇은 어른이 하면 좋습니다. 아이들은 어른에게 지시하는 것을 아주 좋아하니까요. 나중에는 역할을 바꾸어, 규칙을 글자 그대로 따르는 느낌이 어떤지 아이도 느껴 보게 해 주세요.
방 꾸미기
- 벽: 쿠션, 베개, 접은 담요를 바닥에 한 줄로 늘어놓습니다. 의자와 소파도 벽으로 칩니다.
- 규칙 종이: 한 장에 규칙을 한 줄에 하나씩 적습니다. 아직 글을 읽지 못하는 아이는 그림으로 그리면 됩니다. 쿠션을 그리고, 오른쪽으로 휘는 화살표를 그리는 식으로요.
- 안전: 로봇은 천천히 걷고, 뛰지 않으며, 계단이나 뾰족한 모서리 근처에는 가지 않습니다.
"로봇, 출발!" 하고 말하면 로봇은 다른 규칙이 맞을 때까지 한 걸음씩 앞으로 나아갑니다.
처음 해 볼 규칙
규칙 한두 개로 시작하고, 모두가 방법을 익히면 하나씩 늘려 가세요.
| ~일 때 | ~한다 |
|---|---|
| 앞에 벽이 있을 때 | 오른쪽으로 돈다 |
| 앞에 사람이 있을 때 | 손을 흔든다 |
| 수건 위에 서 있을 때 | 한 번 점프한다 |
| 그 밖에는 | 한 걸음 앞으로 간다 |
마지막 줄은 "그 밖에는" 규칙입니다. 다른 규칙이 하나도 맞지 않을 때 로봇이 할 일을 정해 줍니다. 이 규칙이 없으면 로봇은 무엇을 해야 할지 몰라서 그냥 서 있습니다. 많은 아이가 이것을 스스로 알아내는데, 프로그램에 왜 "그 밖의 모든 경우"를 위한 규칙이 필요한지 이야기해 보기에 아주 좋은 순간입니다.
규칙의 순서가 중요한 이유
이제 쿠션 벽 바로 앞에 사람을 세워 봅니다. 앞에 벽이 있고, 사람도 있습니다. 로봇은 어느 규칙을 따를까요?
간단한 법칙 하나를 정합니다. 로봇은 규칙을 위에서부터 읽고, 처음으로 맞는 규칙을 따른다. 그런 다음 두 줄의 자리를 바꿔 봅니다.
- "벽 → 오른쪽으로 돈다"가 먼저면, 로봇은 손을 흔들지 않고 돌아서 가 버립니다.
- "사람 → 손을 흔든다"가 먼저면, 로봇은 손을 흔들고 나서 그 자리에서 계속 손을 흔듭니다. 사람이 아직 앞에 있으니까요.
아이들은 같은 규칙이라도 순서가 다르면 결과가 달라진다는 것을 봅니다. "어느 순서가 좋아? 왜?" 하고 물어보세요. 이 질문이 바로 프로그래머가 매일 하는 생각입니다.
로봇이 막혔을 때
머지않아 로봇은 구석에 들어가 빙글빙글 돌거나, 규칙에 나오지 않는 소파를 향해 곧장 걸어갑니다. 아이 대신 고쳐 주지 마세요. 대신 이렇게 물어보세요.
- "방금 로봇은 어느 규칙을 따르고 있었지?"
- "로봇이 틀린 걸까, 아니면 규칙에 빠진 게 있었을까?"
- "빠져나오려면 무엇을 더하거나 바꿀 수 있을까?"
그다음 규칙을 하나만 바꾸고 로봇을 다시 움직입니다. 이렇게 실수를 찾아 고치는 일을 디버깅이라고 합니다. 놀이가 잘못되었다는 신호가 아닙니다. 놀이에서 가장 쓸모 있는 부분입니다.
나이에 맞게 바꾸기
아래 나이는 대략적인 기준일 뿐이며, 아이마다 다릅니다.
- 4~6세: 그림으로 그린 규칙 한두 개. 어른이 로봇이 되어 실수를 재미있게 만들어 줍니다.
- 7~9세: 규칙 서너 개와 "그 밖에는". 부엌문에 도착하기 같은 목표를 로봇에게 주고, 벽은 아이가 놓게 합니다.
- 10~12세: 로봇 두 대를 동시에, 서로에 관한 규칙("앞에 로봇이 있을 때, 기다린다"), 또는 가장 적은 규칙으로 목표에 도착하는 도전.
Dologi의 "로봇 방"(만들기 코너)도 같은 방식입니다. 아이가 방 안의 작은 로봇들을 위해 "~일 때" 규칙을 쓰고, 규칙의 순서를 정하고, "그 밖에는" 규칙을 더한 다음, 재생 버튼을 눌러 어떻게 되는지 봅니다. 집에서 사람 로봇 놀이를 해 본 아이는 이 방식을 금방 알아보는 경우가 많습니다.
정리하면
- 한 사람이 로봇이 되고, 나머지는 "~일 때, ~한다" 규칙을 쓰며, 로봇은 그대로 따릅니다.
- 쿠션이 벽이 됩니다. 글을 읽지 못하는 아이는 규칙을 그림으로 그릴 수 있습니다.
- 로봇은 처음으로 맞는 규칙을 따르므로, 규칙의 순서에 따라 결과가 달라집니다.
- 로봇이 막히면 규칙을 하나씩만 바꾸어 다시 해 보세요. 그것이 디버깅입니다.
