SPIKE™ Prime with Python

AI 개념의 시작: 주차장

학생들이 자율 주차가 가능하도록 자동차를 프로그래밍하는 방법을 조사합니다

90-120분
고급
초3-중3학년

탐색을 위한 질문

• 자율 주행 차량을 만들 때 수학 함수가 어떻게 도움이 될 수 있을까요?

준비

• 스파이크 프라임 허브가 충전되어 있는지 확인하세요(특히 블루투스로 연결되어 있는 경우).
• 학생들이 ‘AI 개념의 시작: 움직이게 만들어요’ 수업에 사용되었던 드라이빙 베이스 모델을 갖고 있는지 확인하세요.

관심유도

(그룹 토의, 10분)

자율 주행 차량(특히 자율 주차를 중심으로)에 대한 논의를 통해 학생들의 관심을 불러일으켜주세요.

스스로 알아서 주차를 하는 차량의 동영상 또는 이미지를 보여주고, 이러한 차량이 어떻게 작동하고 현재 어떻게 사용되고 있는지에 대해 학생들과 이야기를 나눠보세요.

자율 주차 자동차의 사례를 중점적으로 보여주세요. 자동으로 평행 주차를 할 수 있는 자동차 모델이 실제로 몇 가지 존재합니다. 이러한 차량의 작동과 관련하여 센서가 어떤 역할을 하는지를 토의에 부치세요.

탐구

(소규모 그룹, 45분)

학생들이 아무 도움 없이 주차가 가능한 드라이빙 베이스를 계획하고 프로그래밍합니다.

각 팀별로 주차 공간(1-12)이 어디이고 어느 길로부터 주차 공간에 진입해야 할지를 지정해주세요.

학생들에게 주차장 그림을 보여주세요. 예시된 이미지를 사용해도 되고, 바닥에 테이프를 붙여서 비슷하게 만들어도 무방합니다. 모든 학생이 학급 토론 중에 주차장을 볼 수 있어야 하므로 아마도 오버헤드 프로젝터를 통해 사진을 보여주는 편이 한결 간편할 것입니다.

Unit_9_Lesson_5_Parking_Lot.jpg

학생들과 함께 규칙을 검토하세요.
• 두 대의 차량이 동시에 주차장에 진입해야 합니다.
• 어느 차도 주차 공간이 아닌 곳에서 멈출 수 없습니다
• 차량이 주차장에 진입하는 순간부터 그 누구도 차에 손을 댈 수 없습니다.
• 주차 공간에서 후진하여 나오는 경우에 한해 차를 후진 이동할 수 있습니다.
• 자동차가 일부분이라도 선을 넘어서는 안 됩니다.

어떻게 해야 두 대의 차를 안전하게 주차할 수 있을지를 학급 전체 토의에 부치세요. 차량이 서로 지나쳐 가야 하는 경우에 어떤 일이 발생하는지를 고려해야 합니다. 한 번에 한 쌍의 자동차가 동시에 진입하게 하세요.

주차 과제
이제부터 학생들이 다른 차량과 충돌하지 않고 지정된 공간에 자율 주차하도록 차량을 프로그래밍할 것입니다.

드라이빙 베이스에 거리 센서를 추가할 때 센서가 아래를 향하도록 해야 한다는 점을 알려주세요. 필요에 따라 학생들이 자유롭게 앱의 조립 섹션을 참조하여 아이디어를 찾아볼 수 있습니다.

학생들에게 파이썬 프로그래밍 캔버스에서 새 프로젝트를 열게 하세요. 혹시 프로그래밍 영역에 이미 코드가 들어 있다면 일단 그것부터 다 지우고, 허브를 연결하게 하세요.

학생들에게 시간을 주고, 차량의 주차 기능을 프로그래밍하게 하세요. 아울러 학생들에게 프로그램에 다음 요소가 포함되어야 한다는 점을 알려주세요.
• 주차장의 전체 길이를 다 사용해야 합니다.
• 두 개 이상의 수학 함수를 사용해야 합니다.
• 거리 센서를 사용해야 합니다.

학생들에게 로봇을 프로그래밍하고, 두 팀이 협력하여 자율 주행 차량이 주차를 완벽하게 마치도록 해보라고 하세요.

설명

(전체 그룹, 15분)

프로그램이 어떻게 작동했는지에 대해 학생들과 이야기를 나눠보세요. 이런 질문을 던져보세요.
• 학생들에게 올바른 주차 공간으로 이동할 방법을 어떻게 정했는지 설명해달라고 하세요. 빈 주차장과 꽉 찬 주차장 중에서 어느 쪽에 주차하기가 더 쉬웠나요? 그게 중요한 요소였나요?
• 극복하기 가장 어려웠던 문제가 무엇이었나요?
• 과제의 어떤 부분이 쉬웠나요?

다듬기

(소규모 그룹, 15분)

이제 모든 로봇이 주차장에 자리를 잡았고, 어느덧 다시 떠날 때가 되었습니다. 아래의 주차장 이탈 시나리오 중 어느 것을 선택할지 학급의 전원이 상의하여 결정을 내리세요.
A. 모든 로봇이 원래 진입했던 순서대로 원래 진입했던 길 쪽으로 나갑니다.
B. 모든 로봇이 원래 진입했던 순서의 역순으로 원래 진입했던 길의 반대쪽 길 쪽으로 나갑니다.
C. 모든 로봇이 동시에 함께 움직이며 큰 길을 향해 나갑니다.
D. 홀수 번호의 공간에 주차한 모든 로봇이 동시에 움직이며 큰 길을 향해 나가고, 그 뒤를 따라서 짝수 번호의 공간에 주차한 모든 로봇이 동시에 움직이며 A 길 쪽으로 나갑니다.

학급의 전원이 상의하여 시나리오를 선택하게 하세요. 그 다음, 유사 코드를 작성하고 로봇을 프로그래밍하세요. 뒤이어 모두가 준비를 마치는 대로 주차장을 세팅하고 모든 로봇의 주차장 이탈 기동을 시작하세요.

평가

(그룹 실습, 15분)

교사 관찰:
학생들과 프로그램에 대해 토의를 진행하세요.
이런 질문을 던져보세요.
• 어떻게 하였기에 문제의 해결을 위한 여러 가지 방법을 생각해낼 수 있었나요?
• 자율 주행 차량의 일부로 센서를 어떻게 사용할 수 있었나요?
• 프로그램에 수학 함수를 어떻게 통합할 수 있었나요?

자기 평가:
학생들에게 다음 질문에 대한 답을 기록장에 적으라고 하세요.
• 오늘 프로그램에 여러 개의 수학 함수를 사용하는 방법에 대해 무엇을 배웠는가?
• 좋은 팀원의 특성은 무엇이며, 오늘 내가 그중 몇 가지를 보여주었는가?
• 학생들에게 오늘의 시간 관리에 대해 1-3점 척도로 자기 평가를 해보라고 하세요.
• 학생들에게 오늘의 재료(부품) 관리에 대해 1-3점 척도로 자기 평가를 해보라고 하세요.

교사 지원

학생 과제:
• 센서와 모터를 사용하는 조건문을 프로그램에 사용합니다.
• 현실 세계의 문제에 센서를 적용합니다.

• 학생이 즉각 사용 가능한 상태의 스파이크 프라임 세트
• 스파이크 앱이 설치된 장치
• 주차장 – 프린트 출력 또는 바닥에 테이프 부착
• 학생용 기록장

CSTA
2-AP-18 Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
2-AP-12 Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
2-CS-02 Design projects that combine hardware and software components to collect and exchange data.
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms.
2-AP-13 Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.