Skip to main content
교사 포털

배경

이 코딩 단원에서 학생들은 반복적 설계 과정을 탐구합니다. 학생들은 VEX GO 키트를 이용해 쓰레기를 수거하는 확장 장치를 만들어서 바다 오염이라는 현실적인 문제를 해결하는 방법을 탐구합니다. 이 단원의 각 수업은 확장 빌드의 강점과 약점을 분석하고 다음 디자인을 개선하기 위한 아이디어를 제시하는 것으로 끝납니다.

그레이트 퍼시픽 가비지 패치란 무엇인가?

그레이트 퍼시픽 가비지 패치는 매일 늘어나는 쓰레기 덩어리입니다. 이 빙산은 하와이와 캘리포니아 사이 태평양 어딘가에 떠 있으며, 텍사스 주 크기의 두 배에 달하는 지역에 걸쳐 있을 것으로 추정됩니다. 쓰레기는 플라스틱, 금속 및 기타 재료로 이루어진 단단한 덩어리로 떠다니며, 주변에는 흩어져 있는 파편들이 떠다닙니다. 이 단원에서 학생들은 태평양 거대 쓰레기 지대의 주변 쓰레기를 치우는 데 도움이 되는 코드 베이스 로봇의 확장 기능을 만드는 과제를 받습니다.

태평양 거대 쓰레기 섬에 대한 인포그래픽. 이 그림은 왼쪽 수면 위의 쓰레기 경로를 나타낸 도표이며, 전체 질량의 46%가 버려진 낚시 도구로 구성되어 있다고 나와 있습니다. 하단의 정보는 해당 지역의 대략적인 크기를 나타내며, 면적은 160만 km2 또는 9억 9,419만 3,000마일, 플라스틱 조각은 1조 8,000억 개, 쓰레기는 8만 톤이며, 모든 것의 99%가 플라스틱입니다. 다양한 유형의 플라스틱이 포함되어 있으며, 위치는 캘리포니아와 멕시코의 서쪽으로 표시됩니다.

엔지니어링 설계 프로세스

학생들은 엔지니어링 설계 프로세스(EDP)를 사용하여 코드 베이스 로봇에 대한 부착물을 설계하고 제작합니다. EDP는 엔지니어가 문제에 대한 해결책을 찾기 위해 사용하는 일련의 단계입니다. 종종 해결책에는 특정 기준을 충족하거나 특정 작업을 완수하는 제품을 설계하는 것이 포함됩니다.

EDP는 다음 단계로 나눌 수 있습니다. 정의 → 솔루션 개발 → 최적화.

  • 엔지니어링 문제 정의 성공 기준, 제약 또는 한계를 고려하여 해결해야 할 문제를 가능한 한 명확하게 명시하는 것이 포함됩니다.
  • 엔지니어링 문제에 대한 솔루션 설계는 여러 가지 가능한 솔루션을 생성하는 것으로 시작하며, 그런 다음 잠재적 솔루션을 평가하여 문제의 기준과 제약 조건을 가장 잘 충족하는 솔루션을 찾습니다.
  • 설계 솔루션 최적화 에는 솔루션을 체계적으로 테스트하고 개선하는 프로세스가 포함되며, 덜 중요한 기능을 더 중요한 기능으로 전환하여 최종 설계를 개선합니다.
EDP의 3단계를 나타내는 아이콘을 삼각형 모양으로 배치한 다이어그램입니다. 맨 위에는 물음표가 있는 겹쳐진 말풍선이 정의를 나타내고, 오른쪽 아래에는 연필이 쓰여진 목록이 개발 솔루션을 나타내고, 왼쪽 아래에는 돋보기가 최적화를 나타냅니다. 세 개의 아이콘을 연결하는 화살표는 단계 간 이동을 나타냅니다.

EDP는 순환적이거나 반복적 의 특성을 가지고 있습니다. 제품이나 공정을 만들고, 시험하고, 분석하고, 개선하는 과정입니다. 테스트 결과에 따라 새로운 반복 버전이 만들어지고, 디자인 팀이 결과에 만족할 때까지 계속 수정됩니다.

이 단원에서 학생들은 EDP를 사용하여 퍼레이드 수레를 구상하고, 계획하고, 제작합니다. 초기 구축 후, 그룹은 설계 기준과 제약 조건을 충족시키기 위해 기본 설계를 테스트하고 개선합니다. 이는 차세대 과학 표준(NGSS)에서 다루는 것과 동일한 엔지니어링 설계 프로세스입니다.

시퀀싱

시퀀스 동작이 수행되는 구체적인 순서입니다. 어떤 행동이나 사건은 순서대로 다음 행동으로 이어진다. 학생들이 로봇을 올바르게 코딩할 수 있도록 시퀀싱이 중요합니다.

로봇에게 정확하고 정밀하게 움직이는 방법을 알려주기 위해서는 분해와 순서화가 모두 필요합니다. 첫째, 미로를 탐색하는 방법과 같은 문제는 더 작은 단위와 동작으로 분해됩니다. 그리고, 이러한 행동을 식별한 후에는 올바른 순서로 정리해야 합니다. 이는 로봇이 코드에 명시된 대로만 움직이기 때문에 중요합니다.

학생들은 도전 구역을 돌아다니며 물건을 모으기 위해 코드베이스를 코딩합니다. 그들은 도전 영역을 탐색하기 위해 코드 베이스가 올바른 순서로 앞, 뒤, 왼쪽, 오른쪽으로 이동하도록 프로젝트에서 명령을 순서대로 배열해야 합니다.

  1. 앞으로 나아가다
  2. 오른쪽으로 돌다
  3. 앞으로 나아가다
코드 베이스는 VEX GO 필드에 놓여 있고, 로봇의 앞쪽에서 앞쪽을 가리키는 빨간색 화살표와 첫 번째 화살표의 끝에서 오른쪽을 가리키는 또 다른 화살표가 있어 로봇의 의도된 움직임을 나타냅니다.

분해

분해 복잡한 문제를 더 관리하기 쉽고 이해하기 쉬운 동작으로 분해하는 것을 포함합니다. 문제를 더 작은 부분으로 나누면 각 부분을 더 자세히 검토하고 더 쉽게 해결할 수 있습니다. 예를 들어, 학생이 로봇을 정사각형 모양으로 움직이게 하려면 로봇을 더 작은 명령으로 나누어야 합니다. 학생들이 명령을 더 작은 구성 요소로 분해하지 못할 수 있으므로, 분해 과정을 세부적으로 연습하는 것이 중요합니다.

정사각형 분해 1로 이동 정사각형 분해 2로 이동 정사각형 분해 3으로 이동
  1. 앞으로 나아가서 오른쪽으로 4번 돌면 됩니다.
  1. 앞으로 나아가서 오른쪽으로 돌자
  2. 앞으로 나아가서 오른쪽으로 돌자
  3. 앞으로 나아가서 오른쪽으로 돌자
  4. 앞으로 나아가서 오른쪽으로 돌자
  1. 50mm 앞으로 이동
  2. 오른쪽으로 90˚ 돌다
  3. 50mm 앞으로 이동
  4. 오른쪽으로 90˚ 돌다
  5. 50mm 앞으로 이동
  6. 오른쪽으로 90˚ 돌다
  7. 50mm 앞으로 이동
  8. 오른쪽으로 90˚ 돌다

의사코드란 무엇인가요?

의사코드는 코드에 대한 구두 및 서면 설명을 결합한 코딩의 약식 표기법입니다.

학생들은 종종 "추측하고 확인"하여 해결책을 찾을 수 있습니다. 하지만 이로 인해 프로그래밍 개념에 대한 개념적 이해가 구축되는 것은 아닙니다. 의사코드를 작성하면 학생들이 프로그래밍에 대한 피상적인 이해를 넘어 보다 개념적인 이해로 나아갈 수 있습니다. 의사코드는 학생들이 프로그래밍을 시작하기 전에 프로그래밍 솔루션에 대해 개념적으로 생각하도록 요구합니다. 교사는 학생들에게 다음과 같은 질문을 하여 학생들과 의사코드에 대해 논의해야 합니다.

  1. 그들은 프로젝트를 통해 무엇을 성취하고 싶어하는가?
  2. 프로젝트의 의도나 목표를 짧고 구체적인 진술로 어떻게 표현할 것인가?

이 예에서 학생들에게 로봇이 앞으로 이동하고, 벽을 감지하고, 오른쪽으로 회전한 후 다시 앞으로 이동하도록 하는 의사코드를 만들라고 하면 다음과 같습니다.

  1. 로봇을 벽에서 50mm 떨어질 때까지 앞으로 밀어 넣으세요.
  2. 로봇을 멈추세요
  3. 로봇을 90도 회전시키세요
  4. 로봇을 멈추세요
  5. 600mm 전진

의사코드가 만들어지면 학생들은 로봇에게 의사코드의 각 단계를 성공적으로 완료하는 방법을 지시하는 프로그래밍 코드를 만듭니다.

로봇 행동이란 무엇인가?

"행동"은 로봇이 무엇을 하고 있는지, 그리고 무엇을 해야 하는지 설명하는 매우 편리한 방법입니다. 앞으로 나아가는 것, 멈추는 것, 방향을 바꾸는 것, 장애물을 찾는 것 - 이것들은 모두 행동입니다.

학생들이 코딩 작업을 시작할 때, 로봇의 행동을 행동 측면에서도 생각해야 합니다. 학생들이 코딩할 때는 다음 단계를 따라야 합니다.

  • 로봇이 원하는 작업을 수행할 수 있도록 계획을 수립합니다.
  • 계획 내에서 행동을 파악하고 그 행동을 가능한 한 작게 만들도록 노력하세요.
  • 그 계획을 로봇이 따를 수 있는 프로젝트로 변환하세요.

계획은 로봇이 따라야 할 행동의 순서일 뿐이고, 프로젝트는 그 행동이 VEXcode GO로 변환된 것일 뿐입니다.

작업을 더 작은 행동으로 분해하고, 그 행동을 바탕으로 해결책을 구축하는 것은 다양한 과목에 적용할 수 있는 기술입니다.

VEXcode GO란 무엇인가요?

VEXcode GO는 VEX GO 로봇과 통신하는 데 사용되는 코딩 환경입니다. 학생들은 드래그 앤 드롭 인터페이스를 사용하여 로봇의 동작을 제어하는 VEXcode GO 프로젝트를 만듭니다. 각 블록의 목적은 ,, 라벨과 같은 시각적 단서를 사용하여 식별할 수 있습니다.

이 단원에서는 다음 VEXcode GO 블록이 사용됩니다.

[구동] - 드라이브트레인을 지정된 거리만큼 전진 또는 후진으로 이동합니다. 드라이브트레인이 어느 방향으로 움직일지 선택하고, 타원에 값을 입력하여 얼마나 움직일지 설정합니다.

방향 매개변수 드롭다운이 열려 있고 앞으로가 선택된 블록에 대한 VEXcode GO 드라이브입니다. 블록에는 100mm 앞으로 주행하라는 내용이 적혀 있습니다.
[드라이브 포] 블록

[회전] - 드라이브트레인을 주어진 각도만큼 좌우로 회전시킵니다. 드라이브트레인이 회전할 방향을 선택하고 타원에 각도를 입력하여 얼마나 움직일지 설정합니다.

방향 매개변수 드롭다운을 열고 오른쪽을 선택한 상태에서 블록을 위한 VEX코드 GO 회전. 블록에는 오른쪽으로 90도 회전하라는 내용이 적혀 있습니다.
[돌아가기] 블록

[주석] - 프로그래머가 프로젝트를 설명하는 데 도움이 되는 정보를 작성할 수 있습니다. 댓글은 프로젝트 자체나 이를 둘러싼 블록을 변경하지 않습니다.

VEXcode GO 주석 블록에는 '주석'이라고 적혀 있습니다.
[댓글] 블록

교실에서 VEXcode GO를 사용하려면 교사의 기기에 VEX Classroom 앱을 다운로드한 다음 VEX Classroom 앱 사용 문서의 단계에 따라 GO Brain 펌웨어를 업데이트하고, GO Brain의 이름을 바꾸고 위치를 찾는 방법, 교실에서 GO Brain의 배터리를 모니터링하는 방법을 알아보세요. VEXcode GO에 대한 자세한 내용은 VEX 라이브러리의 VEXcode GO 섹션 방문하세요.