Skip to main content
교사 포털

배경

버그 찾기! STEM Lab Unit은 123 로봇이 의도한 대로 수행하지 않을 때 프로젝트에 대해 이야기하고 수정할 수 있는 방법을 제공합니다. 학생들은 코드에서 버그의 개념에 대해 배우고 디버깅 프로세스를 통해 다양한 프로젝트에서 버그를 식별, 찾고 수정합니다. 이 디버깅 프로세스는 학생들이 123 로봇으로 코딩 문제에 직면할 때 스스로 문제를 해결할 수 있는 전략을 제공합니다. 

버그란 무엇인가요? 

버그는 로봇이 의도한 것과 다르게 동작을 수행하도록 만드는 코딩 프로젝트의 오류입니다. 버그는 어떻게 발생하나요? 로봇이 동작, 프로그래밍 언어 또는 기호가 동작을 나타내는 일련의 규칙을 수행하도록 만드는 데 사용됩니다. 이 장치에서 Coder 및 Coder 카드는 123 로봇의 프로그래밍 언어입니다. 각 코더 카드는 프로그래밍 언어에 의해 정의된 로봇 동작에 해당하는 명령입니다. 예를 들어, '드라이브 1' 코더 카드 (명령) 는 123 로봇이 1단계 앞으로 이동하게 합니다 (동작).

코더 카드가 정확하지 않으면 (예: 우회전 대신 좌회전) 로봇 행동이 우리의 기대와 일치하지 않습니다. 123 로봇의 동작을 변경하기 위해 프로젝트에 있는 명령 또는 코더 카드를 변경합니다. 학생들이 유닛 전체에서 버그와 디버깅에 대해 이야기할 때, 로봇의 동작과 프로그래밍 언어를 구성하는 Coder 카드 명령 사이의 연결을 구축할 수 있도록 도와주세요.

로봇은 우리가 하라는 대로만 하기 때문에 우리의 코드는 정확하고 정확해야 합니다. 신중한 프로젝트 계획은 버그를 방지하는 데 도움이 될 수 있지만, 디버깅은 코딩의 일반적인 부분이며 버그가 예상됩니다. 학생들은 첫 번째 시도에서 프로젝트를 완전히 맞추는 경우가 거의 없으므로 버그를 찾고 수정하는 것은 학생들이 123 로봇을 코딩하여 다른 일을 할 때 자주 학습하는 경험이 될 것입니다. 

프로젝트에 버그가 존재하는지 여부를 식별하기 위해, 학생들은 프로젝트가 실행될 때 의도된 동작과 로봇의 실제 동작을 비교할 수 있도록 프로젝트의 목표가 무엇인지 알아야 합니다. 버그 찾기에서! STEM Lab Unit, 123 로봇의 의도된 동작 애니메이션을 사용하여 학생들과 이 공유 목표를 수립할 수 있습니다. 로봇이 어떻게 움직이는지 지켜본 다음 자신의 타일에서 그 경로를 추적하거나 큰 소리로 경로를 말할 수 있습니다. 잠시 시간을 내어 디버깅 프로세스를 시작하기 전에 프로젝트의 목표를 검토하면 로봇이 해야 할 일에 대해 학생들이 모두 동일한 이해를 바탕으로 행동이 다른지 쉽게 식별할 수 있습니다. 

프로젝트 디버깅은 어떻게 하나요? 

디버깅은 프로젝트에서 버그를 식별, 발견 및 수정하여 123 로봇이 의도한 대로 작동하도록 하는 프로세스입니다. 프로젝트의 목표에 대한 명확한 아이디어를 통해 학생들은 3단계 프로세스를 수행하여 예기치 않은 동작이 발생하는지 확인하고, 예기치 않은 동작이 발생하도록 하는 프로젝트에서 Coder 카드를 찾고, 로봇이 의도한 대로 동작하도록 다른 Coder 카드를 사용하도록 코드를 수정할 수 있습니다. 

식별 - 찾기 - 디버깅 프로세스 수정 다이어그램. 세 단계는 삼각형이며, 화살표는 사이클 진행을 보여줍니다. 상단에는 식별: 로봇이 예상치 못한 행동을 하는 것은 무엇입니까? 라는 문구가 적혀 있습니다. 오른쪽 아래에는 Find: Where is the bug in the project that makes it happen? 이라는 문구가 적혀 있습니다. 왼쪽 하단에는 Fix: What Coder card is needed instead? (수정: 어떤 코더 카드가 필요한가요?) 라는 문구가 표시됩니다. 식별 – 찾기 – 수정의
디버깅 프로세스

교실에서는 어떤 모습일까요? 학생들과 함께 123 로봇으로 코드를 실행하기 전에 먼저 프로젝트의 목표를 반복하여 의도된 동작이 무엇인지 알고 있는지 확인해야 합니다. 

  • 식별 – 버그를 식별하기 위해 학생들은 프로젝트가 실행되는 동안 123 로봇을 시청해야 합니다. 로봇이 예상과 다른 방식으로 움직이는 것을 보았을 때, 그들은 그룹이나 교사에게 버그가 있음을 알릴 수 있습니다. 그런 다음 학생들은 '로봇이 좌회전해야 한다' 와 같이 무엇이 잘못되었는지 설명해야 합니다. 하지만 우회전했습니다. 또는 '1단계만 운전하면 되지만 2단계만 운전했습니다.' 프로세스의 다음 단계로 넘어가기 전에 그룹의 모든 구성원이 문제가 무엇인지에 대해 동의하는지 확인하십시오.
    • 프로젝트에 여러 버그가 있는 경우 번째 버그부터 시작하세요. 발견된 각 버그에 대해 별도로 디버깅 프로세스를 따르십시오.
  • 찾기 – 다음으로, 학생들은 자신의 프로젝트를 살펴보고 어떤 Coder 카드가 예기치 않은 동작을 유발하는지 찾아야 합니다. 학생들은 코더 카드의 아이콘을 읽거나 사용하여 '왼쪽' 또는 '오른쪽' 과 같은 키워드나 '1' 또는 '2' 와 같은 숫자를 찾아 프로젝트의 버그를 빠르게 식별할 수 있습니다. 버그를 찾기 위해 프로젝트를 실행해야 할 수도 있습니다. 123 로봇에서 실행 중인 Coder 카드가 Coder에 녹색 표시등으로 강조 표시됩니다. 
    • 코더의 단계 버튼은 학생들이 프로젝트 실행 속도를 늦출 수 있기 때문에 프로젝트에서 버그를 찾는 데 유용한 도구입니다. 따라서 123 로봇은 단계 버튼을 누를 때마다 각 코더 카드를 한 번에 하나씩 수행합니다. 이를 통해 학생들은 예상치 못한 동작이 발생할 때 실행 중인 Coder 카드를 보다 쉽게 확인할 수 있으므로 프로젝트에서 버그를 찾을 수 있습니다. 실습 2에서 학생들은 디버깅 프로세스의 일부로 단계 버튼을 사용합니다. 코더를 사용하여 프로젝트를 진행하는 방법에 대한 자세한 내용은 이 STEM 라이브러리 문서를 참조하십시오.
  • 수정 – 마지막으로, 학생들은 의도한 동작이 발생하도록 버그가 있는 Coder 카드를 변경하여 프로젝트를 수정해야 합니다. 예를 들어, 로봇이 좌회전 대신 우회전해야 하는 경우 '우회전' 카드는 프로젝트의 '좌회전' 코더 카드를 교체해야 합니다. 수정 사항이 적용되면 학생들은 프로젝트를 다시 실행하고 로봇과 코더가 버그를 올바르게 수정했는지 확인해야 합니다. 필요한 경우 디버깅 과정을 반복합니다. 

학생들이 첫 번째 시도에서 버그를 올바르게 수정하지 못할 수 있다는 것을 기억하는 것이 중요합니다. 디버깅은 로봇을 코딩할 때마다 참여하는 문제 해결 과정이므로 독립성이 커지면서 학생들이 편안하게 참여할 수 있는 것이 되어야 합니다. 

디버깅을 가르치기 위한 전략 및 팁에 대한 자세한 내용은 VEX Professional Development Plus (PD +) 의 인사이트 문서를 참조하세요. 

디버깅을 지원하기 위해 VEX 123에 내장된 시각적 신호

학생들이 프로젝트를 구축하고 실행할 때 시각적 피드백을 제공하는 기능이 VEX 123에 내장되어 있습니다. 터치 버튼을 사용할 때 '시작' 버튼은 누르고 있는 버튼의 색상을 표시하여 명령이 입력되었음을 표시합니다. Coder를 사용할 때 강조 표시 기능은 프로젝트 실행 방식에 대한 귀중한 피드백을 제공할 수 있습니다. '시작' 버튼을 사용하여 프로젝트를 처음부터 끝까지 실행하면 아래 애니메이션과 같이 123 로봇에서 실행 중인 코더 카드 옆에 하이라이트가 녹색으로 켜집니다. 이 추가 시각적 신호는 학생들이 로봇의 동작을 프로그래밍 언어의 Coder 카드 명령에 구체적인 방식으로 연결하는 데 도움이 될 수 있습니다.

동영상 파일

실험실 2에서와 같이 '단계' 버튼을 사용할 때 프로젝트는 한 번에 하나의 코더 카드를 실행합니다. 강조 표시는 실행 중인 Coder 카드 옆에서 계속 녹색으로 켜지며, 아래 애니메이션과 같이 프로젝트에서 실행할 다음 Coder 카드 옆에서 노란색으로 켜집니다.

동영상 파일

다음에 어떤 Coder 카드가 있는지를 나타내는 노란색 하이라이트를 추가하면 학생들에게 귀중한 시각적 신호뿐만 아니라 예측과 대화의 기회를 제공합니다. 프로젝트를 진행하는 동안 학생들은 각 코더 카드가 실행되기 전에 123 로봇이 어떤 동작을 할지 예측할 수 있습니다. 로봇의 동작을 관찰하면서 실제 동작을 예상 동작과 비교하고 함께 디버깅에 참여할 수 있습니다. 학생들이 서로 다른 예측을 하는 경우, 특정 행동이 발생할 것이라고 생각하는 이유와 이러한 행동이 프로젝트의 Coder 카드와 어떻게 연결되는지에 대해 이야기할 때 귀중한 학습 순간이 될 수 있습니다.

디버깅을 중심으로 긍정적인 교실 문화 조성

학생들이 프로젝트 테스트와 디버깅 프로세스에 진정으로 참여하기를 원한다면, 처벌이 아닌 생산적인 것으로 오류를 구성하는 더 넓은 교실 문화를 갖는 것이 매우 중요합니다. 오류를 숨기려고 하거나 다른 사람들과 논리를 이야기하는 것을 두려워하는 경우 디버깅 프로세스가 훨씬 더 어렵고 학습에 덜 유용할 것입니다. 코딩 프로젝트의 버그는 배우고, 문제 해결에 참여하고, 공동의 목표를 향해 다른 사람들과 협력할 수 있는 좋은 기회입니다. 처음에 전체 프로젝트를 올바르게 코딩하는 경우는 드물기 때문에 디버깅은 컴퓨터 과학을 배우는 사람에게 코딩의 반복적 성격의 일부입니다. 한 그룹의 학생들이 교사와 함께 컴퓨터 주위에 모여 코딩 프로젝트를 완료하기 위해 함께 작업합니다.

학생과 교사가 프로젝트 오류와 수정 사항을 게시하여 반영하는 "벌레 박물관" 또는 "벌레 명예의 전당"1과 같은 실수를 축하하는 방법에는 여러 가지가 있습니다. 교사들은 벌레가 수업에 ‘발표‘ 될 때마다 플라스틱 벌레 장난감을 나눠줌으로써 학생들에게 벌레를 찾은 것에 대한 보상을 제공하여 디버깅을 필요하게 할 뿐만 아니라 재미있게 만들었습니다! 학생들이 자신의 종이 버그 컷아웃을 그리거나 색칠하여 프로젝트에 버그가 있음을 나타내는 지표로 사용할 수 있습니다. 이렇게 하면 학생 그룹이 다른 학생을 구두로 방해하지 않고 디버깅하고 있다는 시각적 신호를 줄 수 있습니다. 버그를 어떻게 발표하든, 중요한 부분은 발견을 축하하고 학생들이 문제를 해결할 수 있게 한 지속적인 문제 해결을 강조하는 것입니다! 

버그 찾기! 의 디버깅 프로세스 STEM Lab Unit은 Touch, Coder 또는 VEXcode 123과 같은 모든 코딩 방법과 함께 사용할 수 있습니다. VEX 123 인쇄물은 학생들이 프로젝트를 디버깅할 때 사용할 수 있는 유용한 도구가 될 수 있습니다. 예를 들어, Touch 버튼으로 코딩할 때 학생들이 컬러 인 프로젝트 계획 및 모션 플래닝 인쇄물을 사용하여 코드에서버그를 찾으려고 할 때 검토할 Touch 프로젝트를 시각적으로 표현할 수 있도록 하는 것이 도움이 될 수 있습니다. 또한 인쇄 가능한 터치 버튼은 학생들이 프로젝트를 수정하는 방법을 알아낼 때 조작할 수 있는 실질적인 항목을 제공하므로 프로젝트를 계획하거나 수정하는 데 유용한 도구가 될 수 있습니다. 이 단위를 다른 코딩 방법에 맞게 조정하는 방법에 대한 자세한 내용은 단원 개요의 대체 코딩 방법 페이지를 참조하십시오.

어떤 코더 카드가 필요하신가요? 

다음은 이 유닛에 사용되는 주요 코더 카드 목록입니다. 장비를 완료하는 데 필요한 다른 코더 카드가 표 뒤에 나열되어 있습니다. 학생들에게 Coder 카드를 구성하고 배포하는 방법에 대한 자세한 내용은 각 실습의 요약의 환경 설정 섹션을 참조하십시오.

카드 행동 예시
123 코더 카드를 시작할 때 코더의 ‘시작‘ 버튼을 누르면 프로젝트를 시작합니다.   
드라이브 123 로봇은 로봇 길이 1 개 또는 123 필드의 사각형 1 개를 앞으로 구동합니다. 하단 중앙 사각형에 123 로봇이 있는 123 타일의 하향식 보기. 빨간색 화살표는 로봇 앞쪽에서 정사각형 1로 이동하며 드라이브 1 코더 카드의 움직임을 나타냅니다.
드라이브 2 코더 카드 123 로봇은 2 개의 로봇 길이 또는 123 필드의 2 개의 사각형에 대해 앞으로 주행합니다. 하단 중앙 사각형에 123 로봇이 있는 123 타일의 하향식 보기. 빨간색 화살표는 로봇의 앞쪽에서 정사각형 2개 앞으로 이동하여 드라이브 2 코더 카드의 움직임을 나타냅니다.
좌회전 코더 카드 123 로봇이 왼쪽으로 90도 회전합니다. 중앙 광장에 123 로봇이 있는 123 타일의 하향식 전망. 회전 왼쪽 코더 카드의 움직임을 나타내는 빨간색 화살표가 앞쪽에서 왼쪽으로 90도까지 로봇 주위를 휘고 있습니다.
우회전 코더 카드 123 로봇이 오른쪽으로 90도 회전합니다. 중앙 광장에 123 로봇이 있는 123 타일의 하향식 전망. 빨간색 화살표가 로봇의 앞쪽에서 오른쪽으로 90도 곡선을 그리며 회전 오른쪽 코더 카드의 움직임을 나타냅니다.

모션, 사운드 또는 룩 카테고리의 추가 코더 카드를 사용하여 실험실에서 학생들에게 추가 디버깅 기회를 제공할 수 있습니다. Coder 카드의 전체 목록과 동작은 STEM 라이브러리의 VEX Coder 카드 참조 가이드 문서를 참조하십시오.

이 단원에서 코더와 함께 가르치기 위한 전략

코더는 학생과 교사가 실험실 활동 전반에 걸쳐 코드를 쉽고 실질적으로 공유할 수 있는 기회를 제공합니다. 

사전 또는 초기 독자 지원 — Coder 카드는 카드 자체의 단어를 나타내는 아이콘을 사용하여 사전 독자 또는 초기 독자를 지원하도록 설계되었으므로 학생들은 아직 단어를 읽을 수 없는 경우 이미지를 기본적으로 읽을 수 있습니다. 학생들에게 이 아이콘 이미지를 사용하여 프로젝트를 구축하고 디버깅하는 데 도움이 되도록 격려한다. "녹색 화살표가 있는 The When start 123 Coder card, always goes first." 와 같이 학생들과 함께 Coder 카드의 이름을 지정할 때 Coder 카드의 이미지를 참조하여 이를 보강하십시오. 

세 개의 코더 카드는 가로 행에 있으며, 각 카드의 오른쪽에 있는 아이콘이 빨간색 상자에 강조 표시되어 각 카드의 이름과 기능에 대한 그래픽 표현에 주의를 환기시킵니다. Coder 카드의
이미지

화이트보드와 마찬가지로 코더 사용 — 코더 카드가 코더에 로드되면 학생들은 수학 솔루션이 있는 화이트보드를 들고 있는 것처럼 코더를 들고 코드를 표시할 수 있습니다. 버그 찾기 중! STEM Lab Unit, 이 전략은 학생들이 각 디버깅 활동에 대해 버그가 있는 코드를 정확하게 재현했는지 확인하기 위한 수단으로 사용될 수 있습니다. 올바른 코더 카드가 사용되었는지, 적절한 순서로 삽입되었는지 빠르고 쉽게 확인할 수 있으며, 카드가 거꾸로 뒤집히거나 뒤집히지 않았는지 확인할 수 있습니다. 각 슬롯의 숫자를 사용하여 "슬롯 번호 2를 확인하여 Coder 카드가 끝까지 삽입되었는지 확인하십시오" 와 같은 말로 코드의 특정 부분에 대한 학생들의주의를 환기시킬 수 있습니다.

코더를 교육 도구로 사용하는 방법에 대해 자세히 알아보려면 KB의 이 도움말을 참조하세요.

코더 문제 해결

코더 및 코더 카드로 코딩하려면 필연적으로 몇 가지 문제 해결 및 디버깅이 필요합니다. 학습 과정의 중요한 부분이지만, 이 단원에서 접할 수 있는 가장 일반적인 문제에 대한 해결책은 다음과 같습니다.

  • 코더를 움직일 때 코더 카드가 떨어짐 — 학생들에게 코더 카드가 들어 있는 코더를 들고 있을 때, 옆으로 기울이지 말고 똑바로 들고 있으라고 상기시킵니다. 오른쪽 (또는 Coder의 열린 면) 으로 기울이면 Coder 카드가 빠질 수 있습니다. 좌우가 항상 어린 학생들에게 신뢰할 수 있는 것은 아니므로 코더를 어떤 방향으로도 기울이지 않도록 격려하십시오.

    VEX 코더는 상단 슬롯에 When start 123 카드와 슬롯 1에 부분적으로 삽입된 드라이브 1 코더 카드로 기울어집니다. 코더를 이동할 때
    코더 카드가 빠집니다.

     

  • 코더 카드의 방향이 잘못되었습니다 — 학생들에게 코더 카드가 올바른 방향으로 삽입되었는지 확인하도록 상기시키십시오. 코더 카드의 오른쪽 (또는 열린 면) 에 있는 사진과 단어 및 이미지를 표시하십시오. 카드가 뒤집히거나 뒤집힌 경우, 학생들에게 카드를 꺼내 올바른 방향으로 다시 삽입하게 한다.

    WHEN START 123 Coder 카드가 상단 슬롯에 올바르게 삽입되고 Drive 1 Coder 카드가 슬롯 1에 거꾸로 삽입된 VEX Coder.
    코더 카드 방향이 잘못되었습니다

     

  • 실행 시 Coder 카드 슬롯에 빨간색 표시등이 표시됨 — Coder 카드 옆에 빨간색 표시등이 나타나면 Coder 카드가 슬롯에 완전히 삽입되지 않을 수 있습니다. 학생들에게 코더 카드를 끝까지 밀어 넣거나 꺼내서 다시 삽입하도록 상기시킨다. 이에 대한 예시를 보려면 아래 애니메이션을 시청하세요.

    동영상 파일

Coder 사용 방법에 대한 자세한 내용은 Using the VEX 123 Coder Knowledge Base (VEX 123 Coder 기술 자료 사용) 문서를 참조하십시오.

1 Grover, Shuchi. K-12의 컴퓨터 과학: 프로그래밍 교육을 위한 A to Z 핸드북. Edfinity, 2020.