바이브코딩으로 배우는 디버깅, 초등학생도 이해하는 오류 찾기 놀이
AI에게 “장애물을 피하는 게임을 만들어 줘”라고 부탁했는데 캐릭터가 움직이지 않는다면 어떻게 해야 할까요? 실패했다고 지우기보다 어디에서 문제가 생겼는지 찾아보면 됩니다. 이 과정을 디버깅(Debugging)이라고 부릅니다.
‘바이브코딩으로 배우는 디버깅, 초등학생도 이해하는 오류 찾기 놀이’는 코딩 문법을 외우는 수업과 다릅니다. 아이가 탐정처럼 단서를 찾고, AI와 대화하며 프로그램을 고쳐 나가는 활동에 가깝습니다. 디버깅을 놀이로 접하면 실수를 두려워하지 않고 문제를 차근차근 해결하는 습관을 기를 수 있습니다.
디버깅은 컴퓨터 속 벌레를 잡는 일일까?
코딩에서 버그(Bug)는 프로그램이 예상과 다르게 움직이게 만드는 문제를 뜻합니다. 디버깅은 그 문제의 원인을 찾아 고치는 과정입니다.
예를 들어 캐릭터가 점프하지 않는다면 다음과 같은 원인이 있을 수 있습니다.
- 점프 버튼을 잘못 정했어요.
- 캐릭터를 움직이는 명령이 빠졌어요.
- 점프 높이가 0으로 설정됐어요.
- 게임이 시작되기 전에 코드가 멈췄어요.
디버깅은 정답을 한 번에 맞히는 활동이 아니라, 예상과 실제 결과를 비교하는 과정입니다. Code.org의 초등 과정도 미리 작성된 코드에서 문제를 찾고 수정하도록 구성하며, 이런 활동이 비판적 사고와 문제 해결 연습으로 이어진다고 설명합니다.
오류를 실패가 아닌 단서로 바라보기
아이가 만든 게임이 작동하지 않으면 “망했다”라고 느낄 수 있습니다. 이때 오류를 실패가 아니라 프로그램이 보내는 단서라고 알려주는 것이 좋습니다.
화면에 오류 문장이 나타났다면 무서운 경고가 아니라 “이 부분을 다시 살펴봐 주세요”라는 편지라고 생각할 수 있습니다. 오류 메시지를 읽고, 문제가 생긴 순간을 떠올리고, 방금 바꾼 내용을 확인하면 원인을 찾기가 쉬워집니다.
Code.org의 디버깅 수업도 새로운 기술을 배우는 과정에서 실패가 자연스럽다는 점을 익히도록 설계되어 있습니다.
초등학생을 위한 오류 찾기 5단계
1단계: 어떤 일이 일어났는지 말하기
“게임이 안 돼요”라고만 하면 원인을 찾기 어렵습니다.
다음처럼 눈에 보이는 현상을 구체적으로 말해 봅니다.
- 시작 버튼을 눌러도 화면이 바뀌지 않아요.
- 사과를 먹어도 점수가 올라가지 않아요.
- 방향키를 누르면 반대쪽으로 움직여요.
- 세 번째 문제에서 앱이 멈춰요.
문제를 정확하게 설명하는 순간부터 디버깅이 시작됩니다.
2단계: 원래 기대한 결과 적기
실제로 일어난 일과 기대한 일을 나란히 비교합니다.
기대한 결과: 당근을 먹으면 점수가 10점 올라간다.
실제 결과: 당근이 사라지지만 점수는 그대로다.
이렇게 정리하면 점수 계산 부분부터 확인해야 한다는 단서를 얻을 수 있습니다.
3단계: 한 번에 하나만 바꾸기
여러 부분을 동시에 수정하면 무엇이 문제였는지 알기 어렵습니다.
점수 숫자를 먼저 확인하고, 다음에는 충돌 조건을 살펴보는 식으로 한 번에 한 가지씩 시험해야 합니다. 작은 실험을 반복하면 원인을 더 빠르게 좁힐 수 있습니다.
4단계: AI에게 정확하게 질문하기
AI에게도 “고쳐 줘”라고만 말하지 않는 것이 좋습니다.
다음과 같이 상황을 자세히 알려주세요.
초등학생용 과일 모으기 게임을 만들고 있어. 사과에 닿으면 사과는 사라지는데 점수가 올라가지 않아. 점수는 10점씩 올라가야 해. 원인이 될 만한 부분을 세 가지로 나누어 설명하고, 가장 쉬운 확인 방법부터 알려 줘.
무엇을 만들었는지, 어떤 문제가 생겼는지, 원래 어떻게 움직여야 하는지를 함께 전달하면 더 쓸모 있는 답을 얻을 수 있습니다.
5단계: 수정한 뒤 다시 시험하기
AI가 알려준 코드를 붙여 넣었다고 끝난 것은 아닙니다.
게임을 처음부터 다시 실행하고 같은 행동을 여러 번 시험해야 합니다. 한 번은 제대로 움직여도 두 번째에는 오류가 생길 수 있기 때문입니다. Code.org의 AI 디버깅 수업도 AI와 함께 문제가 있는 코드를 단계별로 확인하고 이해하는 실습을 활용합니다.
집에서 즐기는 디버깅 놀이 4가지
오류 탐정 놀이
부모가 게임의 기능 하나를 일부러 바꿉니다. 아이는 어느 부분이 달라졌는지 찾아냅니다.
예를 들어 점프 높이를 너무 낮게 만들거나 제한 시간을 30초에서 3초로 바꿔 보세요. 찾은 이유까지 설명하면 관찰력과 표현력을 함께 기를 수 있습니다.
순서 카드 바로잡기
종이에 다음 명령을 한 장씩 적습니다.
‘문 열기’, ‘가방 메기’, ‘신발 신기’, ‘학교로 출발하기’
순서를 일부러 섞은 뒤 올바르게 배열해 봅니다. 프로그램도 명령 순서가 잘못되면 예상과 다르게 움직인다는 사실을 쉽게 이해할 수 있습니다.
버그 일기 쓰기
오류를 발견할 때마다 짧게 기록합니다.
발견한 문제 → 예상한 원인 → 바꾼 내용 → 결과
이 기록이 쌓이면 아이만의 해결 방법 책이 됩니다. 같은 오류를 다시 만났을 때 스스로 해결할 가능성도 커집니다.
친구에게 오류 설명하기
자신이 찾은 버그를 가족이나 친구에게 설명하게 해보세요. 원인을 말로 정리하는 동안 생각이 또렷해지고 놓쳤던 부분도 발견할 수 있습니다. Scratch는 아이들이 이야기와 게임을 만들면서 창의적으로 생각하고 체계적으로 추론하도록 돕는 학습 환경을 지향합니다.
부모가 정답을 바로 알려주지 않아야 하는 이유
아이가 막힐 때 코드를 대신 고쳐주면 결과는 빨리 완성됩니다. 하지만 아이는 문제를 추적하는 경험을 놓치게 됩니다.
“어디까지는 잘 움직였어?”, “마지막으로 바꾼 것은 무엇이야?”, “한 부분만 되돌려 보면 어떨까?”처럼 생각을 이끄는 질문을 해주세요.
완성된 게임보다 오류를 스스로 찾아낸 경험을 칭찬하는 것이 중요합니다. “실수했네”보다 “좋은 단서를 찾았네”라고 말하면 아이는 버그를 두려워하지 않게 됩니다.
AI의 답도 다시 확인해야 해요
AI는 오류의 원인을 잘못 짚거나 새로운 문제를 만드는 코드를 제안할 수 있습니다. 그래서 AI의 답은 정답지가 아니라 시험해 볼 가설로 받아들여야 합니다.
코드를 적용하기 전에는 기존 내용을 복사해 두고, 수정 후에는 버튼과 점수, 이동, 종료 조건을 다시 확인하세요. 이름, 학교, 연락처, 계정 비밀번호 같은 개인정보는 프롬프트나 코드에 입력하지 않아야 합니다.
바이브코딩에서 디버깅은 귀찮은 뒷정리가 아닙니다. 생각한 대로 움직이지 않는 이유를 찾고 더 나은 방법을 시험하는 핵심 학습 활동입니다. 아이가 오류를 발견했을 때 바로 답을 주기보다 탐정처럼 관찰하고 하나씩 확인하도록 도와주세요. 오늘 만난 버그 하나가 내일 더 복잡한 문제를 해결하는 힘으로 자랄 수 있습니다. 즐겁게 찾고, 고치고, 다시 실행해 보세요.