Skip to main content
교사 포털

놀다

1부 - 단계별 설명

  1. 지시학생들에게 화성 착륙 지역의 모든 장애물을 코드베이스가 감지하도록 하는 프로젝트를 만드는 과제를 받게 될 것이라고 지시합니다. 학생들은 랩 1의 프로젝트를 기반으로 프로젝트를 확장하도록 권장됩니다.

    다음 애니메이션은 착륙 구역 클리어 챌린지에 맞춰 코드 베이스를 코딩할 수 있는 한 가지 가능한 방법을 보여줍니다. 

    다음 애니메이션에서는 로봇이 두 칸 앞으로 이동한 후 첫 번째 장애물을 피하기 위해 빛을 내고, 두 번째 장애물을 피하기 위해 빛을 내기 전에 오른쪽으로 90도 회전합니다. 그 다음, 로봇은 계속해서 전진하며 벽이나 장애물을 감지할 때마다 오른쪽으로 90도 회전하여 마침내 세 번째 장애물에 도달하고 장애물을 넘습니다.

    비디오 파일
  2. 모델VEXcode GO에서 프로젝트를 시작하는 방법을 학생들에게 알려주는 모델입니다.

    필요하다면 학생들에게 현장에서 프로젝트를 테스트하는 방법을 모델로 보여주세요.

    • "X"로 표시된 시작 지점에 코드 베이스를 배치하는 방법을 보여주세요.

      1부의 GO 경기장을 위에서 내려다본 모습. 시작 위치를 표시하는 기호와 장애물로 종이공 3개가 있다. 첫 번째 장애물은 시작 위치에서 바로 위 450mm에 위치하고, 두 번째 장애물은 시작 위치에서 위 300mm, 오른쪽 150mm에 위치하고, 세 번째 장애물은 시작 위치에서 위 150mm, 오른쪽 300mm에 위치합니다.
      1부 플레이 필드 설정
    • 로봇 앞쪽에 있는 눈 센서가 첫 번째 장애물을 향하고 있는지 확인하세요.

      종이공 장애물 근처에 있는 VR 로봇을 바라보는 GO 필드의 상단에서 본 모습입니다. 로봇이 장애물을 마주하고 있으며 점선은 눈 센서가 장애물을 감지할 수 있음을 나타냅니다.
      눈센서가 장애물을 향하고 있습니다
    • 필드에 코드 베이스를 배치하고 VEXcode GO에서 '시작'을 선택하여 프로젝트를 테스트합니다.

      VEXcode GO 도구 모음에는 Brain과 Step 아이콘 사이에 빨간색 상자로 시작 버튼이 표시되어 있습니다.
      프로젝트를 테스트하려면 '시작'을 선택하세요
    • 학생들은 코드베이스에서 장애물을 감지한 후 해당 장애물을 제거해야 합니다.
    • 학생들은 VEXcode GO 도구 모음에서 '중지' 버튼을 선택하여 프로젝트를 중지해야 합니다.

      단계 및 공유 아이콘 사이에 빨간색 상자로 표시된 중지 버튼이 있는 VEXcode GO 도구 모음입니다.
      '중지'를 선택하세요
    • 참고: 학생들이 무한 루프를 사용하는 경우, 중지 버튼을 선택할 때까지 코드 베이스는 중지되지 않습니다. 이 시나리오에서 학생들은 코드 베이스가 모든 장애물을 감지하거나, 장애물을 감지하지 못한 채 루프를 4번 반복하거나, 필드 가장자리에 갇히면 프로젝트를 중지합니다.
    • 일찍 끝내고 추가적인 도전이 필요한 그룹의 경우, 다양한 시작 지점을 실험해 보도록 하세요. 그 프로젝트는 아직 진행 중인가요?
  3. 촉진학생들이 프로젝트를 실험하는 동안 대화를 촉진합니다.
    • 이 과제를 위해 학생들이 수행하게 될 실험의 본질적인 부분인 시행착오에 대비하도록 준비시킵니다. 학생들과 함께 문제 해결 과정에 대한 구조를 확립하기 위해 배경 페이지의 문제 해결 주기 그래픽을 시각적 보조 자료로 활용할 수 있습니다.

    학생 문제 해결 주기를 보여주는 다이어그램입니다. 화살표는 순환이 반복됨을 보여줍니다. 이 사이클은 '문제 설명'으로 시작하고, '문제가 시작된 시기와 장소 파악', '편집 및 테스트', 마지막으로 반복하기 전에 '반성'으로 이어집니다.
    학생 문제 해결 사이클
    • 학생들이 프로젝트에서 [Forever] 블록이나 [Repeat] 블록이 있는 루프를 사용하지만 코드 베이스가 의도한 대로 움직이지 않는 경우, 루프 내부에 필요한 모든 블록이 없거나 루프 내부의 블록을 순서대로 배열하지 않아 코드 베이스가 의도치 않은 방향으로 움직일 수 있습니다.
      • 프로젝트 스테핑 기능을 사용하면 학생들이 프로젝트를 한 번에 한 블록씩 진행하여 프로젝트에서 각 블록이 어떻게 실행되는지 확인할 수 있습니다. 이를 통해 학생들은 프로젝트에서 루프가 어떻게 기능하는지 확인할 수 있으며, 어떤 블록이 오류를 발생시키는지 보여주는 시각적 피드백을 얻을 수 있으므로 디버깅을 보다 집중적이고 효율적인 프로세스로 만들 수 있습니다. For more information on how to use the Project Stepping feature, see the Stepping Through a Project in VEXcode GO VEX Library Article
    • 학생들에게 프로젝트를 진행할 때 강조 표시 기능을 사용하면 어떤 블록이 언제 실행되는지 확인할 수 있다는 점을 상기시켜 주세요. 다음 질문은 학생들이 하이라이트 기능을 사용하여 루프가 프로젝트 흐름에 어떤 영향을 미치는지 파악하도록 장려하는 데 사용할 수 있습니다.
      • 프로젝트에 루프가 있는 경우 하이라이트는 어떻게 움직이나요? 
      • 어떤 VEXcode GO 블록이 루프를 생성합니까?
      • 프로젝트에서 어떤 블록이 반복되나요?
    • 코드 베이스가 회전하지 않는 경우 학생이 [회전] 블록을 추가하지 않았을 수 있습니다. 로봇이 장애물을 감지하면 방향을 바꿀 수 있도록 [회전] 블록을 추가하는 방법을 학생들에게 알려주세요. 그렇지 않으면 코드 베이스는 그냥 앞으로 나아가다가 멈춥니다. 학생들이 각도에 익숙하지 않을 수 있으므로 60도, 90도, 120도 등 여러 각도를 실험해 볼 수 있도록 제공하는 것이 좋습니다. 
      • [회전] 블록의 입력 타원에서 회전 각도를 변경할 수 있다는 점을 상기시켜주세요. 회전 각도로 실험하는 경우 학생들에게 이 매개변수를 변경하면 코드 베이스의 움직임에 어떤 영향을 미치는지 물어보세요. 회전 각도를 늘리면 무슨 일이 일어날까? 그러면 코드 베이스의 움직임은 어떻게 바뀌나요? 이 변경으로 인해 코드 베이스가 더 많은 장애물을 감지하게 됩니까? 그렇지 않은 경우, 다른 회전 각도를 시도해 보세요.

    VEXcode GO Turn For 블록에는 '90도 우회전'이라고 적혀 있습니다. 숫자 입력 필드는 빨간색 상자로 강조 표시되어 사용자가 회전 값을 어떻게 변경할 수 있는지 보여줍니다.
    [Turn for] 블록에서 Turn Angle 변경

     

  4. 상기시키기학생들에게 이 과제에는 재미있는 탐험이 필요하며 시행착오의 반복이 있을 것이라는 점을 상기시켜주세요. 학생들은 프로젝트를 진행하면서 실험을 하게 되고, 코드에서 실수를 할 때마다 새로운 것을 배울 기회를 얻게 됩니다! 학생들이 코드에서 문제가 있는 부분을 식별하도록 돕고, 문제를 해결하기 위한 아이디어를 도출해냅니다.
    • 문제가 발생했나요? 엄청난! 코드의 어디에 문제가 있나요?  그 블록을 어떻게 바꿀 수 있나요? 
    • 다른 블록이 필요하신가요, 아니면 이 블록의 매개변수를 변경해야 하나요?
    • 지금까지 당신이 저지른 가장 싫은 실수는 무엇입니까? 그것으로부터 무엇을 배웠나요?

  5. 질문학생들에게 실제 화성 탐사선이 착륙하기 전에 루프와 눈 센서를 사용하여 지상의 장애물을 감지할 수 있는 방법은 무엇이라고 생각하는지 질문합니다.

중간 휴식 & 그룹 토론

모든 그룹 이 과제을 해결하기 위한 프로젝트를 실험해 본 후, 대화를 나누세요.

학생들에게 자신들의 프로젝트를 보여주고 코드 베이스가 무엇을 하는지 설명해 보라고 합니다. 이는 학생들의 진도를 확인하고 문제를 해결할 수 있는 기회입니다.

  • 귀하의 프로젝트에서 어떤 점이 잘 되었나요?
  • 프로젝트를 진행하면서 어떤 어려움을 겪었나요?

학생들이 루프를 사용하여 코드 베이스가 필드에 있는 장애물을 반복적으로 확인할 수 있다는 것을 이해하도록 합니다.

  • 코드 베이스가 여러 객체를 감지하도록 루프를 사용했나요? 그렇지 않은 경우, 참여 섹션에서 언급한 [영구] 및 [반복] 블록을 학생들에게 상기시켜주세요.
  • 루프를 사용한다면 어떻게 사용하는 걸까요? 그들은 프로젝트에서 루프를 만드는 데 어떤 블록을 사용합니까? 
  • 루프의 블록 순서는 코드 베이스의 동작에 어떤 영향을 미칩니까?
  • 일부 블록이 [영구] 또는 [반복] 루프에 없으면 어떻게 되나요? 그 블록은 반복될까요?

플레이 파트 2의 도전 변형에 대비하세요:

  • 장애물의 위치를 바꾸면 어떨까요? 이 프로젝트는 여전히 진행될까요? 왜? 또는 왜 안 되죠?

2부 - 단계별

  1. 지시학생들에게 화성 착륙 지역의 장애물을 옮기고 프로젝트 실험을 계속할 것이라고 지시합니다. 목표는 코드 베이스가 장애물의 위치가 바뀌더라도 필드에 있는 모든 장애물을 감지하도록 하는 것입니다! 루프와 [반복] 또는 [영구] 블록에 대해 배운 내용을 활용하여 프로젝트를 업데이트하도록 격려합니다. 아래 애니메이션을 시청하면 코드 베이스가 이러한 과제를 어떻게 완료하는지에 대한 한 가지 예를 볼 수 있습니다.

    다음 애니메이션에서는 로봇이 벽이나 장애물에 도달할 때까지 앞으로 주행한 다음 오른쪽으로 120도 회전하여 계속 앞으로 주행합니다. 이 패턴을 사용하면 로봇은 애니메이션에서 새로운 장애물 레이아웃과 함께 표시된 대로 장애물이 어디에 있든 결국 모든 장애물을 통과하게 됩니다.

    비디오 파일
    • 모든 객체가 감지되고 제거된 후에 애니메이션이 중지되지만 [Forever] 루프를 사용하면 프로젝트가 중지될 때까지 해당 루프에서 코드 베이스가 계속 실행됩니다.
  2. 모델학생들이 현장을 설정하고 프로젝트를 테스트하는 방법을 보여주는 모델입니다.
    • 먼저, 필드의 새로운 위치에 장애물을 놓는 방법을 보여주고 시작 지점을 선택하여 "X"로 표시합니다. 필드를 설정하는 한 가지 방법은 다음과 같습니다.

      예시인 Play Part 2 GO 필드의 위에서 본 모습. 시작 위치를 표시하는 기호와 장애물로 종이공 3개가 있습니다. Play의 두 번째 부분에서는 객체를 새로운 위치로 옮겨야 하지만 시작 위치는 동일하게 유지해야 합니다.
      플레이 파트 2 필드 설정 예제
      • 장애물과 코드 베이스가 준비되면 VEXcode GO에서 '시작'을 선택하여 프로젝트를 테스트할 수 있습니다.

        VEXcode GO 도구 모음에는 Brain과 Step 아이콘 사이에 빨간색 상자로 시작 버튼이 표시되어 있습니다.
        프로젝트를 테스트하려면 '시작'을 선택하세요
      • 학생들은 도구 모음에서 "중지" 버튼을 선택하여 코드 베이스를 중지해야 합니다.
      • 이 과제에 대한 가능한 해결책은 다양합니다. 참고를 위한 한 가지 예를 들면 다음과 같습니다.

        Forever 루프를 사용한 VEXcode GO 블록 솔루션의 예입니다. 이 프로젝트는 "시작하면 다음을 영원히 수행하세요: 앞으로 주행하고, 눈이 물체를 발견할 때까지 기다린 후 주행을 중지하세요"라는 내용으로 시작됩니다. 다음으로 범퍼를 빨간색으로 설정하고 3초간 기다린 후 범퍼를 끄고 오른쪽으로 120도 회전하여 무한 루프를 닫습니다.
        가능한 해결책
  3. 이 프로젝트를 테스트할 때 대화를 촉진합니다.
    • 학생들이 필드에 있는 모든 장애물을 감지하기 위해 코드 기반 반복 섹션을 만드는 데 도움이 필요하다면 참여 섹션에서 설명한 대로 [반복] 블록이나 [영구] 블록을 사용하도록 제안하고 프로젝트에서 이를 사용하는 방법을 보여주세요. 아래에 표시된 대로, 전체 프로젝트가 C 블록 안에 있는지 확인하도록 권장합니다.

    사용자가 VEXcode GO 솔루션 프로젝트에 Forever 블록을 추가합니다. Forever 블록은 스택의 맨 위에 놓으면 모든 블록을 감싸 안습니다.
    [영구] 블록 추가
    • 학생들이 프로젝트를 만들었지만 모든 물체를 감지하지 못하는 경우, 회전 각도를 실험해 보도록 독려하고 60도, 90도, 120도 등 실험할 수 있는 회전 각도를 제공하세요. 회전 각도는 코드 베이스의 움직임에 어떤 영향을 미칩니까?

    VEXcode GO Turn For 블록에는 '90도 우회전'이라고 적혀 있습니다. 숫자 입력 필드는 빨간색 상자로 강조 표시되어 사용자가 회전 값을 어떻게 변경할 수 있는지 보여줍니다.
    회전 각도 변경

    학생들이 프로젝트를 구축하는 동안 더욱 심도 있게 토론하도록 하여, 프로젝트를 반복하고 테스트하면서 자신의 생각을 공유하도록 합니다.

    • 프로젝트에서 코드 베이스가 가장 먼저 감지하는 장애물은 무엇입니까?
    • 코드 베이스는 장애물을 감지한 후 무엇을 하나요? 이런 일을 하기 위해 어떤 블록을 사용했나요?
    • 하나의 장애물을 제거한 후 코드 베이스가 다음 장애물로 이동하도록 하기 위해 어떤 블록을 사용하셨나요? 
    • 귀하의 프로젝트에서는 어떻게 코드 베이스가 랜딩 영역 전체를 정리합니까?
  4. 상기시키기학생들에게 시험을 같은 지점에서 시작하도록 상기시킵니다. 그들은 단지 한 가지 변수, 즉 장애물의 위치만 바꾸고 싶어합니다.
    • 또한, 학생들에게 코드 베이스의 눈 센서가 첫 번째 장애물을 향하도록 먼저 배치하라고 상기시켜 주세요. 이렇게 하면 코드 베이스가 첫 번째 장애물까지 빠르게 이동할 수 있고 학생들은 프로젝트에서 즉각적인 성공을 거둘 수 있습니다.

      종이공 장애물 근처에 있는 VR 로봇과 GO 필드를 위에서 내려다본 모습. 로봇이 장애물을 마주하고 있으며 점선은 눈 센서가 장애물을 감지할 수 있음을 나타냅니다.
      눈센서가 장애물을 향하고 있습니다

    필요에 따라 학생들에게 문제 해결 전략을 상기시켜줍니다. 

    • 코드 베이스가 응답하지 않으면 Brain의 연결을 끊었다가 다시 연결하여 다시 시도해 보세요.  코드 베이스를 구동하는 턴 사이에 너무 많은 시간이 경과하면 이런 일이 발생할 수 있습니다.
    • If students are having trouble connecting their Code Base to their computer or tablet, view the Connecting articles in the VEXcode GO VEX Library, to see details on how to connect the Code Base to the device being used. 
    • If groups are having trouble starting their project in VEXcode GO, refer to the Starting a Project in VEXcode GO VEX Library article, to see the steps necessary to successfully start a project.
    • Review the Using the VEX GO Sensors and the Coding with the VEX GO LED Bumper articles for additional information on the Eye Sensor and the LED Bumper.
  5. 질문학생들에게 도전 과제를 진행하는 동안 프로젝트가 어떻게 바뀌었는지 생각해 보라고 합니다.
    • 연구실을 시작한 이후 지금까지 프로젝트가 어떻게 바뀌었나요?
    • 프로젝트를 더 잘 작동시키기 위해 어떤 점을 바꾸었나요?
    • 어떤 변화를 주었기에 성공적이지 못했나요? 어떻게 고쳤나요?