수업 정보
학년: 8~12(13세 이상 학생만 수업에 참여할 수 있음)
강좌 시간: 1시간
사용 툴: 포크리
수업/교육 환경: 포트나이트를 구동할 수 있으며 인터넷이 연결되어 있는 장치를 1인당 1개씩 사용합니다. 컴퓨터실, 이동식 노트북 거치대가 있는 환경이 이상적입니다.
작성자 연락처
작성자: Steven Isaacs, Brian Dickman
Email: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
수업/교육 환경 설명
본 수업은 컴퓨터 공학 교육 주간 중 아워 오브 코드를 위해 디자인되었습니다.
단일 수업으로 이용해도 좋고, 다른 활동과 조합하여 대규모 프로젝트를 만들 수도 있습니다.
작성자 Steve Isaacs는 에픽게임즈 교육 프로그램 매니저입니다. 중등 교육자와 학생들이 교실에서 언리얼 엔진, 포크리, 트윈모션 등을 활용하도록 돕는 역할을 합니다. Steve는 에픽과 협력 전 목적 또는 선택을 기반으로 한 교육 환경으로서 게임 디자인과 개발을 가르쳐, 학생들이 콘텐츠와 프로젝트 옵션 면에서 학생이 관심사에 따라 여러 가지 접근 방식으로 수업 결과에 도달할 수 있는 기회를 제공했습니다.
작성자 Brian Dickman은 컴퓨터 공학 전공자로, 게임 개발 전문 스튜디오를 운영하며 인기 비디오 게임 안에서 오락 및 교육을 위한 콘텐츠를 제작하고 있습니다.
강좌 개요
장애물 코스는 1800년대부터 훌륭한 오락거리이자 신체적 능력을 시험하는 도구로 사용되었습니다. 일반적으로 장애물 코스는 시간이 제한되어 있는 경쟁이며, 플레이어는 많은 난관을 통과하며 코스를 완료해야 합니다. 플레이어는 속도, 힘, 민첩성, 때로는 노련함을 발휘해서 특정 장애물을 극복해야 합니다.
집, 외부, 학교, 캠프 등에서 나만의 장애물 코스를 만들어 본 적이 있나요? 사람이나 동물이 장애물 코스를 완주하려고 도전하는 프로그램이나 동영상을 본 적이 있나요?
이 수업에서는 포크리를 이용해 재미있고 난이도 높은 장애물 코스를 만들어 봅니다. 콜리전 감지, 이벤트 기반 디자인이라는 컴퓨터 프로그래밍 콘셉트를 이용해서 코스를 디자인할 것입니다.
제자리에, 준비, 시작!
목표 결과
학생들의 학습 성과는 무엇일까요?
필수 질문/중요 아이디어
학생들이 단순히 문법을 단독적인 기술로서 배우는 것이 아니라 의미 있는 활동의 일부로 컴퓨터 공학 콘셉트를 익힐 수 있는가?
포크리 활동을 통해 함수와 같은 컴퓨터 공학 콘셉트를 학습하면 코딩 환경에서 콘셉트를 이해하는 데 도움이 되는가?
학생들이 게임 메카닉을 통해 컴퓨터 공학 개념을 배울 수 있는가?
게임이라는 환경에서 컴퓨터 공학의 콘셉트를 소개하면 학생들의 학습 의지를 높이는 데 도움이 되는가?
학습 성과/목표
학생의 성과
컴퓨터 공학 개념으로서 콜리전 감지와 이벤트를 이해하고 이해한 내용을 보여줍니다.
콜리전, 트리거 장치, 이벤트에 대한 이해를 게임이라는 환경에서 활용합니다.
콜리전 감지, 이벤트, 트리거 장치를 조합한 도전으로 장애물 코스를 만듭니다.
학습 활동
콜리전과 이벤트 소개
컴퓨터 공학, 특히 게임에서는 오브젝트 사이에서 일어나는 콜리전(충돌)이 중요합니다. 오브젝트가 다른 액션과 콜리전을 일으키면 보통 이벤트가 발생합니다. 예를 들어 팩맨의 경우 팩맨이 점과 닿아 콜리전을 일으키면 플레이어가 점수를 받습니다. 팩맨이 유령과 닿으면 플레이어가 생명을 잃습니다. 파워업으로 인해 유령이 파란색이 되면 유령을 먹어 점수를 얻습니다. 이제 이해되실 겁니다.
프로그래밍에서 이벤트는 마우스 클릭(또는 콜리전)처럼 사용자 등이 취한 액션의 결과로 발생하는 액션입니다. 이벤트 핸들러는 이벤트를 처리하는 루틴으로, 프로그래머는 이것을 이용해 이벤트 발생 시 실행할 코드를 작성합니다.
- 출처 Computer Hope: Event
아래에 MakeCode Arcade의 블록 기반 코딩 예시가 나와 있습니다. 이 게임은 플레이어와 아이스크림 콘이 있습니다. 플레이어는 화면에서 이동하며 아이스크림을 먹으려고 시도합니다.
아래 코드에 따라 플레이어가 아이스크림(음식)과 겹치면(충돌하면) 몇 가지 이벤트가 트리거됩니다. 이 경우 플레이어는 점수를 받고(점수 1 변경), 아이스크림은 게임 보드에서 랜덤 위치로 이동하고, 카운트다운은 10초로 돌아가고, 플레이어는 다음 아이스크림 콘을 먹기 위해 도전할 수 있습니다.
실제 예시인 CollisionEvent를 Arcade MakeCode에서 확인할 수 있습니다.
연결: 수학과 컴퓨터 공학
콜리전 감지는 단순하거나 당연한 과정처럼 보일 수도 있지만, 아래와 같은 점을 고려해 봅니다.
모든 컴퓨터 이미지는 직사각형입니다. 이미지에서 보이는 콘텐츠가 직사각형을 완전히 채우지 않는다면 콜리전을 어떻게 감지해야 할까요? 예시 A의 콜리전에서 이미지는 충돌하지만 캐릭터와 장애물은 충돌하지 않습니다. 예시 B와 같이 원하는 결과는 구현하기 힘든 콘셉트입니다. 콜리전 감지는 기하학과 삼각법의 적용 방식을 살펴볼 수 있는 독특한 기회입니다.
활동
학생들은 포크리에서 장애물 코스를 건설합니다. 장애물 코스는 게임에서 이벤트를 트리거하는 콜리전 이벤트를 포함해야 합니다.
단계별 활동 과정은 교사 안내를 참조하세요.
학생은 학생 안내를 보고 작업하며 자신만의 장애물 코스를 만듭니다.
외부 자료
Computer Hope: Event definition
일반 매핑
1B-AP-10 시퀀스, 이벤트, 루프, 조건문이 있는 프로그램을 만듭니다.
1B-AP-12 기존 프로그램을 수정, 재구성, 자기 작품에 일부 통합하여 새로운 프로그램을 만들거나 고급 기능을 추가합니다.
1B-AP-15 프로그램 또는 알고리즘을 테스트하고 디버그(오류를 찾고 수정)하여 의도대로 작동하게 합니다.
2-AP-10 흐름도나 수도코드를 이용해 알고리즘으로 복잡한 문제를 해결합니다.
2-AP-13 문제와 하위 문제를 여러 부분으로 나누어 프로그램을 디자인, 구현, 검토합니다.
2-AP-17 여러 가지 실험 사례를 이용해 프로그램을 체계적으로 테스트하고 개선합니다.
3A-AP-13 학생의 사전 지식과 개인적 관심사를 활용하여 컴퓨터와 관련된 문제를 해결하는 알고리즘 프로토타입을 만듭니다.
3A-AP-16 실용적인 목적, 개인적 표현 수단, 사회적 문제 해결을 위해 이벤트로 지시를 시작하는 컴퓨터로 인공물을 디자인하고 반복적으로 개발합니다.
3A-AP-17 절차, 모듈, 목표 등의 구성물로 체계적인 분석을 통해 문제를 더 작은 요소로 분해합니다.
3A-AP-22 협업 도구를 사용해 팀 역할로 작업하며 컴퓨터 인공물을 디자인하고 개발합니다.
학제적 및 21세기적 연계
본 수업은 코딩/컴퓨터 공학 관련 분야를 다룹니다.
21세기적 연계
비판적 사고
창의력
협동
커뮤니케이션
기술적 소양
유연성
리더십
이니셔티브
사회적 스킬
수정과 조정
학생의 필요, IEP, 504 등에 맞춰 수정과 조정을 제공합니다.
학생은 팀으로 작업하여 협동식 프로그래밍 접근법을 이용할 수 있습니다.
학생들이 분해/수정할 수 있는 샘플 맵을 제공해도 좋습니다.
필요시 적응형 컨트롤러/게임 컨트롤러를 제공합니다.